No description
Find a file
Graham Booker 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
compat
doc Merge remote-tracking branch 'lukaszmluki/master' 2014-04-20 05:43:26 +02:00
libavcodec vc1dsp: fix build without inline asm 2014-04-22 14:01:53 +02:00
libavdevice lavd/xv: implement repaint message 2014-04-19 02:18:45 +02:00
libavfilter avfilter/pthread: Use av_mallocz_array() 2014-04-22 02:40:20 +02:00
libavformat avformat/mpegtsenc: Changed Video PES packet length to 0. 2014-04-22 16:05:25 +02:00
libavresample Merge commit '21d8f4da91' 2014-04-17 21:07:25 +02:00
libavutil avutil/internal: add FF_ALLOC_ARRAY_OR_GOTO & FF_ALLOCZ_ARRAY_OR_GOTO 2014-04-22 02:09:55 +02:00
libpostproc
libswresample swresample/resample_template: try to consider src_size more exactly 2014-04-15 06:35:35 +02:00
libswscale Fix compilation with !HAVE_6REGS. 2014-04-19 09:56:01 +02:00
presets
tests avformat/mpegtsenc: Changed Video PES packet length to 0. 2014-04-22 16:05:25 +02:00
tools
.gitignore
arch.mak
Changelog Merge commit '07761294fc' 2014-04-19 19:26:46 +02:00
cmdutils.c cmdutils: use av_mallocz_array() 2014-04-08 15:44:32 +02:00
cmdutils.h
cmdutils_common_opts.h
cmdutils_opencl.c
common.mak
configure Merge commit '93e15a3238' 2014-04-21 20:20:39 +02:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
ffmpeg.c Merge commit '1ae8198bca' 2014-04-22 13:45:34 +02:00
ffmpeg.h
ffmpeg_filter.c
ffmpeg_opt.c
ffmpeg_vdpau.c
ffplay.c avformat: add av_format_inject_global_side_data(), and disable it by default 2014-04-15 02:37:40 +02:00
ffprobe.c ffprobe: do not lose non ascii characters in non utf8 strings 2014-04-13 15:21:20 +02:00
ffserver.c
INSTALL
library.mak
LICENSE
MAINTAINERS MAINTAINERS: Add myself as FIC maintainer 2014-04-21 21:27:32 -04:00
Makefile
README
RELEASE
version.sh

FFmpeg README
-------------

1) Documentation
----------------

* Read the documentation in the doc/ directory in git.
  You can also view it online at http://ffmpeg.org/documentation.html

2) Licensing
------------

* See the LICENSE file.

3) Build and Install
--------------------

* See the INSTALL file.