Menu

Unable to create AVid AVCIntra100 file with bmxtranswrap

2015-04-27
2015-04-29
  • Phil Barnett

    Phil Barnett - 2015-04-27

    Hi,
    I've just been trying to create Avid flavoured MXF files from ffmpeg, via bmxtranswrap.

    I'm probably not quite getting the ffmpeg recipe correct, as when I try to use bmxtranswrap I get this error message

    C:\bmxtranswrap -t avid -p -o AVC test.mxf
    Warning: Track 0 essence type 'AVC High 4:2:2 Intra Unconstrained' @25/1 fps not supported by clip type 'Avid MXF'
    Warning: Ignoring track 0 (essence type 'AVC High 4:2:2 Intra Unconstrained')
    Info: Duration: 25 (00:00:01:00 @25fps)

    and I only get the audio files, but not video. Obviously I'm close, as bmx seems to recognise the essence as AVCIntra, but maybe some kind soul could point out what I've missed?
    Brand new versions of ffmpeg (compiled from git a couple of days ago, with libx264) and bmxtranswrap.
    Command line something similar to this
    x264.exe input.file --colorprim "bt709" --transfer "bt709" --colormatrix "bt709" --tune psnr --fps 25/1 --interlaced --force-cfr --avcintra-class 100 --output-csp i422 -o out.h264 only translated to ffmpeg ... (apologies, I forgot to make a note before I closed laptop in frustration!)
    Thanks
    Phil

     
  • Philip de Nier

    Philip de Nier - 2015-04-28

    These commands worked for me using an 8-bit UYVY input:

    ffmpeg \
        -s 1920x1080 \
        -pix_fmt uyvy422 \
        -f rawvideo \
        -i bars.uyvy \
        -pix_fmt yuv422p10le \
        -c:v libx264 \
        -preset slow \
        -tune psnr \
        -x264opts interlaced:colorprim=bt709:transfer=bt709:colormatrix=bt709:force-cfr:avcintra-class=100 \
        bars.mxf
    
    bmxtranswrap -t avid -o /tmp/test /tmp/bars_avci.mxf
    

    The FFmpeg MXF encoder examines the h264 bitstream to determine which label to use in the MXF wrapper. The decision is based on the frame size and interlace flag. My guess is that your FFmpeg command produces h264 with the wrong frame size for constrained "AVC-Intra" and therefore the unconstrained AVC label was used instead.

    Philip

     
  • Phil Barnett

    Phil Barnett - 2015-04-29

    Ah, thanks for that. Actually, I think I neglected to build a 10bit version of x264, which is obligatory for AVC100, so i need to recompile and try again.

    Thanks