Opened 11 years ago

Closed 10 years ago

#466 closed defect (fixed)

Does FFMPEG support MPEGTS + H.264?

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

Description

I run GStreamer + FFMPEG with the attached video file (MPEGTS + H.264 codec). But the
following message occurred.

gstffmpegdec.c:2260:gst_ffmpegdec_frame: ffdec_h264: decoding error (len: -1,
have_data: 0)

E/GstPlayer( 552): [757], ERROR :0:: non-existing SPS 0 referenced in
buffering period

E/GstPlayer( 552): [757], ERROR :0:: non-existing PPS 0 referenced

E/GstPlayer( 552): [757], ERROR :0:: decode_slice_header error

E/GstPlayer( 552): [757], ERROR :0:: no frame!

The complete log file is attached.

Attachments (5)

h264_mpegts_log.txt (49.4 KB ) - added by sunshine_uyl 11 years ago.
log file
509M_ts_1MB.bin (1000.0 KB ) - added by sunshine_uyl 11 years ago.
1MB data extract from begging of video clip
ffplay_h264_mpegts_log.bmp.gz (99.3 KB ) - added by sunshine_uyl 11 years ago.
ffplay_h264_mpegts_log.txt (59.9 KB ) - added by sunshine_uyl 11 years ago.
ffplay_v0.8.3_h264_mpegts_log.txt (59.1 KB ) - added by sunshine_uyl 11 years ago.

Download all attachments as: .zip

Change History (32)

by sunshine_uyl, 11 years ago

Attachment: h264_mpegts_log.txt added

log file

by sunshine_uyl, 11 years ago

Attachment: 509M_ts_1MB.bin added

1MB data extract from begging of video clip

comment:1 by Carl Eugen Hoyos, 11 years ago

This does not look like a valid report.

If you want to report a problem with GStreamer, please report it to GStreamer.
If you want to report a problem with FFmpeg, please provide a failing ffmpeg command line and complete, uncut output of your failing command and please upload a sufficiently long sample to http://www.datafilehost.com/
Only report a problem with ffplay if it is not reproducible with ffmpeg.

(You may of course report a problem with one of the libraries, but if it is not reproducible with ffmpeg or ffplay, you will have to explain why.)

by sunshine_uyl, 11 years ago

comment:2 by sunshine_uyl, 11 years ago

I use ffplay to play video clip (mpegts + h.264) again. Please refer to the attached file ffplay_h264_mpegts_log.bmp.gz.

comment:3 by Carl Eugen Hoyos, 11 years ago

If you want to report a problem with ffplay, please confirm that it is working fine with ffmpeg.
The complete, uncut output that is needed for ffmpeg (if the problem is reproducible with ffmpeg) or ffplay (if the problem is not reproducible with ffmpeg) has to be posted in this ticket, for example by copying the output from the console, the bitmap you attached is not useful.

The 1MB sample you uploaded cannot be decoded or played, it is too short. If you have a longer sample that fails, please upload to http://www.datafilehost.com/

comment:4 by sunshine_uyl, 11 years ago

I have upload 509M.ts to http://www.datafilehost.com/. It is video clip with MPEGTS + H.264 codec.

comment:5 by Carl Eugen Hoyos, 11 years ago

You will have to add complete, uncut console output of ffmpeg (or ffplay if the problem is not reproducible with ffmpeg) and a link to the sample you uploaded if you want your problem fixed.

comment:6 by sunshine_uyl, 11 years ago

Thanks for your response. Since the web site http://www.datafilehost.com/ has file size 100MB limitation. And file size of my tested video clip larger than 100MB. Could you provide other web site or FTP server for me to upload my tested vido clip.

comment:7 by Carl Eugen Hoyos, 11 years ago

You could still add complete, uncut console output of ffmpeg (or ffplay, if the issue is not reproducible with ffmpeg) latest git head.

comment:8 by sunshine_uyl, 11 years ago

I didn't see any option of ffplay that can generate uncut console output. Could you tell how can I generate uncut console output of ffplay? Thanks in advance.

comment:9 by Carl Eugen Hoyos, 11 years ago

First, you will have to test ffmpeg, because you may only report problems for ffplay that are not reproducible with ffmpeg.

Both ffmpeg and ffplay print information on the console while running.
Paste this output here.

by sunshine_uyl, 11 years ago

Attachment: ffplay_h264_mpegts_log.txt added

comment:10 by sunshine_uyl, 11 years ago

Please refer to the attached file ffplay_h264_mpegts_log.txt for log message generated by ffplay. I will attached log message generated by ffmpeg later.

comment:11 by sunshine_uyl, 11 years ago

Since there are many FFMPEG command option. Which FFMPEG command option would you like to test with MPEGTS + H.264 video clip?

comment:12 by Carl Eugen Hoyos, 11 years ago

Resolution: invalid
Status: newclosed

The version you are using is ancient and not supported.

Please reopen if your problem is reproducible with current git head (or a current snapshot if you do not have git installed) or a current release. Please find them at http://ffmpeg.org/download.html

comment:13 by Carl Eugen Hoyos, 11 years ago

With current release, I meant 0.7.4 and 0.8.3, but a git snapshot is preferred.

comment:14 by sunshine_uyl, 11 years ago

I use ffplay v0.8.3 to play MPEGTS + H.264 video clip. But it sill fail. Please refer to the attached file ffplay_v0.8.3_h264_mpegts_log.txt for log message generated by ffplay v0.8.3.

by sunshine_uyl, 11 years ago

in reply to:  12 comment:15 by sunshine_uyl, 11 years ago

Resolution: invalid
Status: closedreopened

Replying to cehoyos:

The version you are using is ancient and not supported.

Please reopen if your problem is reproducible with current git head (or a current snapshot if you do not have git installed) or a current release. Please find them at http://ffmpeg.org/download.html

comment:16 by Carl Eugen Hoyos, 11 years ago

Please upload a sample to http://www.datafilehost.com/

comment:17 by sunshine_uyl, 11 years ago

Thanks for your response. Since the web site http://www.datafilehost.com/ has file size 100MB limitation. And file size of my tested video clip larger than 100MB. Could you provide other web site or FTP server for me to upload my tested vido clip.

comment:18 by Carl Eugen Hoyos, 11 years ago

Is 100MB not enough to reproduce the problem?

comment:19 by sunshine_uyl, 11 years ago

I got one brazil.ts with filesize less than 100MB today. And I have upload to http://www.datafilehost.com/download-5b15b1e7.html

comment:20 by Carl Eugen Hoyos, 11 years ago

Reproduced by developer: set
Status: reopenedopen
Version: unspecifiedgit-master

The file contains two programs: 59352, low resolution, works fine and is ~26 seconds long.
The problematic program is 59328, high definition (1920x1080), it contains ~26 seconds audio starting with timestamps ~34616. Audio can be played with ffplay -vn, mplayer -demuxer lavf -novideo and can be converted with ffmpeg.
Video is ~24 seconds, and start with 34618 when played with mplayer -demuxer mpegts -nosound (and seek back).
FFmpeg initially sees video timestamps of 1317472613.58 leading to startup delay and failure because of too high drop count. (The wrong timestamps are not reproducible with ffprobe.)

$ ffmpeg -i Brazil.ts -qscale 2 out.avi
ffmpeg version N-33192-gfe70c1f, Copyright (c) 2000-2011 the FFmpeg developers
  built on Oct  1 2011 12:36:37 with gcc 4.3.2 [gcc-4_3-branch revision 141291]
  configuration: --enable-libopenjpeg
  libavutil    51. 18. 0 / 51. 18. 0
  libavcodec   53. 19. 0 / 53. 19. 0
  libavformat  53. 13. 0 / 53. 13. 0
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 43. 6 /  2. 43. 6
  libswscale    2.  1. 0 /  2.  1. 0
[h264 @ 0x8d449a0] non-existing SPS 0 referenced in buffering period
[h264 @ 0x8d449a0] non-existing PPS referenced
[h264 @ 0x8d449a0] non-existing SPS 0 referenced in buffering period
[h264 @ 0x8d449a0] non-existing PPS 0 referenced
[h264 @ 0x8d449a0] decode_slice_header error
[h264 @ 0x8d449a0] no frame!

...

[h264 @ 0x8d449a0] non-existing SPS 0 referenced in buffering period
[h264 @ 0x8d449a0] non-existing PPS referenced
[h264 @ 0x8d449a0] non-existing SPS 0 referenced in buffering period
[h264 @ 0x8d449a0] non-existing PPS 0 referenced
[h264 @ 0x8d449a0] decode_slice_header error
[h264 @ 0x8d449a0] no frame!
[h264 @ 0x8d449a0] mmco: unref short failure
[h264 @ 0x8d86640] non-existing SPS 32 referenced in buffering period
[h264 @ 0x8d86640] non-existing PPS referenced
[h264 @ 0x8d86640] non-existing SPS 32 referenced in buffering period
[h264 @ 0x8d86640] non-existing PPS 0 referenced
[h264 @ 0x8d86640] decode_slice_header error
[h264 @ 0x8d86640] no frame!
[mpegts @ 0x8d3faa0] probed stream 5 failed
[mpegts @ 0x8d3faa0] probed stream 8 failed
[mpegts @ 0x8d3faa0] parser not found for codec none, packets or times may be invalid
.
    Last message repeated 1 times
[NULL @ 0x8d46140] start time is not set in estimate_timings_from_pts
[NULL @ 0x8d46920] start time is not set in estimate_timings_from_pts
[NULL @ 0x8d8c8a0] start time is not set in estimate_timings_from_pts
[mpegts @ 0x8d3faa0] PES packet size mismatch

Seems stream 0 codec frame rate differs from container frame rate: 59.94 (60000/1001)
 -> 59.94 (60000/1001)

Seems stream 7 codec frame rate differs from container frame rate: 29.97 (30000/1001)
 -> 29.97 (30000/1001)
Input #0, mpegts, from 'Brazil.ts':
  Duration: 06:05:53.98, start: 12688.943522, bitrate: 35 kb/s
  Program 59328
    Metadata:
      service_name    : ?Record HD
      service_provider:
    Stream #0:0[0x111]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 148.90 fps, 59.94 tbr, 90k tbn, 59.94 tbc
    Stream #0:1[0x112]: Audio: aac_latm ([17][0][0][0] / 0x0011), 48000 Hz, stereo, s16
    Stream #0:2[0x113]: Audio: aac_latm ([17][0][0][0] / 0x0011), 48000 Hz, stereo, s16
    Stream #0:3[0x384]: Unknown: none ([11][0][0][0] / 0x000B)
    Stream #0:4[0x1f4]: Unknown: none ([5][0][0][0] / 0x0005)
    Stream #0:5[0x120]: Unknown: none ([6][0][0][0] / 0x0006)
  Program 59352
    Metadata:
      service_name    : ?Record 1Seg
      service_provider:
    Stream #0:7[0x281]: Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yuv420p, 320x180 [SAR 1:1 DAR 16:9], 38.96 fps, 29.97 tbr, 90k tbn, 29.97 tbc
    Stream #0:6[0x283]: Audio: aac_latm ([17][0][0][0] / 0x0011), 48000 Hz, 2 channels (FC), s16
    Stream #0:8[0x290]: Unknown: none ([6][0][0][0] / 0x0006)
[buffer @ 0x8e0eba0] w:1920 h:1080 pixfmt:yuv420p tb:1/1000000 sar:1/1 sws_param:
Incompatible sample format 's16' for codec 'ac3', auto-selecting format 'flt'
Output #0, avi, to 'out.avi':
  Metadata:
    ISFT            : Lavf53.13.0
    Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 59.94 tbn, 59.94 tbc
    Stream #0:1: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, stereo, flt, 128 kb/s
Stream mapping:
  Stream #0.0 -> #0.0 (h264 -> mpeg4)
  Stream #0.1 -> #0.1 (aac_latm -> ac3)
Press [q] to stop, [?] for help
[h264 @ 0x8d449a0] mmco: unref short failure
    Last message repeated 2 times
frame=  194 fps=  3 q=2.0 size=     427kB time=00:00:26.27 bitrate= 133.0kbits/s
PES packet size mismatch
[h264 @ 0x8d449a0] error while decoding MB 55 5, bytestream (-19)
Error while decoding stream #0.1
Too large number of skiped frames 1315522
frame=  198 fps=  3 q=2.0 Lsize=     428kB time=00:00:26.36 bitrate= 133.0kbits/s
video:19722kB audio:412kB global headers:0kB muxing overhead -97.873377%

Cutting the file like this solves all problems:

dd if=Brazil.ts of=test.ts bs=1M skip=72

Cutting only 71M does not really help.

comment:21 by Carl Eugen Hoyos, 11 years ago

The sample plays fine with ffplay, the problems can only be seen when converting with ffmpeg (or playing with mplayer -demuxer lavf, mplayer -demuxer mpegts is worse).

comment:22 by Carl Eugen Hoyos, 11 years ago

Plays fine now with mplayer -demuxer mpegts, mplayer -demuxer lavf and ffplay, the problems when converting with ffmpeg are still reproducible.

comment:23 by Carl Eugen Hoyos, 11 years ago

Keywords: H264 TS added

comment:24 by Carl Eugen Hoyos, 11 years ago

Works fine with -async 1

comment:25 by Carl Eugen Hoyos, 10 years ago

ffplay still plays the sample fine, ffmpeg currently fails to transcode it, I opened ticket #1830 for the regression.

comment:26 by Carl Eugen Hoyos, 10 years ago

Keywords: h264 mpegts added; H264 TS removed

comment:27 by Carl Eugen Hoyos, 10 years ago

Resolution: fixed
Status: openclosed

Both play back and transcoding of the sample work fine with latest git head.

Note: See TracTickets for help on using tickets.