Files
ffmpeg/libavformat
Graham BookerandMichael Niedermayer 60fcc19b90 avformat/mpegtsenc: Changed Video PES packet length to 0.
The rational for this is another issue that plex has exposed.  When it is
conducting a transcode of video to HLS for streaming, my father noticed
artifacts when played on his GoogleTV (NSZ-GT1).  He sent me a test file
and I reproduced it on my device of the same model.  It is important to
note that the artifacts were not present when streaming to VLC or QuickTime
Player.  I copied the command-line that plex used, and conducted all of the
following tests using FFmpeg git.

Transcode to HLS: artifacts on playback
Transcode to TS: playback is fine
Cat HLS segments into a single TS: playback is fine
Segment single TS file to segments: artifacts on playback
Segment single TS file to segments using Apple's HLS segmenter: playback is
fine

At this point I carefully examined the differences between Apple's HLS
segmenter output and FFmpeg's.  Among the considerable differences, I
noticed that the video PES packets always had a 0 length.  So I continued:

Transcode to HLS using FFmpeg with 0 length PES packets: playback is fine.
Segment single TS to segments with 0 length PES packets: playback is fine.

All failures mentioned are only on the GTV since it is the only player on
which I could reproduce artifacts.  I only tested the GTV, VLC, and
QuickTime Player though, so my test case is limited.  I do not know if
other players exhibit this issue.

Since it was useful last time, I have uploaded the test file as
hls_pes_packet_length.m4v along with its associated txt file which contains
the transcode command-line that was used.

Reviewed-by: Kieran Kunhya <kierank@obe.tv>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-22 16:05:25 +02:00
..
2013-03-17 04:38:28 +01:00
2013-10-13 20:13:38 +00:00
2013-10-18 19:53:47 +02:00
2014-04-19 16:24:27 +02:00
2013-12-25 17:14:32 +01:00
2012-12-04 11:25:46 +00:00
2012-12-04 11:25:46 +00:00
2013-10-06 19:36:53 +02:00
2012-11-24 15:04:32 +00:00
2012-10-18 00:55:03 +02:00
2012-11-19 10:19:50 +01:00
2013-12-13 11:57:39 +01:00
2013-01-01 19:29:04 +01:00
2012-10-10 15:50:32 +00:00
2013-01-24 15:02:44 +00:00
2013-10-13 20:13:38 +00:00
2014-01-16 00:38:27 +01:00
2014-02-28 00:07:31 +01:00
2012-12-21 00:18:34 +01:00
2014-04-16 19:41:41 +02:00
2014-04-16 19:41:41 +02:00
2013-12-25 17:38:29 +01:00
2014-04-01 01:13:09 +02:00
2014-04-14 21:40:59 +02:00
2014-04-05 02:18:09 +02:00
2012-12-05 13:01:22 +00:00
2012-12-05 13:01:22 +00:00
2013-12-23 16:28:44 +01:00
2014-03-11 13:22:49 +01:00
2013-10-13 20:13:38 +00:00
2013-10-31 20:20:49 +01:00
2014-04-19 05:06:00 +02:00
2013-07-07 18:50:03 +02:00
2013-12-25 17:38:29 +01:00
2013-11-13 22:56:18 +01:00
2013-12-25 17:38:29 +01:00
2014-02-05 22:36:42 +01:00
2014-04-20 20:56:02 +02:00
2013-01-07 11:43:20 +00:00
2013-05-01 11:56:34 +02:00
2014-02-09 14:29:07 +00:00
2013-10-13 20:13:38 +00:00
2013-12-25 17:38:29 +01:00
2013-12-25 17:38:30 +01:00
2012-08-28 22:29:20 +02:00
2014-03-04 22:54:13 +01:00
2013-10-13 20:13:38 +00:00
2012-12-28 21:50:42 +00:00
2012-12-28 21:58:03 +00:00
2014-03-08 12:36:57 +01:00
2013-05-26 15:48:50 +02:00
2013-10-21 17:32:01 +02:00
2013-10-13 20:13:38 +00:00
2013-04-05 14:30:56 +00:00
2013-08-21 05:51:41 +02:00
2012-11-04 04:46:10 +00:00
2013-01-07 10:08:38 +00:00
2014-04-15 13:51:48 +02:00
2013-10-13 20:13:38 +00:00