[FFmpeg-trac] #4913(undetermined:new): MXF output has some too short audio streams when transcoding from mp2

FFmpeg trac at avcodec.org
Wed Oct 7 12:01:45 CEST 2015


#4913: MXF output has some too short audio streams when transcoding from mp2
-------------------------------------+-------------------------------------
             Reporter:  wim_arbor    |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:  git-
  undetermined                       |  master
             Keywords:  mxf          |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the bug:

 I am trying to convert a TS file with MPEG2 video and mp2 audio to XDCAM
 MXF with the same MPEG2 video, but 8 tracks AES3 audio. Audio track 1 is
 ok, but the other audio tracks are 1 frame too short.

 How to reproduce:
 xdcam8mp2-2s.ts has been uploaded to upload.ffmpeg.org/incoming
 I will attach ffmpeg-20151007-104736.log to this ticket, see also below:
 {{{
 ffmpeg started on 2015-10-07 at 10:47:36
 Report written to "ffmpeg-20151007-104736.log"
 Command line:
 ./ffmpeg -report -v 9 -loglevel 99 -y -i xdcam8mp2-2s.ts -c:a pcm_s16le
 -map 0:v -c:v copy -filter_complex
 "[0:a:0]channelsplit=channel_layout=stereo[a0][a1];[0:a:1]channelsplit=channel_layout=stereo[a2][a3];[0:a:2]channelsplit=channel_layout=stereo[a4][a5];[0:a:3]channelsplit=channel_layout=stereo[a6][a7]"
 -map "[a0]" -map "[a1]" -map "[a2]" -map "[a3]" -map "[a4]" -map "[a5]"
 -map "[a6]" -map "[a7]" -f mxf -ss 1 xdcam8mp2-2s.mxf
 ffmpeg version N-75804-ga852db7 Copyright (c) 2000-2015 the FFmpeg
 developers
   built with gcc 4.7 (Debian 4.7.2-5)
   configuration:
   libavutil      55.  2.100 / 55.  2.100
   libavcodec     57.  4.100 / 57.  4.100
   libavformat    57.  3.100 / 57.  3.100
   libavdevice    57.  0.100 / 57.  0.100
   libavfilter     6. 10.100 /  6. 10.100
   libswscale      4.  0.100 /  4.  0.100
   libswresample   2.  0.100 /  2.  0.100
 Splitting the commandline.
 Reading option '-report' ... matched as option 'report' (generate a
 report) with argument '1'.
 Reading option '-v' ... matched as option 'v' (set logging level) with
 argument '9'.
 Reading option '-loglevel' ... matched as option 'loglevel' (set logging
 level) with argument '99'.
 Reading option '-y' ... matched as option 'y' (overwrite output files)
 with argument '1'.
 Reading option '-i' ... matched as input file with argument
 'xdcam8mp2-2s.ts'.
 Reading option '-c:a' ... matched as option 'c' (codec name) with argument
 'pcm_s16le'.
 Reading option '-map' ... matched as option 'map' (set input stream
 mapping) with argument '0:v'.
 Reading option '-c:v' ... matched as option 'c' (codec name) with argument
 'copy'.
 Reading option '-filter_complex' ... matched as option 'filter_complex'
 (create a complex filtergraph) with argument
 '[0:a:0]channelsplit=channel_layout=stereo[a0][a1];[0:a:1]channelsplit=channel_layout=stereo[a2][a3];[0:a:2]channelsplit=channel_layout=stereo[a4][a5];[0:a:3]channelsplit=channel_layout=stereo[a6][a7]'.
 Reading option '-map' ... matched as option 'map' (set input stream
 mapping) with argument '[a0]'.
 Reading option '-map' ... matched as option 'map' (set input stream
 mapping) with argument '[a1]'.
 Reading option '-map' ... matched as option 'map' (set input stream
 mapping) with argument '[a2]'.
 Reading option '-map' ... matched as option 'map' (set input stream
 mapping) with argument '[a3]'.
 Reading option '-map' ... matched as option 'map' (set input stream
 mapping) with argument '[a4]'.
 Reading option '-map' ... matched as option 'map' (set input stream
 mapping) with argument '[a5]'.
 Reading option '-map' ... matched as option 'map' (set input stream
 mapping) with argument '[a6]'.
 Reading option '-map' ... matched as option 'map' (set input stream
 mapping) with argument '[a7]'.
 Reading option '-f' ... matched as option 'f' (force format) with argument
 'mxf'.
 Reading option '-ss' ... matched as option 'ss' (set the start time
 offset) with argument '1'.
 Reading option 'xdcam8mp2-2s.mxf' ... matched as output file.
 Finished splitting the commandline.
 Parsing a group of options: global .
 Applying option report (generate a report) with argument 1.
 Applying option v (set logging level) with argument 9.
 Applying option loglevel (set logging level) with argument 99.
 Applying option y (overwrite output files) with argument 1.
 Applying option filter_complex (create a complex filtergraph) with
 argument
 [0:a:0]channelsplit=channel_layout=stereo[a0][a1];[0:a:1]channelsplit=channel_layout=stereo[a2][a3];[0:a:2]channelsplit=channel_layout=stereo[a4][a5];[0:a:3]channelsplit=channel_layout=stereo[a6][a7].
 Successfully parsed a group of options.
 Parsing a group of options: input file xdcam8mp2-2s.ts.
 Successfully parsed a group of options.
 Opening an input file: xdcam8mp2-2s.ts.
 [mpegts @ 0x321c180] Format mpegts probed with size=2048 and score=100
 [mpegts @ 0x321c180] stream=0 stream_type=2 pid=100 prog_reg_desc=
 [mpegts @ 0x321c180] stream=1 stream_type=3 pid=101 prog_reg_desc=
 [mpegts @ 0x321c180] stream=2 stream_type=3 pid=102 prog_reg_desc=
 [mpegts @ 0x321c180] stream=3 stream_type=3 pid=103 prog_reg_desc=
 [mpegts @ 0x321c180] stream=4 stream_type=3 pid=104 prog_reg_desc=
 [mpegts @ 0x321c180] Before avformat_find_stream_info() pos: 0 bytes
 read:32768 seeks:0
 [mpegts @ 0x321c180] Probe buffer size limit of 5000000 bytes reached
 [mpegts @ 0x321c180] After avformat_find_stream_info() pos: 0 bytes
 read:6582704 seeks:3 frames:179
 Input #0, mpegts, from 'xdcam8mp2-2s.ts':
   Duration: 00:00:02.13, start: 1.400000, bitrate: 48436 kb/s
   Program 1
     Metadata:
       service_name    : Service01
       service_provider: FFmpeg
     Stream #0:0[0x100], 19, 1/90000: Video: mpeg2video (4:2:2), 1
 reference frame ([2][0][0][0] / 0x0002), yuv422p(tv, bt709, topleft),
 1920x1080 [SAR 1:1 DAR 16:9], 1/50, 50000 kb/s, 25 fps, 25 tbr, 90k tbn,
 50 tbc
     Stream #0:1[0x101], 40, 1/90000: Audio: mp2 ([3][0][0][0] / 0x0003),
 48000 Hz, stereo, s16p, 384 kb/s
     Stream #0:2[0x102], 40, 1/90000: Audio: mp2 ([3][0][0][0] / 0x0003),
 48000 Hz, stereo, s16p, 384 kb/s
     Stream #0:3[0x103], 40, 1/90000: Audio: mp2 ([3][0][0][0] / 0x0003),
 48000 Hz, stereo, s16p, 384 kb/s
     Stream #0:4[0x104], 40, 1/90000: Audio: mp2 ([3][0][0][0] / 0x0003),
 48000 Hz, stereo, s16p, 384 kb/s
 Successfully opened the file.
 detected 1 logical cores
 [Parsed_channelsplit_0 @ 0x32206a0] Setting 'channel_layout' to value
 'stereo'
 [Parsed_channelsplit_1 @ 0x3263100] Setting 'channel_layout' to value
 'stereo'
 [Parsed_channelsplit_2 @ 0x3263b60] Setting 'channel_layout' to value
 'stereo'
 [Parsed_channelsplit_3 @ 0x32644e0] Setting 'channel_layout' to value
 'stereo'
 Parsing a group of options: output file xdcam8mp2-2s.mxf.
 Applying option c:a (codec name) with argument pcm_s16le.
 Applying option map (set input stream mapping) with argument 0:v.
 Applying option c:v (codec name) with argument copy.
 Applying option map (set input stream mapping) with argument [a0].
 Applying option map (set input stream mapping) with argument [a1].
 Applying option map (set input stream mapping) with argument [a2].
 Applying option map (set input stream mapping) with argument [a3].
 Applying option map (set input stream mapping) with argument [a4].
 Applying option map (set input stream mapping) with argument [a5].
 Applying option map (set input stream mapping) with argument [a6].
 Applying option map (set input stream mapping) with argument [a7].
 Applying option f (force format) with argument mxf.
 Applying option ss (set the start time offset) with argument 1.
 Successfully parsed a group of options.
 Opening an output file: xdcam8mp2-2s.mxf.
 Successfully opened the file.
 [Parsed_channelsplit_0 @ 0x3222920] Setting 'channel_layout' to value
 'stereo'
 [Parsed_channelsplit_1 @ 0x326d980] Setting 'channel_layout' to value
 'stereo'
 [Parsed_channelsplit_2 @ 0x326dfc0] Setting 'channel_layout' to value
 'stereo'
 [Parsed_channelsplit_3 @ 0x326e740] Setting 'channel_layout' to value
 'stereo'
 [graph 0 input from stream 0:1 @ 0x3264000] Setting 'time_base' to value
 '1/48000'
 [graph 0 input from stream 0:1 @ 0x3264000] Setting 'sample_rate' to value
 '48000'
 [graph 0 input from stream 0:1 @ 0x3264000] Setting 'sample_fmt' to value
 's16p'
 [graph 0 input from stream 0:1 @ 0x3264000] Setting 'channel_layout' to
 value '0x3'
 [graph 0 input from stream 0:1 @ 0x3264000] tb:1/48000 samplefmt:s16p
 samplerate:48000 chlayout:0x3
 [graph 0 input from stream 0:2 @ 0x3263720] Setting 'time_base' to value
 '1/48000'
 [graph 0 input from stream 0:2 @ 0x3263720] Setting 'sample_rate' to value
 '48000'
 [graph 0 input from stream 0:2 @ 0x3263720] Setting 'sample_fmt' to value
 's16p'
 [graph 0 input from stream 0:2 @ 0x3263720] Setting 'channel_layout' to
 value '0x3'
 [graph 0 input from stream 0:2 @ 0x3263720] tb:1/48000 samplefmt:s16p
 samplerate:48000 chlayout:0x3
 [graph 0 input from stream 0:3 @ 0x326ef60] Setting 'time_base' to value
 '1/48000'
 [graph 0 input from stream 0:3 @ 0x326ef60] Setting 'sample_rate' to value
 '48000'
 [graph 0 input from stream 0:3 @ 0x326ef60] Setting 'sample_fmt' to value
 's16p'
 [graph 0 input from stream 0:3 @ 0x326ef60] Setting 'channel_layout' to
 value '0x3'
 [graph 0 input from stream 0:3 @ 0x326ef60] tb:1/48000 samplefmt:s16p
 samplerate:48000 chlayout:0x3
 [graph 0 input from stream 0:4 @ 0x326f160] Setting 'time_base' to value
 '1/48000'
 [graph 0 input from stream 0:4 @ 0x326f160] Setting 'sample_rate' to value
 '48000'
 [graph 0 input from stream 0:4 @ 0x326f160] Setting 'sample_fmt' to value
 's16p'
 [graph 0 input from stream 0:4 @ 0x326f160] Setting 'channel_layout' to
 value '0x3'
 [graph 0 input from stream 0:4 @ 0x326f160] tb:1/48000 samplefmt:s16p
 samplerate:48000 chlayout:0x3
 [audio format for output stream 0:8 @ 0x32638a0] Setting 'sample_fmts' to
 value 's16'
 [audio format for output stream 0:7 @ 0x3270200] Setting 'sample_fmts' to
 value 's16'
 [audio format for output stream 0:6 @ 0x3271160] Setting 'sample_fmts' to
 value 's16'
 [audio format for output stream 0:5 @ 0x3272140] Setting 'sample_fmts' to
 value 's16'
 [audio format for output stream 0:4 @ 0x3273120] Setting 'sample_fmts' to
 value 's16'
 [audio format for output stream 0:3 @ 0x3274640] Setting 'sample_fmts' to
 value 's16'
 [audio format for output stream 0:2 @ 0x327cf40] Setting 'sample_fmts' to
 value 's16'
 [audio format for output stream 0:1 @ 0x327cb60] Setting 'sample_fmts' to
 value 's16'
 [audio format for output stream 0:8 @ 0x32638a0] auto-inserting filter
 'auto-inserted resampler 0' between the filter 'Parsed_channelsplit_3' and
 the filter 'audio format for output stream 0:8'
 [audio format for output stream 0:7 @ 0x3270200] auto-inserting filter
 'auto-inserted resampler 1' between the filter 'Parsed_channelsplit_3' and
 the filter 'audio format for output stream 0:7'
 [audio format for output stream 0:6 @ 0x3271160] auto-inserting filter
 'auto-inserted resampler 2' between the filter 'Parsed_channelsplit_2' and
 the filter 'audio format for output stream 0:6'
 [audio format for output stream 0:5 @ 0x3272140] auto-inserting filter
 'auto-inserted resampler 3' between the filter 'Parsed_channelsplit_2' and
 the filter 'audio format for output stream 0:5'
 [audio format for output stream 0:4 @ 0x3273120] auto-inserting filter
 'auto-inserted resampler 4' between the filter 'Parsed_channelsplit_1' and
 the filter 'audio format for output stream 0:4'
 [audio format for output stream 0:3 @ 0x3274640] auto-inserting filter
 'auto-inserted resampler 5' between the filter 'Parsed_channelsplit_1' and
 the filter 'audio format for output stream 0:3'
 [audio format for output stream 0:2 @ 0x327cf40] auto-inserting filter
 'auto-inserted resampler 6' between the filter 'Parsed_channelsplit_0' and
 the filter 'audio format for output stream 0:2'
 [audio format for output stream 0:1 @ 0x327cb60] auto-inserting filter
 'auto-inserted resampler 7' between the filter 'Parsed_channelsplit_0' and
 the filter 'audio format for output stream 0:1'
 [AVFilterGraph @ 0x3263100] query_formats: 32 queried, 60 merged, 24
 already done, 0 delayed
 [auto-inserted resampler 0 @ 0x32853c0] [SWR @ 0x3285780] Using s16p
 internally between filters
 [auto-inserted resampler 0 @ 0x32853c0] ch:1 chl:1 channels (FR) fmt:s16p
 r:48000Hz -> ch:1 chl:1 channels (FR) fmt:s16 r:48000Hz
 [auto-inserted resampler 1 @ 0x3281220] [SWR @ 0x3292740] Using s16p
 internally between filters
 [auto-inserted resampler 1 @ 0x3281220] ch:1 chl:1 channels (FL) fmt:s16p
 r:48000Hz -> ch:1 chl:1 channels (FL) fmt:s16 r:48000Hz
 [auto-inserted resampler 2 @ 0x3281da0] [SWR @ 0x329f720] Using s16p
 internally between filters
 [auto-inserted resampler 2 @ 0x3281da0] ch:1 chl:1 channels (FR) fmt:s16p
 r:48000Hz -> ch:1 chl:1 channels (FR) fmt:s16 r:48000Hz
 [auto-inserted resampler 3 @ 0x32829a0] [SWR @ 0x32ac700] Using s16p
 internally between filters
 [auto-inserted resampler 3 @ 0x32829a0] ch:1 chl:1 channels (FL) fmt:s16p
 r:48000Hz -> ch:1 chl:1 channels (FL) fmt:s16 r:48000Hz
 [auto-inserted resampler 4 @ 0x3281420] [SWR @ 0x32b96e0] Using s16p
 internally between filters
 [auto-inserted resampler 4 @ 0x3281420] ch:1 chl:1 channels (FR) fmt:s16p
 r:48000Hz -> ch:1 chl:1 channels (FR) fmt:s16 r:48000Hz
 [auto-inserted resampler 5 @ 0x327dc40] [SWR @ 0x32c66c0] Using s16p
 internally between filters
 [auto-inserted resampler 5 @ 0x327dc40] ch:1 chl:1 channels (FL) fmt:s16p
 r:48000Hz -> ch:1 chl:1 channels (FL) fmt:s16 r:48000Hz
 [auto-inserted resampler 6 @ 0x3281060] [SWR @ 0x32d36a0] Using s16p
 internally between filters
 [auto-inserted resampler 6 @ 0x3281060] ch:1 chl:1 channels (FR) fmt:s16p
 r:48000Hz -> ch:1 chl:1 channels (FR) fmt:s16 r:48000Hz
 [auto-inserted resampler 7 @ 0x326e460] [SWR @ 0x32e0680] Using s16p
 internally between filters
 [auto-inserted resampler 7 @ 0x326e460] ch:1 chl:1 channels (FL) fmt:s16p
 r:48000Hz -> ch:1 chl:1 channels (FL) fmt:s16 r:48000Hz
 Output #0, mxf, to 'xdcam8mp2-2s.mxf':
   Metadata:
     encoder         : Lavf57.3.100
     Stream #0:0, 0, 1/25: Video: mpeg2video, 1 reference frame
 ([2][0][0][0] / 0x0002), yuv422p(topleft), 1920x1080 (0x0) [SAR 1:1 DAR
 16:9], 1/25, q=2-31, 50000 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc
     Stream #0:1, 0, 1/48000: Audio: pcm_s16le, 48000 Hz, 1 channels (FL),
 s16, 768 kb/s
     Metadata:
       encoder         : Lavc57.4.100 pcm_s16le
     Stream #0:2, 0, 1/48000: Audio: pcm_s16le, 48000 Hz, 1 channels (FR),
 s16, 768 kb/s
     Metadata:
       encoder         : Lavc57.4.100 pcm_s16le
     Stream #0:3, 0, 1/48000: Audio: pcm_s16le, 48000 Hz, 1 channels (FL),
 s16, 768 kb/s
     Metadata:
       encoder         : Lavc57.4.100 pcm_s16le
     Stream #0:4, 0, 1/48000: Audio: pcm_s16le, 48000 Hz, 1 channels (FR),
 s16, 768 kb/s
     Metadata:
       encoder         : Lavc57.4.100 pcm_s16le
     Stream #0:5, 0, 1/48000: Audio: pcm_s16le, 48000 Hz, 1 channels (FL),
 s16, 768 kb/s
     Metadata:
       encoder         : Lavc57.4.100 pcm_s16le
     Stream #0:6, 0, 1/48000: Audio: pcm_s16le, 48000 Hz, 1 channels (FR),
 s16, 768 kb/s
     Metadata:
       encoder         : Lavc57.4.100 pcm_s16le
     Stream #0:7, 0, 1/48000: Audio: pcm_s16le, 48000 Hz, 1 channels (FL),
 s16, 768 kb/s
     Metadata:
       encoder         : Lavc57.4.100 pcm_s16le
     Stream #0:8, 0, 1/48000: Audio: pcm_s16le, 48000 Hz, 1 channels (FR),
 s16, 768 kb/s
     Metadata:
       encoder         : Lavc57.4.100 pcm_s16le
 Stream mapping:
   Stream #0:1 (mp2) -> channelsplit
   Stream #0:2 (mp2) -> channelsplit
   Stream #0:3 (mp2) -> channelsplit
   Stream #0:4 (mp2) -> channelsplit
   Stream #0:0 -> #0:0 (copy)
   channelsplit:FL -> Stream #0:1 (pcm_s16le)
   channelsplit:FR -> Stream #0:2 (pcm_s16le)
   channelsplit:FL -> Stream #0:3 (pcm_s16le)
   channelsplit:FR -> Stream #0:4 (pcm_s16le)
   channelsplit:FL -> Stream #0:5 (pcm_s16le)
   channelsplit:FR -> Stream #0:6 (pcm_s16le)
   channelsplit:FL -> Stream #0:7 (pcm_s16le)
   channelsplit:FR -> Stream #0:8 (pcm_s16le)
 Press [q] to stop, [?] for help
 [mxf @ 0x3264a80] essence container count:2
 [mxf @ 0x3264a80] essence container count:2
 [mxf @ 0x3264a80] package type:1
 [mxf @ 0x3264a80] package type:2
 [mxf @ 0x3264a80] -d10_channelcount requires MXF D-10 and will be ignored
 [mxf @ 0x3264a80] -d10_channelcount requires MXF D-10 and will be ignored
 [mxf @ 0x3264a80] -d10_channelcount requires MXF D-10 and will be ignored
 [mxf @ 0x3264a80] -d10_channelcount requires MXF D-10 and will be ignored
 [mxf @ 0x3264a80] -d10_channelcount requires MXF D-10 and will be ignored
 [mxf @ 0x3264a80] -d10_channelcount requires MXF D-10 and will be ignored
 [mxf @ 0x3264a80] -d10_channelcount requires MXF D-10 and will be ignored
 [mxf @ 0x3264a80] -d10_channelcount requires MXF D-10 and will be ignored
 [mxf @ 0x3264a80] essence container count:2
 [mxf @ 0x3264a80] edit units count 0
 [output stream 0:1 @ 0x327da20] EOF on sink link output stream
 0:1:default.
 [output stream 0:2 @ 0x32744a0] EOF on sink link output stream
 0:2:default.
 [output stream 0:4 @ 0x3272fa0] EOF on sink link output stream
 0:4:default.
 [output stream 0:8 @ 0x3264440] EOF on sink link output stream
 0:8:default.
 [output stream 0:6 @ 0x3270e20] EOF on sink link output stream
 0:6:default.
 [output stream 0:7 @ 0x326fe20] EOF on sink link output stream
 0:7:default.
 [output stream 0:3 @ 0x32735a0] EOF on sink link output stream
 0:3:default.
 [output stream 0:5 @ 0x3271de0] EOF on sink link output stream
 0:5:default.
 No more output streams to write to, finishing.
 [mxf @ 0x3264a80] essence container count:2
 [mxf @ 0x3264a80] edit units count 22
 [mxf @ 0x3264a80] missing frames
 [mxf @ 0x3264a80] essence container count:2
 [mxf @ 0x3264a80] essence container count:2
 [mxf @ 0x3264a80] package type:1
 [mxf @ 0x3264a80] package type:2
 frame=   22 fps=0.0 q=-1.0 Lsize=    6078kB time=00:00:01.01
 bitrate=49007.3kbits/s
 video:5371kB audio:762kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: unknown
 Input file #0 (xdcam8mp2-2s.ts):
   Input stream #0:0 (video): 46 packets read (11556350 bytes);
   Input stream #0:1 (audio): 84 packets read (96768 bytes); 84 frames
 decoded (96768 samples);
   Input stream #0:2 (audio): 84 packets read (96768 bytes); 84 frames
 decoded (96768 samples);
   Input stream #0:3 (audio): 84 packets read (96768 bytes); 84 frames
 decoded (96768 samples);
   Input stream #0:4 (audio): 84 packets read (96768 bytes); 84 frames
 decoded (96768 samples);
   Total: 382 packets (11943422 bytes) demuxed
 Output file #0 (xdcam8mp2-2s.mxf):
   Output stream #0:0 (video): 22 packets muxed (5499887 bytes);
   Output stream #0:1 (audio): 43 frames encoded (48768 samples); 43
 packets muxed (97536 bytes);
   Output stream #0:2 (audio): 43 frames encoded (48768 samples); 43
 packets muxed (97536 bytes);
   Output stream #0:3 (audio): 43 frames encoded (48768 samples); 43
 packets muxed (97536 bytes);
   Output stream #0:4 (audio): 43 frames encoded (48768 samples); 43
 packets muxed (97536 bytes);
   Output stream #0:5 (audio): 43 frames encoded (48768 samples); 43
 packets muxed (97536 bytes);
   Output stream #0:6 (audio): 43 frames encoded (48768 samples); 43
 packets muxed (97536 bytes);
   Output stream #0:7 (audio): 43 frames encoded (48768 samples); 43
 packets muxed (97536 bytes);
   Output stream #0:8 (audio): 43 frames encoded (48768 samples); 43
 packets muxed (97536 bytes);
   Total: 366 packets (6280175 bytes) muxed
 336 frames successfully decoded, 0 decoding errors
 [AVIOContext @ 0x3264600] Statistics: 3 seeks, 356 writeouts
 [AVIOContext @ 0x321c860] Statistics: 19478940 bytes read, 3 seeks
 }}}
 This part of the verbose output on the console seems to show the problem;
 {{{
 [mxf @ 0x3264a80] out st:1 dts:20
 [mxf @ 0x3264a80] out st:2 dts:20
 [mxf @ 0x3264a80] out st:3 dts:20
 [mxf @ 0x3264a80] out st:4 dts:20
 [mxf @ 0x3264a80] out st:5 dts:20
 [mxf @ 0x3264a80] out st:6 dts:20
 [mxf @ 0x3264a80] out st:7 dts:20
 [mxf @ 0x3264a80] out st:8 dts:20
 [mxf @ 0x3264a80] out st:0 dts:21
 [output stream 0:1 @ 0x327da20] EOF on sink link output stream
 0:1:default.
 [output stream 0:2 @ 0x32744a0] EOF on sink link output stream
 0:2:default.
 [output stream 0:4 @ 0x3272fa0] EOF on sink link output stream
 0:4:default.
 [output stream 0:8 @ 0x3264440] EOF on sink link output stream
 0:8:default.
 [output stream 0:6 @ 0x3270e20] EOF on sink link output stream
 0:6:default.
 [output stream 0:7 @ 0x326fe20] EOF on sink link output stream
 0:7:default.
 [output stream 0:3 @ 0x32735a0] EOF on sink link output stream
 0:3:default.
 [output stream 0:5 @ 0x3271de0] EOF on sink link output stream
 0:5:default.
 No more output streams to write to, finishing.
 [mxf @ 0x3264a80] out st:1 dts:21
 [mxf @ 0x3264a80] essence container count:2
 [mxf @ 0x3264a80] edit units count 22
 [mxf @ 0x3264a80] missing frames
 [mxf @ 0x3264a80] essence container count:2
     Last message repeated 1 times
 [mxf @ 0x3264a80] package type:1
 [mxf @ 0x3264a80] package type:2
 frame=   22 fps=0.0 q=-1.0 Lsize=    6078kB time=00:00:01.01
 bitrate=49007.3kbits/s
 video:5371kB audio:762kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: unknown
 }}}
 {{{dts:20}}} is written for all output streams, {{{dts:21}}} only for
 {{{st:0}}} and {{{st:1}}}

 The message {{{[mxf @ 0x3264a80] missing frames}}} might also be relevant,
 but I don't get this on other input files.

 The problem can also be shown using ffprobe
 {{{
 ./ffprobe  -i xdcam8mp2-2s.mxf -of flat -show_streams -count_frames
 -show_entries stream=index,duration,nb_read_frames:disposition=:tags=
 ffprobe version N-75804-ga852db7 Copyright (c) 2007-2015 the FFmpeg
 developers
   built with gcc 4.7 (Debian 4.7.2-5)
   configuration:
   libavutil      55.  2.100 / 55.  2.100
   libavcodec     57.  4.100 / 57.  4.100
   libavformat    57.  3.100 / 57.  3.100
   libavdevice    57.  0.100 / 57.  0.100
   libavfilter     6. 10.100 /  6. 10.100
   libswscale      4.  0.100 /  4.  0.100
   libswresample   2.  0.100 /  2.  0.100
 [mxf @ 0x2380020] index entry 21 + TemporalOffset 1 = 22, which is out of
 bounds
 Input #0, mxf, from 'xdcam8mp2-2s.mxf':
   Metadata:
     uid             : adab4424-2f25-4dc7-92ff-29bd000c0000
     generation_uid  : adab4424-2f25-4dc7-92ff-29bd000c0001
     company_name    : FFmpeg
     product_name    : OP1a Muxer
     product_version : 57.3.100
     product_uid     : adab4424-2f25-4dc7-92ff-29bd000c0002
     modification_date: 0-01-01 00:00:00
     material_package_umid:
 0x060A2B340101010501010D00134DC4A7529471346A4DC4A700529471346A4D00
     timecode        : 00:00:00:00
   Duration: 00:00:00.88, start: 0.000000, bitrate: 56581 kb/s
     Stream #0:0: Video: mpeg2video (4:2:2), yuv422p(tv, bt709), 1920x1080
 [SAR 1:1 DAR 16:9], 50000 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc
     Metadata:
       file_package_umid:
 0x060A2B340101010501010D00134DC4A7529471346A4DC4A700529471346A4D01
     Stream #0:1: Audio: pcm_s16le, 48000 Hz, 1 channels, s16, 768 kb/s
     Metadata:
       file_package_umid:
 0x060A2B340101010501010D00134DC4A7529471346A4DC4A700529471346A4D01
     Stream #0:2: Audio: pcm_s16le, 48000 Hz, 1 channels, s16, 768 kb/s
     Metadata:
       file_package_umid:
 0x060A2B340101010501010D00134DC4A7529471346A4DC4A700529471346A4D01
     Stream #0:3: Audio: pcm_s16le, 48000 Hz, 1 channels, s16, 768 kb/s
     Metadata:
       file_package_umid:
 0x060A2B340101010501010D00134DC4A7529471346A4DC4A700529471346A4D01
     Stream #0:4: Audio: pcm_s16le, 48000 Hz, 1 channels, s16, 768 kb/s
     Metadata:
       file_package_umid:
 0x060A2B340101010501010D00134DC4A7529471346A4DC4A700529471346A4D01
     Stream #0:5: Audio: pcm_s16le, 48000 Hz, 1 channels, s16, 768 kb/s
     Metadata:
       file_package_umid:
 0x060A2B340101010501010D00134DC4A7529471346A4DC4A700529471346A4D01
     Stream #0:6: Audio: pcm_s16le, 48000 Hz, 1 channels, s16, 768 kb/s
     Metadata:
       file_package_umid:
 0x060A2B340101010501010D00134DC4A7529471346A4DC4A700529471346A4D01
     Stream #0:7: Audio: pcm_s16le, 48000 Hz, 1 channels, s16, 768 kb/s
     Metadata:
       file_package_umid:
 0x060A2B340101010501010D00134DC4A7529471346A4DC4A700529471346A4D01
     Stream #0:8: Audio: pcm_s16le, 48000 Hz, 1 channels, s16, 768 kb/s
     Metadata:
       file_package_umid:
 0x060A2B340101010501010D00134DC4A7529471346A4DC4A700529471346A4D01
 streams.stream.0.index=0
 streams.stream.0.duration="0.880000"
 streams.stream.0.nb_read_frames="20"
 streams.stream.1.index=1
 streams.stream.1.duration="0.880000"
 streams.stream.1.nb_read_frames="22"
 streams.stream.2.index=2
 streams.stream.2.duration="0.880000"
 streams.stream.2.nb_read_frames="21"
 streams.stream.3.index=3
 streams.stream.3.duration="0.880000"
 streams.stream.3.nb_read_frames="21"
 streams.stream.4.index=4
 streams.stream.4.duration="0.880000"
 streams.stream.4.nb_read_frames="21"
 streams.stream.5.index=5
 streams.stream.5.duration="0.880000"
 streams.stream.5.nb_read_frames="21"
 streams.stream.6.index=6
 streams.stream.6.duration="0.880000"
 streams.stream.6.nb_read_frames="21"
 streams.stream.7.index=7
 streams.stream.7.duration="0.880000"
 streams.stream.7.nb_read_frames="21"
 streams.stream.8.index=8
 streams.stream.8.duration="0.880000"
 streams.stream.8.nb_read_frames="21"
 }}}
 Although the duration of all streams is 0.88, audio stream 1 has 22
 frames, the other audio streams have 21 frames. FFprobe shows 20 frames
 for stream 0 (video), but I believe this should be 22.

 Using MXFDump from https://github.com/Limecraft/ebu-libmxf confirms the
 output has 22 video frames, the first audio stream has also 22 frames, all
 other audio streams have 21 frames. I'll also attach the MXFDump output
 xdcam8mp2-2s.mxf.txt

 Patches should be submitted to the ffmpeg-devel mailing list and not this
 bug tracker.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/4913>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list