Opened 4 years ago

Closed 8 months ago

#4913 closed defect (fixed)

MXF output has some too short audio streams when transcoding from mp2

Reported by: wim_arbor Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: mxf
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

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.

Attachments (2)

xdcam8mp2-2s.mxf.txt (166.7 KB) - added by wim_arbor 4 years ago.
MXFDump output of xdcam8mp2-2s.mxf
ffmpeg-20151007-104736.log (18.1 KB) - added by wim_arbor 4 years ago.
ffmpeg -report output

Download all attachments as: .zip

Change History (7)

Changed 4 years ago by wim_arbor

MXFDump output of xdcam8mp2-2s.mxf

Changed 4 years ago by wim_arbor

ffmpeg -report output

comment:1 Changed 4 years ago by wim_arbor

I will create a related ticket later today where the same ffmpeg command with a different input file causes a Segmentation fault.

comment:2 Changed 4 years ago by wim_arbor

created #4914 where a 1-second version of the same file, causes a segmentation fault when executing the same command as in this ticket.

comment:3 Changed 4 years ago by cehoyos

Please upload your sample again.

comment:4 Changed 4 years ago by wim_arbor

I have reuploaded xdcam8mp2-2s.ts to upload.ffmpeg.org

comment:5 Changed 8 months ago by cehoyos

  • Component changed from undetermined to avformat
  • Resolution set to fixed
  • Status changed from new to closed

I believe this issue was fixed by Baptiste Coudurier in 955a989341a5d43ba88f746b6325f5be35b48146

Note: See TracTickets for help on using tickets.