MXF AVC-Intra 100 makes MXF4Mac Player crash

253 views
Skip to first unread message

in...@opsomai.com

unread,
May 13, 2014, 12:10:54 PM5/13/14
to ffmbc-...@googlegroups.com
Hi,

I tried to generate a MXF AVC-Intra 100 file with rc9 from a XDCAM EX source. Here is the command line I used:

ffmbc-0.7-rc9-10bit -i int_s09_eps1_vi_60.mov -f mxf -target avcintra100 -vcodec libx264 -intra -pix_fmt yuv422p10le -b 100M -minrate 100M -maxrate 100M -bufsize 4M -aspect 16:9 -r 25 -force_fps -tff -acodec pcm_s16le -sample_fmt s16 -ar 48000 -ac 1 -timecode 10:00:00:00 -t 10 -y Tests/int_s09_eps1_vi_10_AVC-Intra100.mxf -acodec pcm_s16le -sample_fmt s16 -ar 48000 -ac 1 -newaudio -map_audio_channel 0:1:0:0:1:0 -map_audio_channel 0:1:1:0:2:0

I know that Baptiste said in a previous post that -b was not useful with avcintra100 target, but without bandwidth control I got a 22 Mb/s vbr file.

So the resulting file looks like an AVC-Intra 100 file and can be played with VLC. However, it makes MXF4Mac Player crash, whereas it plays back Episode's generated AVC-Intra 100 files.

Did I do something wrong? I am going to send my sample file to a client, in order to check if it fulfills his requirements, and I will post the result of this test.

Meanwhile, my sample AVC-Intra 100 file can be found there.

David

Baptiste Coudurier

unread,
May 13, 2014, 1:16:16 PM5/13/14
to ffmbc-...@googlegroups.com
Using any bandwith parameter will cause it the file to be not compliant.
Which OS are you on ?
Just using -target avcintra100 should be enough. Also you should use the 0.7 final.


--
You received this message because you are subscribed to the Google Groups "ffmbc-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ffmbc-discus...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Baptiste COUDURIER
Key fingerprint          8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
FFmpeg maintainer                           http://www.ffmpeg.org

in...@opsomai.com

unread,
May 13, 2014, 1:29:45 PM5/13/14
to ffmbc-...@googlegroups.com
I use CentOS 6. I am going to test the 0.7 final and post the result of my test.

Kieran Kunhya

unread,
May 14, 2014, 7:34:46 AM5/14/14
to ffmbc-...@googlegroups.com, in...@opsomai.com
(Author of AVC-I 100 here) Worth saying that MXF4MAC weren't at the DPP testing day so there may be issues with their implementation. The implementation in ffmbc should work universally though - it's been heavily tested.

Kieran

in...@opsomai.com

unread,
May 27, 2014, 6:54:12 AM5/27/14
to ffmbc-...@googlegroups.com, in...@opsomai.com
I am not sure that the problem comes from MXF4MAC, since I doubt my AVC-Intra movie is correct, although VLC plays it. I give all the details below, and a link to download the produced AVC-Intra file, but my problem is basically the following : whatever I do, I produce a 10Mb/s AVC-Intra 100 file, which seems weird. Looking at ffmbc log, it is perfectly normal, since it says:

Stream #0.0(und): Video: libx264, yuv422p10le, 1920x1080i tff [PAR 1:1 DAR 16:9], vbr, crf 23.00, 25.00 fps

Whereas it should be "cbr, 100Mbs"!

I spent hours on this format, but I really don't understand where I am wrong. I read a post from Baptiste saying that you should not use any bandwidth control otherwise your AVC-I file will not be compliant. So, what can I do? Help!

Here are the details:

- Generated MXF file: AVC-Intra100-Opsomai.mxf

- Command line and logs:

ffmbc-0.7-10bit -i Sources/int_s09_eps1_vi_60.mov -vcodec libx264 -intra -target avcintra100 -r 25 -tff -sample_fmt s16 -ar 48000 -ac 1 -timecode 10:00:00:00 -t 10  -y Tests/int_s09_eps1_vi_10_AVC-Intra100-2.mxf -acodec pcm_s16le -sample_fmt s16 -ar 48000 -ac 1 -newaudio -map_audio_channel 0:1:0:0:1:0 -map_audio_channel 0:1:1:0:2:0

FFmbc version 0.7
Copyright (c) 2008-2014 Baptiste Coudurier and the FFmpeg developers
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Sources/int_s09_eps1_vi_60.mov':
  Metadata:
    major_brand: qt  
    minor_version: 0
    compatible_brands: qt  
    encoder: FFmbc 0.7
  Duration: 00:01:00.00, bitrate: 34475 kb/s
    Stream #0.0(eng): Video: mpeg2video (Main), yuv420p, 1920x1080i tff [PAR 1:1 DAR 16:9], 35000 kb/s, 25.00 fps
    Metadata:
      video_timecode: 00:00:00:00
    Stream #0.1(eng): Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
[scale @ 0x1cee760] w:1920 h:1080 fmt:yuv420p -> w:1920 h:1080 fmt:yuv422p10le flags:0x4 il:0
[libx264 @ 0x1cb8ee0] using SAR=1/1
[libx264 @ 0x1cb8ee0] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
[libx264 @ 0x1cb8ee0] profile High 4:2:2 Intra, level 4.0, 4:2:2 10-bit
Output #0, mxf, to 'Tests/int_s09_eps1_vi_10_AVC-Intra100-2.mxf':
  Metadata:
    encoder: FFmbc 0.7
    Stream #0.0(und): Video: libx264, yuv422p10le, 1920x1080i tff [PAR 1:1 DAR 16:9], vbr, crf 23.00, 25.00 fps
    Stream #0.1(und): Audio: pcm_s16le, 48000 Hz, 1 channels, s16, 768 kb/s
    Stream #0.2(und): Audio: pcm_s16le, 48000 Hz, 1 channels, s16, 768 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1 [channel: 0 -> 0]
  Stream #0.1 -> #0.2 [channel: 1 -> 0]
Press [q] to stop, [?] for help
frame=  250 fps= 10 q=-1.0 Lsize=   14186kB time=00:00:10.00 bitrate=11620.8kbits/s               
video:11975kB audio:1875kB global headers:0kB muxing overhead 2.424886%
[libx264 @ 0x1cb8ee0] frame I:250   Avg QP:34.64  size: 49048
[libx264 @ 0x1cb8ee0] mb I  I16..4: 30.8% 64.5%  4.7%
[libx264 @ 0x1cb8ee0] field mbs: intra: 0.8%
[libx264 @ 0x1cb8ee0] 8x8 transform intra:64.5%
[libx264 @ 0x1cb8ee0] coded y,uvDC,uvAC intra: 39.4% 64.0% 8.0%
[libx264 @ 0x1cb8ee0] i16 v,h,dc,p: 52% 18%  5% 25%
[libx264 @ 0x1cb8ee0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 30% 21% 18%  4%  5%  5%  6%  5%  6%
[libx264 @ 0x1cb8ee0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 32% 26% 12%  4%  5%  6%  6%  4%  4%
[libx264 @ 0x1cb8ee0] i8c dc,h,v,p: 48% 19% 26%  8%
[libx264 @ 0x1cb8ee0] kb/s:9809.69

David

Baptiste Coudurier

unread,
May 27, 2014, 3:05:05 PM5/27/14
to ffmbc-...@googlegroups.com, in...@opsomai.com
David,

Can you please try ffmbc -i <file> -target avcintra100 -tff test.mxf alone
If it says vbr, your binary is not compiled correctly for some reason


--
You received this message because you are subscribed to the Google Groups "ffmbc-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ffmbc-discus...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

in...@opsomai.com

unread,
May 28, 2014, 4:45:50 AM5/28/14
to ffmbc-...@googlegroups.com, in...@opsomai.com
Hi Baptiste,

I made the test your proposed and it says "vbr":

    Stream #0.0(und): Video: libx264, yuv422p10le, 1920x1080i tff [PAR 1:1 DAR 16:9], vbr, crf 23.00, 25.00 fps

Furthermore, I get 2 new error messages, due presumably to the fact that I did not use the "intra" parameter :

[mxf @ 0x1e05f60] mxf muxer only supports AVC Intra currently
[mxf @ 0x1e05f60] could not get h264 profile and level

So, I am going to look at our compilation method, which has not changed for months, but it may be precisely the reason for our troubles. Our System Engineer updates libraries only when it is needed, in order to limit tests periods, but some of the libraries used by ffmbc may be too old now. I think of libx264 in particular. You will find below our main compilation parameters. You would be very kind to give us updates advices:

OS
OS : CentOS release 6.3 (Final)
Kernel : 2.6.32-279.5.2.el6.x86_64

Libraries
bzip2 : bzip2-1.0.6
LAME : lame-3.99.5
FAAC : faac-1.28
FreeType : freetype-2.4.11
x264 : x264-snapshot-20120919-2245
zlib : zlib-1.2.7

FFmbc Configure
./configure --prefix=/usr/local/ffmbc/ffmbc-0.7-x264-8bit-faac-zlib-freetype-lame-static --enable-gpl --enable-libx264 --enable-libfaac --enable-nonfree --enable-doc --enable-zlib --enable-libfreetype --enable-libmp3lame --enable-static --disable-shared --extra-libs=-static --extra-cflags='-I/tmp/codecs/include -static' --extra-ldflags='-L/tmp/codecs/lib -static'

Thanks

Phillip Blucas

unread,
May 28, 2014, 12:10:38 PM5/28/14
to ffmbc-...@googlegroups.com
That's an ancient x264 library.  AVC Intra was first added August 2013:

in...@opsomai.com

unread,
Jun 2, 2014, 12:52:52 PM6/2/14
to ffmbc-...@googlegroups.com
Thanks for this information Phillip. We compiled ffmbc 0.7 with a recent x264 library (2014-06-01), and we were able to generate a file that seems more compliant to the AVC-Intra standard. And my initial incompatibility with MXF4Mac issue is gone: MXF4Mac plays this new file fine!

My AVC-Intra test file can be found there: AVC-Intra100-Opsomai-2.mxf

I see 2 main differences between this file and AVC-Intra files that I got from Panasonic cameras:

- OP-1a MXF vs. OP-Atom (I guess that another tool must be used if you want to remux into an OP-Atom file)

- MediaInfo does not find any commercial name for my file's video codec whereas it says "AVC-Intra 100" for the native file. I tried to apply a "vtag" of "ai15", but it did not change anything.

Nevertheless, I am going to send this file to my client to see if it is compatible with his workflow.

Thanks again for your help
Reply all
Reply to author
Forward
0 new messages