Ticket #1150 (open defect)

Opened 14 months ago

Last modified 5 months ago

H264 Main remuxing to TS fails (missing timestamps)

Reported by: quandt Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords: av_interleaved_write_frame h264 mpegts
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

ffmpeg -i test.264 -vcodec copy -an -f mpegts test.ts

Fails with errors.

Earlier builds did produce TS streams but playback was jittery.

I know this is already a known but but I'm submitting this in order to provide test material.

version N-38772-gc2e3b56

attached files will include:
test.pcap -- raw rtp session of H264 stream from a real-time encoder
test.sdp -- matching sdp file to the live feed
test.264 -- extracted raw H264 elementary stream from RTP feed, ie what is supposed to be able to be mux'd inside of ffmpeg. This is a H264 Main compliant stream (ie B frames).

Attachments

test.sdp Download (624 bytes) - added by quandt 14 months ago.
SDP describing RTP feed
test-short.pcap Download (2.0 MB) - added by quandt 14 months ago.
RTP pcap file, can be replayed with sudo tcpreplay -i ethX test-short.pcap , I shortened this with dd, hopefully it still plays
test-short.264 Download (2.0 MB) - added by quandt 14 months ago.
Raw elementary stream extracted from RTP, ie what ffmpeg should be able to mux. This is H264 Main profile (ie b frames)

Change History

Changed 14 months ago by quandt

SDP describing RTP feed

Changed 14 months ago by quandt

RTP pcap file, can be replayed with sudo tcpreplay -i ethX test-short.pcap , I shortened this with dd, hopefully it still plays

Changed 14 months ago by quandt

Raw elementary stream extracted from RTP, ie what ffmpeg should be able to mux. This is H264 Main profile (ie b frames)

comment:1 Changed 14 months ago by cehoyos

  • Keywords av_interleaved_write_frame h264 ts added

Please add complete, uncut output of your failing ffmpeg command.

comment:2 Changed 14 months ago by quandt

Latest GIT of FFMPEg does fail to even process, however, earlier version of FFMPEG do process and create a failed TS. Regardless here is the "failed" response of the current GIT version.

ffmpeg started on 2012-03-29 at 12:53:42
Report written to "ffmpeg-20120329-125342.log"
Command line:
./ffmpeg -fflags +genpts -r 30000/1001 -i ../samples/test.264 -vcodec copy -f mpegts out.ts -report
ffmpeg version N-38772-gc2e3b56 Copyright (c) 2000-2012 the FFmpeg developers

built on Mar 29 2012 12:35:54 with gcc 4.6.1
configuration: --enable-libmp3lame --enable-libfaac --enable-gpl --enable-nonfree
libavutil 51. 42.100 / 51. 42.100
libavcodec 54. 10.100 / 54. 10.100
libavformat 54. 2.100 / 54. 2.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 64.101 / 2. 64.101
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 7.100 / 0. 7.100
libpostproc 52. 0.100 / 52. 0.100

[h264 @ 0x95241a0] Format h264 probed with size=2048 and score=51
[h264 @ 0x952a600] no picture
[h264 @ 0x95241a0] max_analyze_duration 5000000 reached at 5005000
[h264 @ 0x95241a0] Estimating duration from bitrate, this may be inaccurate
Input #0, h264, from '../samples/test.264':

Duration: N/A, bitrate: N/A

Stream #0:0, 152, 1/1200000: Video: h264 (Main), yuv420p, 640x368 [SAR 5888:5760 DAR 16:9], 29.97 fps, 29.97 tbr, 1200k tbn, 59.94 tbc

muxrate VBR, pcr every 2 pkts, sdt every 200, pat/pmt every 40 pkts
Output #0, mpegts, to 'out.ts':

Metadata:

encoder : Lavf54.2.100
Stream #0:0, 0, 1/90000: Video: h264, yuv420p, 640x368 [SAR 5888:5760 DAR 16:9], q=2-31, 29.97 fps, 90k tbn, 29.97 tbc

Stream mapping:

Stream #0:0 -> #0:0 (copy)

Press [q] to stop, ? for help
[mpegts @ 0x952c140] first pts value must set
av_interleaved_write_frame(): Invalid data found when processing input
quandt@quandt-PowerEdge?-R410:~/Desktop/devel/ffmpegGIT$

comment:3 Changed 14 months ago by cehoyos

  • Status changed from new to open
  • Version changed from unspecified to git-master

comment:4 Changed 7 months ago by cehoyos

  • Keywords mpegts added; ts removed

comment:5 Changed 5 months ago by cehoyos

  • Summary changed from H264 Main remuxing to TS fails (B frame not properly handled, playback jittery) to H264 Main remuxing to TS fails (missing timestamps)

comment:6 Changed 5 months ago by cehoyos

  • Reproduced by developer set
Note: See TracTickets for help on using tickets.