Opened 15 months ago

#10161 new defect

MXF/FFV1 stream copy transmux discards content

Reported by: Jérôme Martinez Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords:
Cc: Jérôme Martinez Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Using a MXF/FFV1 file e.g. from https://www.digitizationguidelines.gov/guidelines/MXF_app_sampleFiles.html#2022 , a conversion to any format (also again FFV1) is fine (frames are demuxed, decoded, encoded, muxed) but a pure demux with stream copy silently discards all frames, the output has the FFV1 header but 0 frame.

Tested with Git 2023-01-29:

PS > .\ffmpeg.exe -i RDD48_LakeJulianP1060231_50i_1920_MKV_FFV1_422_8_ag_20220517.mxf RDD48_LakeJulianP1060231_50i_1920_MKV_FFV1_422_8_ag_20220517.avi
ffmpeg version N-109716-g757218564d-20230129 Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 12.2.0 (crosstool-NG 1.25.0.90_cf9beb1)
  configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libkvazaar --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --disable-libmfx --enable-libvpl --enable-openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --disable-vaapi --enable-libvidstab --enable-vulkan --enable-libshaderc --enable-libplacebo --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp --extra-version=20230129
  libavutil      57. 44.100 / 57. 44.100
  libavcodec     59. 59.100 / 59. 59.100
  libavformat    59. 36.100 / 59. 36.100
  libavdevice    59.  8.101 / 59.  8.101
  libavfilter     8. 55.100 /  8. 55.100
  libswscale      6.  8.112 /  6.  8.112
  libswresample   4.  9.100 /  4.  9.100
  libpostproc    56.  7.100 / 56.  7.100
[mxf @ 00000249c1caea00] could not resolve file descriptor strong ref
    Last message repeated 17 times
Guessed Channel Layout for Input Stream #0.5 : mono
Input #0, mxf, from 'RDD48_LakeJulianP1060231_50i_1920_MKV_FFV1_422_8_ag_20220517.mxf':
  Metadata:
    operational_pattern_ul: 060e2b34.04010101.0d010201.01010900
    uid             : 0c0fd1ba-b4fa-49f2-a488-6a844a00df0d
    product_uid     : b658a3f9-280d-463c-9c12-fd6dac6e1213
    company_name    : Metaglue Corporation
    product_name    : MXFixer File Wrapper
    product_version : V5.2.4(22516)
    product_version_num: 5.2.4.22516.1
    toolkit_version_num: 2.65.4.22516.1
    application_platform: MXFplus(Windows 10 ( build 19044 )  (64-bit)) (with Metaglue Extensions)(BUF) built May 16 2022 11:47:21
    modification_date: 2022-05-17T19:43:45.204000Z
    generation_uid  : b1297cac-eab2-4c76-a0ed-7efd583a3a6a
    material_package_umid: 0x060A2B340101010501010D2013000000256C81631F7E4229A6E5AE305A0EB56C
    material_package_name: MXFWrap Clip
    timecode        : 01:00:00:00
  Duration: 00:00:19.96, start: 0.000000, bitrate: 312497 kb/s
  Stream #0:0: Video: ffv1, yuv422p(bottom first), 1920x1080, SAR 1:1 DAR 16:9, 25 tbr, 25 tbn
    Metadata:
      file_package_umid: 0x060A2B340101010501010D20130000002E0B39D1937148F884B4BAD10C1E1663
      file_package_name: File Package: SMPTE RPxxx frame wrapping of FFV1 video essence
      track_name      : V1
      reel_umid       : 0x060A2B340101010501010D2013000000A7C8CFC27C64497D8FFA2CB623DF3D6F
      timecode        : 01:00:00:00
  Stream #0:1: Data: none
    Metadata:
      file_package_umid: 0x060A2B340101010501010D20130000002E0B39D1937148F884B4BAD10C1E1663
      file_package_name: File Package: SMPTE RPxxx frame wrapping of FFV1 video essence
      track_name      : D1
      reel_umid       : 0x060A2B340101010501010D2013000000A7C8CFC27C64497D8FFA2CB623DF3D6F
      timecode        : 01:00:00:00
      data_type       : vbi_vanc_smpte_436M
  Stream #0:2(eng): Audio: pcm_s24le, 48000 Hz, stereo, s32 (24 bit), 2304 kb/s
    Metadata:
      file_package_umid: 0x060A2B340101010501010D20130000002E0B39D1937148F884B4BAD10C1E1663
      file_package_name: File Package: SMPTE RPxxx frame wrapping of FFV1 video essence
      track_name      : A1
      reel_umid       : 0x060A2B340101010501010D2013000000A7C8CFC27C64497D8FFA2CB623DF3D6F
      timecode        : 01:00:00:00
  Stream #0:3(spa): Audio: pcm_s24le, 48000 Hz, stereo, s32 (24 bit), 2304 kb/s
    Metadata:
      file_package_umid: 0x060A2B340101010501010D20130000002E0B39D1937148F884B4BAD10C1E1663
      file_package_name: File Package: SMPTE RPxxx frame wrapping of FFV1 video essence
      track_name      : A2
      reel_umid       : 0x060A2B340101010501010D2013000000A7C8CFC27C64497D8FFA2CB623DF3D6F
      timecode        : 01:00:00:00
  Stream #0:4: Audio: pcm_s24le, 48000 Hz, stereo, s32 (24 bit), 2304 kb/s
    Metadata:
      file_package_umid: 0x060A2B340101010501010D20130000002E0B39D1937148F884B4BAD10C1E1663
      file_package_name: File Package: SMPTE RPxxx frame wrapping of FFV1 video essence
      track_name      : A3
      reel_umid       : 0x060A2B340101010501010D2013000000A7C8CFC27C64497D8FFA2CB623DF3D6F
      timecode        : 01:00:00:00
  Stream #0:5: Audio: pcm_s16le, 48000 Hz, 1 channels, s16, 768 kb/s
    Metadata:
      file_package_umid: 0x060A2B340101010501010D20130000002E0B39D1937148F884B4BAD10C1E1663
      file_package_name: File Package: SMPTE RPxxx frame wrapping of FFV1 video essence
      track_name      : A4
      reel_umid       : 0x060A2B340101010501010D2013000000A7C8CFC27C64497D8FFA2CB623DF3D6F
      timecode        : 01:00:00:00
Stream mapping:
  Stream #0:0 -> #0:0 (ffv1 (native) -> mpeg4 (native))
  Stream #0:2 -> #0:1 (pcm_s24le (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
Output #0, avi, to 'RDD48_LakeJulianP1060231_50i_1920_MKV_FFV1_422_8_ag_20220517.avi':
  Metadata:
    operational_pattern_ul: 060e2b34.04010101.0d010201.01010900
    uid             : 0c0fd1ba-b4fa-49f2-a488-6a844a00df0d
    product_uid     : b658a3f9-280d-463c-9c12-fd6dac6e1213
    ISMP            : 01:00:00:00
    material_package_name: MXFWrap Clip
    material_package_umid: 0x060A2B340101010501010D2013000000256C81631F7E4229A6E5AE305A0EB56C
    product_version_num: 5.2.4.22516.1
    toolkit_version_num: 2.65.4.22516.1
    application_platform: MXFplus(Windows 10 ( build 19044 )  (64-bit)) (with Metaglue Extensions)(BUF) built May 16 2022 11:47:21
    modification_date: 2022-05-17T19:43:45.204000Z
    generation_uid  : b1297cac-eab2-4c76-a0ed-7efd583a3a6a
    ISFT            : Lavf59.36.100
  Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p(tv, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 25 tbn
    Metadata:
      file_package_umid: 0x060A2B340101010501010D20130000002E0B39D1937148F884B4BAD10C1E1663
      file_package_name: File Package: SMPTE RPxxx frame wrapping of FFV1 video essence
      track_name      : V1
      reel_umid       : 0x060A2B340101010501010D2013000000A7C8CFC27C64497D8FFA2CB623DF3D6F
      timecode        : 01:00:00:00
      encoder         : Lavc59.59.100 mpeg4
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
  Stream #0:1(eng): Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s32p
    Metadata:
      file_package_umid: 0x060A2B340101010501010D20130000002E0B39D1937148F884B4BAD10C1E1663
      file_package_name: File Package: SMPTE RPxxx frame wrapping of FFV1 video essence
      track_name      : A1
      reel_umid       : 0x060A2B340101010501010D2013000000A7C8CFC27C64497D8FFA2CB623DF3D6F
      timecode        : 01:00:00:00
      encoder         : Lavc59.59.100 libmp3lame
frame=  499 fps= 59 q=31.0 Lsize=    5431kB time=00:00:19.94 bitrate=2230.5kbits/s speed=2.37x
video:5077kB audio:312kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.765648%

PS > .\ffmpeg.exe -i RDD48_LakeJulianP1060231_50i_1920_MKV_FFV1_422_8_ag_20220517.mxf -c copy RDD48_LakeJulianP1060231_50i_1920_MKV_FFV1_422_8_ag_20220517_c_copy.avi
ffmpeg version N-109716-g757218564d-20230129 Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 12.2.0 (crosstool-NG 1.25.0.90_cf9beb1)
  configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libkvazaar --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --disable-libmfx --enable-libvpl --enable-openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --disable-vaapi --enable-libvidstab --enable-vulkan --enable-libshaderc --enable-libplacebo --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp --extra-version=20230129
  libavutil      57. 44.100 / 57. 44.100
  libavcodec     59. 59.100 / 59. 59.100
  libavformat    59. 36.100 / 59. 36.100
  libavdevice    59.  8.101 / 59.  8.101
  libavfilter     8. 55.100 /  8. 55.100
  libswscale      6.  8.112 /  6.  8.112
  libswresample   4.  9.100 /  4.  9.100
  libpostproc    56.  7.100 / 56.  7.100
[mxf @ 0000028800a7eb00] could not resolve file descriptor strong ref
    Last message repeated 17 times
Guessed Channel Layout for Input Stream #0.5 : mono
Input #0, mxf, from 'RDD48_LakeJulianP1060231_50i_1920_MKV_FFV1_422_8_ag_20220517.mxf':
  Metadata:
    operational_pattern_ul: 060e2b34.04010101.0d010201.01010900
    uid             : 0c0fd1ba-b4fa-49f2-a488-6a844a00df0d
    product_uid     : b658a3f9-280d-463c-9c12-fd6dac6e1213
    company_name    : Metaglue Corporation
    product_name    : MXFixer File Wrapper
    product_version : V5.2.4(22516)
    product_version_num: 5.2.4.22516.1
    toolkit_version_num: 2.65.4.22516.1
    application_platform: MXFplus(Windows 10 ( build 19044 )  (64-bit)) (with Metaglue Extensions)(BUF) built May 16 2022 11:47:21
    modification_date: 2022-05-17T19:43:45.204000Z
    generation_uid  : b1297cac-eab2-4c76-a0ed-7efd583a3a6a
    material_package_umid: 0x060A2B340101010501010D2013000000256C81631F7E4229A6E5AE305A0EB56C
    material_package_name: MXFWrap Clip
    timecode        : 01:00:00:00
  Duration: 00:00:19.96, start: 0.000000, bitrate: 312497 kb/s
  Stream #0:0: Video: ffv1, yuv422p(bottom first), 1920x1080, SAR 1:1 DAR 16:9, 25 tbr, 25 tbn
    Metadata:
      file_package_umid: 0x060A2B340101010501010D20130000002E0B39D1937148F884B4BAD10C1E1663
      file_package_name: File Package: SMPTE RPxxx frame wrapping of FFV1 video essence
      track_name      : V1
      reel_umid       : 0x060A2B340101010501010D2013000000A7C8CFC27C64497D8FFA2CB623DF3D6F
      timecode        : 01:00:00:00
  Stream #0:1: Data: none
    Metadata:
      file_package_umid: 0x060A2B340101010501010D20130000002E0B39D1937148F884B4BAD10C1E1663
      file_package_name: File Package: SMPTE RPxxx frame wrapping of FFV1 video essence
      track_name      : D1
      reel_umid       : 0x060A2B340101010501010D2013000000A7C8CFC27C64497D8FFA2CB623DF3D6F
      timecode        : 01:00:00:00
      data_type       : vbi_vanc_smpte_436M
  Stream #0:2(eng): Audio: pcm_s24le, 48000 Hz, stereo, s32 (24 bit), 2304 kb/s
    Metadata:
      file_package_umid: 0x060A2B340101010501010D20130000002E0B39D1937148F884B4BAD10C1E1663
      file_package_name: File Package: SMPTE RPxxx frame wrapping of FFV1 video essence
      track_name      : A1
      reel_umid       : 0x060A2B340101010501010D2013000000A7C8CFC27C64497D8FFA2CB623DF3D6F
      timecode        : 01:00:00:00
  Stream #0:3(spa): Audio: pcm_s24le, 48000 Hz, stereo, s32 (24 bit), 2304 kb/s
    Metadata:
      file_package_umid: 0x060A2B340101010501010D20130000002E0B39D1937148F884B4BAD10C1E1663
      file_package_name: File Package: SMPTE RPxxx frame wrapping of FFV1 video essence
      track_name      : A2
      reel_umid       : 0x060A2B340101010501010D2013000000A7C8CFC27C64497D8FFA2CB623DF3D6F
      timecode        : 01:00:00:00
  Stream #0:4: Audio: pcm_s24le, 48000 Hz, stereo, s32 (24 bit), 2304 kb/s
    Metadata:
      file_package_umid: 0x060A2B340101010501010D20130000002E0B39D1937148F884B4BAD10C1E1663
      file_package_name: File Package: SMPTE RPxxx frame wrapping of FFV1 video essence
      track_name      : A3
      reel_umid       : 0x060A2B340101010501010D2013000000A7C8CFC27C64497D8FFA2CB623DF3D6F
      timecode        : 01:00:00:00
  Stream #0:5: Audio: pcm_s16le, 48000 Hz, 1 channels, s16, 768 kb/s
    Metadata:
      file_package_umid: 0x060A2B340101010501010D20130000002E0B39D1937148F884B4BAD10C1E1663
      file_package_name: File Package: SMPTE RPxxx frame wrapping of FFV1 video essence
      track_name      : A4
      reel_umid       : 0x060A2B340101010501010D2013000000A7C8CFC27C64497D8FFA2CB623DF3D6F
      timecode        : 01:00:00:00
Output #0, avi, to 'RDD48_LakeJulianP1060231_50i_1920_MKV_FFV1_422_8_ag_20220517_c_copy.avi':
  Metadata:
    operational_pattern_ul: 060e2b34.04010101.0d010201.01010900
    uid             : 0c0fd1ba-b4fa-49f2-a488-6a844a00df0d
    product_uid     : b658a3f9-280d-463c-9c12-fd6dac6e1213
    ISMP            : 01:00:00:00
    material_package_name: MXFWrap Clip
    material_package_umid: 0x060A2B340101010501010D2013000000256C81631F7E4229A6E5AE305A0EB56C
    product_version_num: 5.2.4.22516.1
    toolkit_version_num: 2.65.4.22516.1
    application_platform: MXFplus(Windows 10 ( build 19044 )  (64-bit)) (with Metaglue Extensions)(BUF) built May 16 2022 11:47:21
    modification_date: 2022-05-17T19:43:45.204000Z
    generation_uid  : b1297cac-eab2-4c76-a0ed-7efd583a3a6a
    ISFT            : Lavf59.36.100
  Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), yuv422p(bottom first), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 25 tbr, 25 tbn
    Metadata:
      file_package_umid: 0x060A2B340101010501010D20130000002E0B39D1937148F884B4BAD10C1E1663
      file_package_name: File Package: SMPTE RPxxx frame wrapping of FFV1 video essence
      track_name      : V1
      reel_umid       : 0x060A2B340101010501010D2013000000A7C8CFC27C64497D8FFA2CB623DF3D6F
      timecode        : 01:00:00:00
  Stream #0:1(eng): Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s
    Metadata:
      file_package_umid: 0x060A2B340101010501010D20130000002E0B39D1937148F884B4BAD10C1E1663
      file_package_name: File Package: SMPTE RPxxx frame wrapping of FFV1 video essence
      track_name      : A1
      reel_umid       : 0x060A2B340101010501010D2013000000A7C8CFC27C64497D8FFA2CB623DF3D6F
      timecode        : 01:00:00:00
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:2 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=    0 fps=0.0 q=-1.0 Lsize=    5635kB time=00:00:19.92 bitrate=2317.6kbits/s speed=48.7x
video:0kB audio:5614kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.386781%

PS > dir RDD48_LakeJulianP1060231_50i_1920_MKV_FFV1_422_8_ag_20220517*


    Répertoire : C:\Users\jerom\Downloads\RDD48_FFV1_MXF


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        30/01/2023     10:16        5560844 RDD48_LakeJulianP1060231_50i_1920_MKV_FFV1_422_8_ag_20220517.avi
-a----        17/05/2022     22:25      779681924 RDD48_LakeJulianP1060231_50i_1920_MKV_FFV1_422_8_ag_20220517.mxf
-a----        30/01/2023     10:17         350112 RDD48_LakeJulianP1060231_50i_1920_MKV_FFV1_422_8_ag_20220517_c_copy.avi

The last file should have a size of 780 MB (copy of the FFV1 frames).

behavior is a bit weird:

  • using -c:a copy is fine (video frames are are transcoded; audio frames are transmuxed)
  • using -c:v copy discards video frames and transcode audio (audio transcode is expected)
  • using -c copy discards video frames and transcode audio (audio transcode is not expected)

So audio transmux behavior is also impacted, this is not the case with e.g. https://samples.ffmpeg.org/MXF/Quantel%20widescreen%20test.mxf (using -c copy does transmux for both video and audio)

Change History (0)

Note: See TracTickets for help on using tickets.