Hello

I am making tests with IMX50/MXF encodings with FFMBC and FFMPEG. (with 24bit audio) The tests compare the final files with the IRT MXF Analyzer Pro tool to be shure to be IRT conform.
(My used syntax is at the bottom of this mail)

Both files (generated with ffmbc and ffmpeg) are working very well in editing tools but there is a little difference:

The IMX50 generated by ffmbc has no errors/warnings at IRT MXF Analyzer (with16bit audio). It is really perfect. In fact I never had a clean "green" MXF by testing other probes from other encoding tools. Only the IRT probes itself are clean. So this MXF is IRT conform when using the ffmbc standard target preset "imx50".

The Analyzis of the IMX50/MXF generated by FFMPEG (latest build from zeganoe) has 1 warning and 1 error:

WARNING:
"Fill Item Key with a wrong RP210 (SMPTE Metadata Dictionary) version number of 0x01. The correct version number is 0x02"

ERROR: "The Sound Essence Descriptor signals that the number if quantization bits is 24, which is higher than actually required (16) as detemined by parsing the essence."


Due to the fact that I am producing 24bit audio I could prevent the WARNING by producing 16bit audio. But is there a problem in the MXF when producing 24bit? Sound works in editing tools. Furthermore ffmbc produces for standard a IMX with 16bit -> If I force ffmbc to do 24bit, I get the same error.

Due to the warning: I found out that both files are different regarding these values (by reading out via ffprobe - show_streams)

FFMBC IMX FILE stream 0:0:
color_range=tv
color_space=smpte170m
color_transfer=bt709
color_primaries=bt470bg


FFMPEG IMX FILE stream 0:0:
color_range=tv
color_space=unknown
color_transfer=unknown
color_primaries=unknown


So my questions are :

1.) How can I produce (with ffmpeg) the same output like ffmbc with these 4 metadata flags:
color_range=tv
color_space=smpte170m
color_transfer=bt709
color_primaries=bt470bg
I didnt found a answer to that in the ffmpeg documentation :/

2.) Maybe somebody knows: Do these 4 metadata flags have a connection to the Warning message of the MXF Analyzer? -> "Fill Item Key with a wrong RP210 (SMPTE Metadata Dictionary) version number of 0x01. The correct version number is 0x02" If nobody know this answer I could do the test for myself by be able to encode with the upper params in 1.).

3.) Is there an syntax option in ffmpeg for 24bit audio encoding to prevent this ERROR: "The Sound Essence Descriptor signals that the number if quantization bits is 24, which is higher than actually required (16) as detemined by parsing the essence."


Best Regards
Christoph




USED SYNTAX:

-------------------------------------------------------------

FFmbc (16bit audio):

ffmbc -i I:\IMX_tests\IMX50_CARBON.avi -target imx50 I:\IMX_tests\_FFMBC_PAL_IMX_16bit_2.mxf -loglevel debug
FFmbc version 0.7-rc7
Copyright (c) 2008-2012 Baptiste Coudurier and the FFmpeg developers
Input #0, avi, from 'I:\IMX_tests\IMX50_CARBON.avi':
  Metadata:
    encoder: Lavf55.0.100
    ISMP: 00:00:00:00
  Duration: 00:00:20.00, start: 0.000000, bitrate: 113291 kb/s
Stream #0.0(und): Video: ffvhuff, yuv422p, 720x608p, PAR 152:135 DAR 4:3, 25.00 fps
    Stream #0.1(und): Audio: pcm_s24le, 48000 Hz, stereo, s32, 2304 kb/s
File 'I:\IMX_tests\_FFMBC_PAL_IMX_16bit_2.mxf' already exists. Overwrite ? [y/N] y [buffer @ 00000000018E07E0] w:720 h:608 pixfmt:yuv422p tb:1/1000000 sar:152/135 sws_param: Incompatible sample format 's32' for codec 'pcm_s16le', auto-selecting format 's16'
Warning, QMAT_SHIFT is larger than 21, overflows possible
    Last message repeated 1 times
Output #0, mxf_d10, to 'I:\IMX_tests\_FFMBC_PAL_IMX_16bit_2.mxf':
  Metadata:
    encoder: FFmbc 0.7
Stream #0.0(und), 0, 1/25: Video: mpeg2video, yuv422p, 720x608i tff [PAR 152:135 DAR 4:3], tbc 1/25, cbr, 50000 kb/s, 25.00 fps Stream #0.1(und), 0, 1/48000: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Press [q] to stop, [?] for help
[mxf_d10 @ 000000000037C9C0] package type:1
[mxf_d10 @ 000000000037C9C0] package type:2
[mxf_d10 @ 000000000037C9C0] edit units count 0
frame= 239 fps= 25 q=3.0 size= 72409kB time=00:00:09.52 bitrate=62307.8kbits/s eta=00:00:10.51

-------------------------------------------------------------

FFmbc (24bit audio):

ffmbc -i I:\IMX_tests\IMX50_CARBON.avi -target imx50 -acodec pcm_s24le I:\IMX_tests\_FFMBC_PAL_IMX_24bit_2.mxf -loglevel debug
FFmbc version 0.7-rc7
Copyright (c) 2008-2012 Baptiste Coudurier and the FFmpeg developers
Input #0, avi, from 'I:\IMX_tests\IMX50_CARBON.avi':
  Metadata:
    encoder: Lavf55.0.100
    ISMP: 00:00:00:00
  Duration: 00:00:20.00, start: 0.000000, bitrate: 113291 kb/s
Stream #0.0(und): Video: ffvhuff, yuv422p, 720x608p, PAR 152:135 DAR 4:3, 25.00 fps
    Stream #0.1(und): Audio: pcm_s24le, 48000 Hz, stereo, s32, 2304 kb/s
[buffer @ 00000000002EFF60] w:720 h:608 pixfmt:yuv422p tb:1/1000000 sar:152/135 sws_param:
Warning, QMAT_SHIFT is larger than 21, overflows possible
    Last message repeated 1 times
Output #0, mxf_d10, to 'I:\IMX_tests\_FFMBC_PAL_IMX_24bit_2.mxf':
  Metadata:
    encoder: FFmbc 0.7
Stream #0.0(und), 0, 1/25: Video: mpeg2video, yuv422p, 720x608i tff [PAR 152:135 DAR 4:3], tbc 1/25, cbr, 50000 kb/s, 25.00 fps Stream #0.1(und), 0, 1/48000: Audio: pcm_s24le, 48000 Hz, stereo, s32, 2304 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Press [q] to stop, [?] for help
[mxf_d10 @ 00000000003BF460] package type:1
[mxf_d10 @ 00000000003BF460] package type:2
[mxf_d10 @ 00000000003BF460] edit units count 0
frame= 341 fps= 25 q=3.0 size= 103570kB time=00:00:13.60 bitrate=62385.4kbits/s eta=00:00:06.41

-------------------------------------------------------------

FFMPEG (24bit audio):

ffmpegnew -i I:\IMX_tests\IMX50_CARBON.avi -map 0:v -map 0:a -c:v mpeg2video -r 25 -pix_fmt yuv422p -aspect 4:3 -minrate 50000k -maxrate 50000k -b:v 50000k -intra -flags +ildct+low_del ay -intra_vlc 1 -non_linear_quant 1 -ps 1 -qmin 1 -qmax 3 -top 1 -dc 10 -bufsize 2000000 -rc_init_occupancy 2000000 -rc_max_vbv_use 1 -rc_min_vbv_use 1 -c:a pcm_s24le -ar 48000 -f mxf_d10 I:\IMX_tests
\_FFMPEGNEW_PAL_IMX_24bit_2.mxf
ffmpeg version N-71727-g46778ab Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libblu ray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enab le-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --ena ble-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --ena
ble-decklink --enable-zlib
  libavutil      54. 23.101 / 54. 23.101
  libavcodec     56. 35.101 / 56. 35.101
  libavformat    56. 31.100 / 56. 31.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 14.100 /  5. 14.100
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, avi, from 'I:\IMX_tests\IMX50_CARBON.avi':
  Metadata:
    encoder         : Lavf55.0.100
    timecode        : 00:00:00:00
  Duration: 00:00:20.00, start: 0.000000, bitrate: 113291 kb/s
Stream #0:0: Video: ffvhuff (FFVH / 0x48564646), yuv422p, 720x608, 111196 kb/s, SAR 152:135 DAR 4:3, 25 fps, 25 tbr, 25 tbn, 25 tbc Stream #0:1: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s File 'I:\IMX_tests\_FFMPEGNEW_PAL_IMX_24bit_2.mxf' already exists. Overwrite ? [y/N] y
Output #0, mxf_d10, to 'I:\IMX_tests\_FFMPEGNEW_PAL_IMX_24bit_2.mxf':
  Metadata:
    timecode        : 00:00:00:00
    encoder         : Lavf56.31.100
Stream #0:0: Video: mpeg2video, yuv422p, 720x608 [SAR 152:135 DAR 4:3], q=1-3, 50000 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc56.35.101 mpeg2video
Stream #0:1: Audio: pcm_s24le, 48000 Hz, stereo, s32 (24 bit), 2304 kb/s
    Metadata:
      encoder         : Lavc56.35.101 pcm_s24le
Stream mapping:
  Stream #0:0 -> #0:0 (ffvhuff (native) -> mpeg2video (native))
  Stream #0:1 -> #0:1 (pcm_s24le (native) -> pcm_s24le (native))
Press [q] to stop, [?] for help
[mxf_d10 @ 00000000003bf240] the number of audio channels shall be 4 or 8 : the output will not comply to MXF D-10 specs, use -d10_channelcount to fix this frame= 500 fps=347 q=1.6 Lsize= 152756kB time=00:00:20.00 bitrate=62568.9kbits/s video:122070kB audio:5625kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 19.625412%






_______________________________________________
ffmpeg-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

Reply via email to