[FFmpeg-trac] #5088(ffmpeg:new): copying mpegts file fails for h264 video
FFmpeg
trac at avcodec.org
Mon Dec 14 11:07:43 CET 2015
#5088: copying mpegts file fails for h264 video
-------------------------------------+-------------------------------------
Reporter: Hirschmann | Type: defect
Status: new | Priority: normal
Component: ffmpeg | Version: git-
Keywords: mpegts copy | master
Blocking: | Blocked By:
Analyzed by developer: 0 | Reproduced by developer: 0
-------------------------------------+-------------------------------------
Summary of the bug: copying an transport stream file to another transport
stream file using ffmpeg results in video not being copied to the output
file for certain transport stream files.
FFprobe sees the file as valid, and containing both video (h264) and audio
{{{
ffprobe -i ../../bug.ts
ffprobe version 2.2.git Copyright (c) 2007-2014 the FFmpeg developers
built on Nov 3 2015 14:08:20 with gcc 4.9.2 (Debian 4.9.2-10)
configuration: --enable-gpl --enable-nonfree --enable-pthreads --enable-
libfaac --enable-libmp3lame --enable-libx264 --enable-avfilter
libavutil 52. 66.101 / 52. 66.101
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 34.100 / 55. 34.100
libavdevice 55. 11.100 / 55. 11.100
libavfilter 4. 3.100 / 4. 3.100
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
[h264 @ 0x1b92420] non-existing PPS 0 referenced
Last message repeated 1 times
[h264 @ 0x1b92420] decode_slice_header error
[h264 @ 0x1b92420] no frame!
[h264 @ 0x1b92420] non-existing PPS 0 referenced
Last message repeated 1 times
[h264 @ 0x1b92420] decode_slice_header error
[h264 @ 0x1b92420] no frame!
[h264 @ 0x1b92420] non-existing PPS 0 referenced
Last message repeated 1 times
[h264 @ 0x1b92420] decode_slice_header error
[h264 @ 0x1b92420] no frame!
Input #0, mpegts, from '../../bug.ts':
Duration: 00:01:17.47, start: 88107.279200, bitrate: 2743 kb/s
Program 4
Stream #0:0[0x223]: Video: h264 (Main) ([27][0][0][0] / 0x001B),
yuv420p(tv), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0x224]: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz,
stereo, fltp, 130 kb/s
}}}
How to reproduce:
{{{
% ffmpeg -y -loglevel debug -i bug.ts -c:v copy -c:a copy -f mpegts out.ts
ffmpeg version 2.2.git Copyright (c) 2000-2014 the FFmpeg developers
built on Nov 3 2015 14:08:20 with gcc 4.9.2 (Debian 4.9.2-10)
configuration: --enable-gpl --enable-nonfree --enable-pthreads --enable-
libfaac --enable-libmp3lame --enable-libx264 --enable-avfilter
libavutil 52. 66.101 / 52. 66.101
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 34.100 / 55. 34.100
libavdevice 55. 11.100 / 55. 11.100
libavfilter 4. 3.100 / 4. 3.100
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
Splitting the commandline.
Reading option '-y' ... matched as option 'y' (overwrite output files)
with argument '1'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging
level) with argument 'debug'.
Reading option '-i' ... matched as input file with argument
'../../bug.ts'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument
'copy'.
Reading option '-c:a' ... matched as option 'c' (codec name) with argument
'copy'.
Reading option '-f' ... matched as option 'f' (force format) with argument
'mpegts'.
Reading option 'out.ts' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option y (overwrite output files) with argument 1.
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input file ../../bug.ts.
Successfully parsed a group of options.
Opening an input file: ../../bug.ts.
[mpegts @ 0x214f940] Format mpegts probed with size=2048 and score=100
[mpegts @ 0x214f940] stream=0 stream_type=1b pid=223 prog_reg_desc=
[mpegts @ 0x214f940] stream=1 stream_type=f pid=224 prog_reg_desc=
[mpegts @ 0x214f940] Before avformat_find_stream_info() pos: 0 bytes
read:32768 seeks:0
[mpegts @ 0x214f940] All programs have pmt, headers found
[h264 @ 0x2153b40] non-existing PPS 0 referenced
Last message repeated 1 times
[h264 @ 0x2153b40] decode_slice_header error
[h264 @ 0x2153b40] no frame!
[h264 @ 0x2153b40] non-existing PPS 0 referenced
Last message repeated 1 times
[h264 @ 0x2153b40] decode_slice_header error
[h264 @ 0x2153b40] no frame!
[h264 @ 0x2153b40] non-existing PPS 0 referenced
Last message repeated 1 times
[h264 @ 0x2153b40] decode_slice_header error
[h264 @ 0x2153b40] no frame!
[h264 @ 0x2153b40] Frame num gap 29 26
[h264 @ 0x2153b40] Frame num gap 29 27
[h264 @ 0x2153b40] no picture ooo
[h264 @ 0x2153b40] no picture
[h264 @ 0x2153b40] Increasing reorder buffer to 1
[mpegts @ 0x214f940] All info found
[mpegts @ 0x214f940] After avformat_find_stream_info() pos: 0 bytes
read:577680 seeks:2 frames:65
Input #0, mpegts, from '../../bug.ts':
Duration: 00:01:17.47, start: 88107.279200, bitrate: 2743 kb/s
Program 4
Stream #0:0[0x223], 21, 1/90000: Video: h264 (Main) ([27][0][0][0] /
0x001B), yuv420p(tv), 720x576 [SAR 64:45 DAR 16:9], 1/50, 25 fps, 25 tbr,
90k tbn, 50 tbc
Stream #0:1[0x224], 44, 1/90000: Audio: aac ([15][0][0][0] / 0x000F),
48000 Hz, stereo, fltp, 130 kb/s
Successfully opened the file.
Parsing a group of options: output file out.ts.
Applying option c:v (codec name) with argument copy.
Applying option c:a (codec name) with argument copy.
Applying option f (force format) with argument mpegts.
Successfully parsed a group of options.
Opening an output file: out.ts.
Successfully opened the file.
[mpegts @ 0x2155420] muxrate VBR, pcr every 2 pkts, sdt every 200, pat/pmt
every 40 pkts
Output #0, mpegts, to 'out.ts':
Metadata:
encoder : Lavf55.34.100
Stream #0:0, 0, 1/90000: Video: h264 ([27][0][0][0] / 0x001B),
yuv420p, 720x576 [SAR 64:45 DAR 16:9], 1/25, q=2-31, 25 fps, 90k tbn, 25
tbc
Stream #0:1, 0, 1/90000: Audio: aac ([15][0][0][0] / 0x000F), 48000
Hz, stereo, 130 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005333 > 10000000: forcing output
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005334 > 10000000: forcing output
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005333 > 10000000: forcing output
Last message repeated 1 times
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005334 > 10000000: forcing output
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005333 > 10000000: forcing output
Last message repeated 1 times
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005334 > 10000000: forcing output
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005333 > 10000000: forcing output
Last message repeated 1 times
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005334 > 10000000: forcing output
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005333 > 10000000: forcing output
Last message repeated 1 times
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005334 > 10000000: forcing output
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005333 > 10000000: forcing output
Last message repeated 1 times
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005334 > 10000000: forcing output
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005333 > 10000000: forcing output
Last message repeated 1 times
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005334 > 10000000: forcing output
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005333 > 10000000: forcing output
Last message repeated 1 times
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005334 > 10000000: forcing output
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005333 > 10000000: forcing output
Last message repeated 1 times
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005334 > 10000000: forcing output
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005333 > 10000000: forcing output
Last message repeated 1 times
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005334 > 10000000: forcing output
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005333 > 10000000: forcing output
Last message repeated 1 times
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005334 > 10000000: forcing output
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005333 > 10000000: forcing output
Last message repeated 1 times
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005334 > 10000000: forcing output
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005333 > 10000000: forcing output
Last message repeated 1 times
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005334 > 10000000: forcing output
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005333 > 10000000: forcing output
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005334 > 10000000: forcing output
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005333 > 10000000: forcing output
Last message repeated 1 times
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005334 > 10000000: forcing output
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005333 > 10000000: forcing output
Last message repeated 1 times
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005334 > 10000000: forcing output
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005333 > 10000000: forcing output
Last message repeated 1 times
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005334 > 10000000: forcing output
[mpegts @ 0x2155420] Delay between the first packet and last packet in the
muxing queue is 10005333 > 10000000: forcing output
No more output streams to write to, finishing.
frame= 0 fps=0.0 q=-1.0 Lsize= 1391kB time=00:01:16.88 bitrate=
148.2kbits/s
video:0kB audio:1225kB subtitle:0 data:0 global headers:0kB muxing
overhead 13.499879%
0 frames successfully decoded, 0 decoding errors
[AVIOContext @ 0x2153380] Statistics: 0 seeks, 451 writeouts
[AVIOContext @ 0x2158100] Statistics: 27145840 bytes read, 2 seeks
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/5088>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list