Re: [FFmpeg-user] EVS compatible AVC Intra 100
Hello all, I finally solved this issue. First, the codec id is properly set when passing the arguments to ffmpeg directly instead of to lib264 using -x264opts. ffmpeg10bit -i source.mxf -coder 0 -map 0 -c:v libx264 -r 25 -g 1 -pix_fmt yuv422p10le -vb 100M -flags +ildct+ilme -tune psnr -color_range 2 -top 1 -avcintra-class 100 -color_primaries bt709 -color_trc bt709 -colorspace bt709 -vtag ai12 -c:a copy tmp.mxf That generates a mxf which seems to be correct with most software but I contacted EVS and the problem is they require an mxf with just one body partition in order to work. So, using bmx: bmxtranswrap --ps-avcihead --min-part -o target.avci100.mxf tmp.mxf With that, EVS finally accepted the file. Cheers, Victor De: ffmpeg-user <ffmpeg-user-boun...@ffmpeg.org> en nombre de Erik Dobberkau <erik.dobber...@gmail.com> Enviado: viernes, 27 de enero de 2017 11:00 Para: FFmpeg user questions Asunto: Re: [FFmpeg-user] EVS compatible AVC Intra 100 Am Mittwoch, 25. Januar 2017 schrieb Victor Diez : > > Thanks for the answers. > > > I didn't paste the output because I did not get any error. I already > checked with EVS and just wanted to make sure I got the "standard"AVC Intra > 100 parameters right and that I was not making any mistake before getting > back to them. > > > Erik, the mxf was one of my suspicions as well, that's why I rewrapped the > file with bmxtranswrap so I could get v1.3 instead of 1.2. > > > This is the output I'm getting, all seems ok to me. > > In principle if you guys can confirm me that nothing looks weird in my > command line for an AVC Intra 100 transcode that would be great so I can > check back with EVS more confidently :) > > Thanks, > Victor > > > Unfortunately I can't tell you if everything is okay because I have too little experience with transcoding to AVC-Intra. The variable framerate (bit being set) does seem an issue to me, I remember when doing something similar with XDCAM HD422 this was source of trouble. The bulletproof test of transcoding results is when you can put the result on an original medium (Pana P2 in your case) an play it back without issue from a standard player (or camera). Erik ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe". ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] EVS compatible AVC Intra 100
Hello all, I finally solved this issue. First, the codec id is properly set when passing the arguments to ffmpeg directly instead of to lib264 using -x264opts. ffmpeg10bit -i source.mxf -coder 0 -map 0 -c:v libx264 -r 25 -g 1 -pix_fmt yuv422p10le -vb 100M -flags +ildct+ilme -tune psnr -color_range 2 -top 1 -avcintra-class 100 -color_primaries bt709 -color_trc bt709 -colorspace bt709 -vtag ai12 -c:a copy tmp.mxf That generates a mxf which seems to be correct with most software but I contacted EVS and the problem is they require an mxf with just one body partition in order to work. So, using bmx: bmxtranswrap --ps-avcihead --min-part -o target.avci100.mxf tmp.mxf With that, EVS finally accepted the file. Cheers, Victor De: ffmpeg-user <ffmpeg-user-boun...@ffmpeg.org> en nombre de Erik Dobberkau <erik.dobber...@gmail.com> Enviado: viernes, 27 de enero de 2017 11:00 Para: FFmpeg user questions Asunto: Re: [FFmpeg-user] EVS compatible AVC Intra 100 Am Mittwoch, 25. Januar 2017 schrieb Victor Diez : > > Thanks for the answers. > > > I didn't paste the output because I did not get any error. I already > checked with EVS and just wanted to make sure I got the "standard"AVC Intra > 100 parameters right and that I was not making any mistake before getting > back to them. > > > Erik, the mxf was one of my suspicions as well, that's why I rewrapped the > file with bmxtranswrap so I could get v1.3 instead of 1.2. > > > This is the output I'm getting, all seems ok to me. > > In principle if you guys can confirm me that nothing looks weird in my > command line for an AVC Intra 100 transcode that would be great so I can > check back with EVS more confidently :) > > Thanks, > Victor > > > Unfortunately I can't tell you if everything is okay because I have too little experience with transcoding to AVC-Intra. The variable framerate (bit being set) does seem an issue to me, I remember when doing something similar with XDCAM HD422 this was source of trouble. The bulletproof test of transcoding results is when you can put the result on an original medium (Pana P2 in your case) an play it back without issue from a standard player (or camera). Erik ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe". ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] EVS compatible AVC Intra 100
Thanks for the answers. I didn't paste the output because I did not get any error. I already checked with EVS and just wanted to make sure I got the "standard"AVC Intra 100 parameters right and that I was not making any mistake before getting back to them. Erik, the mxf was one of my suspicions as well, that's why I rewrapped the file with bmxtranswrap so I could get v1.3 instead of 1.2. This is the output I'm getting, all seems ok to me. host:~$ ffmpeg10bit -i /mnt/file.mxf -coder 0 -map 0 -c:v libx264 -r 25 -g 1 -pix_fmt yuv422p10le -vb 100M -flags +ildct+ilme -tune psnr -x264opts avcintra-class=100 -x264opts colorprim=bt709 -x264opts transfer=bt709 -x264opts colormatrix=bt709 -x264opts tune=psnr -x264opts interlaced=1 -x264opts force-cfr=1 -x264opts fps=25/1 -vf "setfield=1" -c:a copy ~/test.mxf ffmpeg version n3.1.6-8-g6c96200 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3) configuration: --prefix=/usr --enable-gpl --enable-libx264 --enable-pthreads --enable-static --extra-cflags=-I./x264/include --extra-ldflags=-L./x264/lib --extra-libs=-ldl --progs-suffix=10bit libavutil 55. 28.100 / 55. 28.100 libavcodec 57. 48.101 / 57. 48.101 libavformat57. 41.100 / 57. 41.100 libavdevice57. 0.101 / 57. 0.101 libavfilter 6. 47.100 / 6. 47.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc54. 0.100 / 54. 0.100 Guessed Channel Layout for Input Stream #0.1 : mono Guessed Channel Layout for Input Stream #0.2 : mono Guessed Channel Layout for Input Stream #0.3 : mono Guessed Channel Layout for Input Stream #0.4 : mono Guessed Channel Layout for Input Stream #0.5 : mono Guessed Channel Layout for Input Stream #0.6 : mono Guessed Channel Layout for Input Stream #0.7 : mono Guessed Channel Layout for Input Stream #0.8 : mono Input #0, mxf, from '/mnt/file.mxf': Metadata: uid : 479ac510-b1ae-11e6-9a9c-002590e81d4f generation_uid : 479ac510-b1ae-11e6-9a9d-002590e81d4f company_name: OC product_name: OCTk product_version : 2.8 product_uid : 3a4fe380-0d01-11e4-869f-3cd92b5c1dfc modification_date: 2016-11-23 19:54:36 material_package_umid: 0x060A2B340101010501010D20130047998C90B1AE11E69A7F002590E81D4F timecode: 19:49:40:00 Duration: 00:00:24.00, start: 0.00, bitrate: 60781 kb/s Stream #0:0: Video: mpeg2video (4:2:2), yuv422p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 5 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc Metadata: file_package_umid: 0x060A2B340101010501010D20130047987B20B1AE11E69A64002590E81D4F Stream #0:1: Audio: pcm_s24le, 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s Metadata: file_package_umid: 0x060A2B340101010501010D20130047987B20B1AE11E69A64002590E81D4F Stream #0:2: Audio: pcm_s24le, 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s Metadata: file_package_umid: 0x060A2B340101010501010D20130047987B20B1AE11E69A64002590E81D4F Stream #0:3: Audio: pcm_s24le, 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s Metadata: file_package_umid: 0x060A2B340101010501010D20130047987B20B1AE11E69A64002590E81D4F Stream #0:4: Audio: pcm_s24le, 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s Metadata: file_package_umid: 0x060A2B340101010501010D20130047987B20B1AE11E69A64002590E81D4F Stream #0:5: Audio: pcm_s24le, 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s Metadata: file_package_umid: 0x060A2B340101010501010D20130047987B20B1AE11E69A64002590E81D4F Stream #0:6: Audio: pcm_s24le, 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s Metadata: file_package_umid: 0x060A2B340101010501010D20130047987B20B1AE11E69A64002590E81D4F Stream #0:7: Audio: pcm_s24le, 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s Metadata: file_package_umid: 0x060A2B340101010501010D20130047987B20B1AE11E69A64002590E81D4F Stream #0:8: Audio: pcm_s24le, 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s Metadata: file_package_umid: 0x060A2B340101010501010D20130047987B20B1AE11E69A64002590E81D4F [libx264 @ 0x27b6f60] using SAR=1/1 [libx264 @ 0x27b6f60] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2 [libx264 @ 0x27b6f60] profile High 4:2:2 Intra, level 4.1, 4:2:2 10-bit [mxf @ 0x2ac8960] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Last message repeated 8 times Output #0, mxf, to '/home/upop/test.mxf': Metadata: uid : 479ac510-b1ae-11e6-9a9c-002590e81d4f generation_uid : 479ac510-b1ae-11e6-9a9d-002590e81d4f company_name: OC product_name: OCTk product_version : 2.8 product_uid : 3a4fe380-0d01-11e4-869f-3cd92b5c1dfc modification_date: 2016-11-23 19:54:36 material_package_umid: 0x060A2B340101010501010D20130047998C90B1AE11E69A7F002590E81D4F
[FFmpeg-user] EVS compatible AVC Intra 100
Hello all, I'm trying to generate an AVC Intra 100 from an XDCAM 50 file. I already have compiled x264 with 10bit depth and seems to be correctly transcoding. The problem is that EVS doesn't seem to properly recognize it. Amberfin is working properly with the generated mxf however. This is my current command line: ffmpeg10bit -i xdcam50.mxf -map 0 -c:v libx264 -r 25 -g 1 -pix_fmt yuv422p10le -vb 100M -flags +ildct+ilme -tune psnr -x264opts avcintra-class=100 -x264opts colorprim=bt709 -x264opts transfer=bt709 -x264opts colormatrix=bt709 -x264opts tune=psnr -x264opts interlaced=1 -x264opts force-cfr=1 -x264opts fps=25/1 -vf "setfield=1" -c:a copy -f mxf avci100.mxf I even tried using bmxlib to rewrap the mxf, but no luck. This is the command line: bmxtranswrap --coding-eq 'bt709' --color-prim 'bt709' --transfer-ch 'bt709' -o avci100final.mxf avci100.mxf Also, when I compare the Media Info output from an EVS generated AVC Intra with my transcode, you can see this: EVS ffmpeg + bmx ID : 2 ID : 1001 Format : AVC Format : AVC Format/Info : Advanced Video Codec Format/Info : Advanced Video Codec Format profile : High 4:2:2 Intra@L4.1 Format profile : High 4:2:2 Intra@L4.1 Format settings, CABAC : No Format settings, CABAC : No Format settings, GOP : N=1 Format settings, GOP : N=1 Format settings, wrapping mode : Frame Format settings, wrapping mode : Frame Codec ID : 0D01030102106001-0401020201323102 Codec ID : 0D01030102106001-0401020201323001 Duration : 11 min Duration : 24s 240ms Bit rate : 100.0 Mb/s Bit rate : 100.0 Mbps Width : 1 920 pixels Width : 1 920 pixels Height : 1 080 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Display aspect ratio : 16:9 Frame rate mode : Variable Frame rate : 25.000 FPS Frame rate : 25.000 fps Standard : Component Color space : YUV Color space : YUV Chroma subsampling : 4:2:2 Chroma subsampling : 4:2:2 Bit depth : 10 bits Bit depth : 10 bits Scan type : MBAFF Scan type : MBAFF Scan type, store method : Interleaved fields Scan order : Top Field FirstScan order : Top Field First Bits/(Pixel*Frame) : 1.929 Bits/(Pixel*Frame) : 1.929 Stream size : 8.32 GiB (84%)Stream size : 289 MiB (91%) Title : PictureTitle : V1 Color range : Full Writing library : x264 core 148 r2705 3f5ed56 Encoding settings : cabac=0 / ref=1 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=0 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=18 / lookahead_threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=tff / bluray_compat=0 / constrained_intra=0 / bframes=0 / weightp=0 / keyint=1 / keyint_min=1 / scenecut=40 / intra_refresh=0 / rc=abr / mbtree=0 / bitrate=10 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=81 / qpstep=4 / ip_ratio=1.40 / aq=0 Color primaries : BT.709Color primaries : BT.709 Transfer characteristics : BT.709 Transfer characteristics : BT.709 Matrix coefficients : BT.709Matrix coefficients : BT.709 It's very similar but what worries me is the codec id, which both differ. And why Mediainfo is reporting variable frame rate with my transcode. You can also see the different essence comparing the output of mxf2raw -i: My transcode: essence_kind: Picture essence_type: AVC_High_422_Intra EVS AVC Intra 100: essence_kind: Picture essence_type: AVCI_100_1080i Do you know if there is any way in which I can get rid of those differences? Even though I'm not even sure those differences are the reason why EVS is not accepting my file. Anyone has experience with generating EVS compatible AVC Intra 100 files? Thank