Opened 4 years ago

Last modified 2 years ago

#1150 open defect

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: julian@corecode.at 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 (3)

test.sdp (624 bytes) - added by quandt 4 years ago.
SDP describing RTP feed
test-short.pcap (2.0 MB) - added by quandt 4 years 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 (2.0 MB) - added by quandt 4 years 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 (11)

Changed 4 years ago by quandt

SDP describing RTP feed

Changed 4 years 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 4 years 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 4 years ago by cehoyos

  • Keywords av_interleaved_write_frame h264 ts added

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

comment:2 Changed 4 years 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 4 years ago by cehoyos

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

comment:4 Changed 4 years ago by cehoyos

  • Keywords mpegts added; ts removed

comment:5 Changed 4 years 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 4 years ago by cehoyos

  • Reproduced by developer set

comment:7 Changed 3 years ago by julian

  • Cc julian@corecode.at added

comment:8 Changed 2 years ago by julian

i have a bunch of more files that all exhibit the "pts (xx) < dts (yy) av_interleaved_write_frame(): Invalid argument" failure when trying to convert them to mp4

https://dl.dropboxusercontent.com/u/7221986/av_interleaved_write_frame.zip

any progress on this matter?

Note: See TracTickets for help on using tickets.