ffmpeg/doc
Aman Gupta e24d768a76 avformat/mpegts: add skip_unknown_pmt option
Some filtered mpegts streams may erroneously include PMTs for
programs that are not advertised in the PAT. This confuses ffmpeg
and most players because multiple audio/video streams are created
and it is unclear which ones actually contain data.

See for example https://tmm1.s3.amazonaws.com/unknown-pmts.ts

In this sample, the PAT advertises exactly one program. But the
pid it points to for the program's PMT contains PMTs for other
programs as well. This is because the broadcaster decided to
re-use the same pid for multiple program PMTs.

The hardware that filtered the original multi-program stream
into a single-program stream did so by rewriting the PAT to
contain only the program that was requested. But since it just
passed through the PMT pid referenced in the PAT, multiple PMTs
are still present for the other programs.

Before:

    Input #0, mpegts, from 'unknown-pmts.ts':
      Duration: 00:00:10.11, start: 80741.189700, bitrate: 9655 kb/s
      Program 4
        Stream #0:2[0x41]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], Closed Captions, 11063 kb/s, 59.94 fps, 59.94 tbr, 90k tbn, 119.88 tbc
        Stream #0:3[0x44](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s
        Stream #0:4[0x45](spa): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 128 kb/s
      No Program
        Stream #0:0[0x31]: Video: mpeg2video ([2][0][0][0] / 0x0002), none(tv), 90k tbr, 90k tbn, 90k tbc
        Stream #0:1[0x34](eng): Audio: ac3 (AC-3 / 0x332D4341), 0 channels, fltp
        Stream #0:5[0x51]: Video: mpeg2video ([2][0][0][0] / 0x0002), none, 90k tbr, 90k tbn
        Stream #0:6[0x54](eng): Audio: ac3 (AC-3 / 0x332D4341), 0 channels

With skip_unknown_pmt=1:

    Input #0, mpegts, from 'unknown-pmts.ts':
      Duration: 00:00:10.11, start: 80741.189700, bitrate: 9655 kb/s
      Program 4
        Stream #0:0[0x41]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], Closed Captions, 11063 kb/s, 59.94 fps, 59.94 tbr, 90k tbn, 119.88 tbc
        Stream #0:1[0x44](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s
        Stream #0:2[0x45](spa): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 128 kb/s

Signed-off-by: Aman Gupta <aman@tmm1.net>
2018-05-18 12:04:57 -07:00
..
doxy
examples doc/examples: add missing ignore files 2018-05-16 00:39:52 +02:00
.gitignore
APIchanges avformat/mpegts: tag video streams with still images 2018-05-17 12:03:22 -07:00
Doxyfile
Makefile doc: Add mailing list FAQ 2017-10-03 15:25:07 -08:00
authors.texi
bitstream_filters.texi lavc: Add VP9 metadata bitstream filter 2018-05-02 01:21:40 +01:00
bootstrap.min.css
build_system.txt
codecs.texi docs/codecs: remove dead codec debug options 2018-02-19 14:49:58 -09:00
decoders.texi avcodec/libzvbi-teletextdec: allow -1 subtitle duration and make it the default 2018-05-06 21:57:22 +02:00
default.css
demuxers.texi avformat/mpegts: add skip_unknown_pmt option 2018-05-18 12:04:57 -07:00
developer.texi doc/developer: update style guidelines to include for loops with declarations 2018-05-18 02:24:28 +01:00
devices.texi
doxy-wrapper.sh
encoders.texi doc/encoders: list missing options for x265 2018-03-30 14:03:03 -08:00
errno.txt
faq.texi doc: Add FAQs about running in background (rev 2) 2017-11-22 18:13:49 +01:00
fate.texi doc/fate: Document how to upload samples to the fate suite 2018-01-06 03:14:38 +01:00
fate_config.sh.template
ffmpeg-bitstream-filters.texi Remove the ffserver program 2018-01-06 18:31:37 +00:00
ffmpeg-codecs.texi Remove the ffserver program 2018-01-06 18:31:37 +00:00
ffmpeg-devices.texi Remove the ffserver program 2018-01-06 18:31:37 +00:00
ffmpeg-filters.texi Remove the ffserver program 2018-01-06 18:31:37 +00:00
ffmpeg-formats.texi Remove the ffserver program 2018-01-06 18:31:37 +00:00
ffmpeg-protocols.texi Remove the ffserver program 2018-01-06 18:31:37 +00:00
ffmpeg-resampler.texi Remove the ffserver program 2018-01-06 18:31:37 +00:00
ffmpeg-scaler.texi Remove the ffserver program 2018-01-06 18:31:37 +00:00
ffmpeg-utils.texi Remove the ffserver program 2018-01-06 18:31:37 +00:00
ffmpeg.texi doc/ffmpeg - update benchmark option readout details 2018-04-28 22:51:04 +05:30
ffmpeg.txt
ffplay.texi Remove the ffserver program 2018-01-06 18:31:37 +00:00
ffprobe.texi doc: fix incorrect reference to xsd_compliant option 2018-05-12 12:09:20 -07:00
ffprobe.xsd ffprobe: Print color properties from show_frames 2017-07-21 20:19:07 +02:00
fftools-common-opts.texi avformat/utils: Stream specifier enhancement 2. 2018-04-13 21:44:28 +02:00
filter_design.txt doc: update filter_design.txt. 2017-09-12 11:03:51 +02:00
filters.texi avfilter/vsrc_testsrc: add pal75bars and pal100bars video filter sources 2018-05-18 15:39:54 +02:00
formats.texi avformat: make flush_packets a tri-state and set it to -1 (auto) by default 2017-06-24 18:51:29 +02:00
general.texi Add Sega FILM muxer 2018-04-05 22:04:30 +01:00
git-howto.texi
indevs.texi avdevice: add android_camera indev 2018-02-22 00:29:27 +01:00
issue_tracker.txt Remove the ffserver program 2018-01-06 18:31:37 +00:00
lexicon
libav-merge.txt doc/libav-merge: remove resolved item 2018-04-28 14:15:41 +02:00
libavcodec.texi Remove the ffserver program 2018-01-06 18:31:37 +00:00
libavdevice.texi Remove the ffserver program 2018-01-06 18:31:37 +00:00
libavfilter.texi Remove the ffserver program 2018-01-06 18:31:37 +00:00
libavformat.texi Remove the ffserver program 2018-01-06 18:31:37 +00:00
libavutil.texi Remove the ffserver program 2018-01-06 18:31:37 +00:00
libswresample.texi Remove the ffserver program 2018-01-06 18:31:37 +00:00
libswscale.texi Remove the ffserver program 2018-01-06 18:31:37 +00:00
mailing-list-faq.texi Remove the ffserver program 2018-01-06 18:31:37 +00:00
metadata.texi
mips.txt
multithreading.txt
muxers.texi avformat/dashenc: configuring container format options 2018-05-15 11:13:36 +05:30
nut.texi
optimization.txt build: Prefer NASM assembler over YASM 2017-06-21 17:00:30 -03:00
outdevs.texi Remove all output devices 2017-10-13 23:57:01 +02:00
patchwork
platform.texi configure: error out on unsupported MSVC versions 2018-05-18 02:22:57 +01:00
print_options.c
protocols.texi Merge commit 'a2fc8dbae85339d1b418d296f2982b6c04c53c57' 2018-03-29 21:56:19 -03:00
rate_distortion.txt
resampler.texi
scaler.texi
snow.txt
style.min.css
swresample.txt
swscale.txt
t2h.init
t2h.pm
tablegen.txt
texi2pod.pl
texidep.pl
undefined.txt doc: Add initial documentation explaining undefined behavior and SUINT 2017-07-21 17:37:05 +02:00
utils.texi lavu,lavfi,ffmpeg: Remove experimental OpenCL API 2017-11-22 23:20:39 +00:00
writing_filters.txt lavfi: add new iteration API 2018-03-31 23:26:30 +01:00