mirror of https://git.ffmpeg.org/ffmpeg.git
e24d768a76
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> |
||
---|---|---|
.. | ||
tests | ||
.gitignore | ||
3dostr.c | ||
4xm.c | ||
Makefile | ||
a64.c | ||
aacdec.c | ||
aadec.c | ||
ac3dec.c | ||
acm.c | ||
act.c | ||
adp.c | ||
ads.c | ||
adtsenc.c | ||
adxdec.c | ||
aea.c | ||
afc.c | ||
aiff.h | ||
aiffdec.c | ||
aiffenc.c | ||
aixdec.c | ||
allformats.c | ||
amr.c | ||
anm.c | ||
apc.c | ||
ape.c | ||
apetag.c | ||
apetag.h | ||
apngdec.c | ||
apngenc.c | ||
aptxdec.c | ||
aqtitledec.c | ||
asf.c | ||
asf.h | ||
asfcrypt.c | ||
asfcrypt.h | ||
asfdec_f.c | ||
asfdec_o.c | ||
asfenc.c | ||
assdec.c | ||
assenc.c | ||
ast.c | ||
ast.h | ||
astdec.c | ||
astenc.c | ||
async.c | ||
au.c | ||
audiointerleave.c | ||
audiointerleave.h | ||
avc.c | ||
avc.h | ||
avformat.h | ||
avformatres.rc | ||
avi.h | ||
avidec.c | ||
avienc.c | ||
avio.c | ||
avio.h | ||
avio_internal.h | ||
aviobuf.c | ||
avisynth.c | ||
avlanguage.c | ||
avlanguage.h | ||
avr.c | ||
avs.c | ||
bethsoftvid.c | ||
bfi.c | ||
bink.c | ||
bintext.c | ||
bit.c | ||
bluray.c | ||
bmv.c | ||
boadec.c | ||
brstm.c | ||
c93.c | ||
cache.c | ||
caf.c | ||
caf.h | ||
cafdec.c | ||
cafenc.c | ||
cavsvideodec.c | ||
cdg.c | ||
cdxl.c | ||
chromaprint.c | ||
cinedec.c | ||
codec2.c | ||
concat.c | ||
concatdec.c | ||
crcenc.c | ||
crypto.c | ||
cutils.c | ||
dash.c | ||
dash.h | ||
dashdec.c | ||
dashenc.c | ||
data_uri.c | ||
dauddec.c | ||
daudenc.c | ||
dcstr.c | ||
dfa.c | ||
diracdec.c | ||
dnxhddec.c | ||
dsfdec.c | ||
dsicin.c | ||
dss.c | ||
dtsdec.c | ||
dtshddec.c | ||
dump.c | ||
dv.c | ||
dv.h | ||
dvbsub.c | ||
dvbtxt.c | ||
dvenc.c | ||
dxa.c | ||
eacdata.c | ||
electronicarts.c | ||
epafdec.c | ||
ffmeta.h | ||
ffmetadec.c | ||
ffmetaenc.c | ||
fifo.c | ||
fifo_test.c | ||
file.c | ||
file_open.c | ||
filmstripdec.c | ||
filmstripenc.c | ||
fitsdec.c | ||
fitsenc.c | ||
flac_picture.c | ||
flac_picture.h | ||
flacdec.c | ||
flacenc.c | ||
flacenc.h | ||
flacenc_header.c | ||
flic.c | ||
flv.h | ||
flvdec.c | ||
flvenc.c | ||
format.c | ||
framecrcenc.c | ||
framehash.c | ||
frmdec.c | ||
fsb.c | ||
ftp.c | ||
g722.c | ||
g723_1.c | ||
g726.c | ||
g729dec.c | ||
gdv.c | ||
genh.c | ||
gif.c | ||
gifdec.c | ||
golomb_tab.c | ||
gopher.c | ||
gsmdec.c | ||
gxf.c | ||
gxf.h | ||
gxfenc.c | ||
h261dec.c | ||
h263dec.c | ||
h264dec.c | ||
hashenc.c | ||
hdsenc.c | ||
hevc.c | ||
hevc.h | ||
hevcdec.c | ||
hls.c | ||
hlsenc.c | ||
hlsplaylist.c | ||
hlsplaylist.h | ||
hlsproto.c | ||
hnm.c | ||
http.c | ||
http.h | ||
httpauth.c | ||
httpauth.h | ||
icecast.c | ||
icodec.c | ||
icoenc.c | ||
id3v1.c | ||
id3v1.h | ||
id3v2.c | ||
id3v2.h | ||
id3v2enc.c | ||
idcin.c | ||
idroqdec.c | ||
idroqenc.c | ||
iff.c | ||
ilbc.c | ||
img2.c | ||
img2.h | ||
img2_alias_pix.c | ||
img2_brender_pix.c | ||
img2dec.c | ||
img2enc.c | ||
ingenientdec.c | ||
internal.h | ||
ipmovie.c | ||
ircam.c | ||
ircam.h | ||
ircamdec.c | ||
ircamenc.c | ||
isom.c | ||
isom.h | ||
iss.c | ||
iv8.c | ||
ivfdec.c | ||
ivfenc.c | ||
jacosubdec.c | ||
jacosubenc.c | ||
jvdec.c | ||
latmenc.c | ||
libavformat.v | ||
libgme.c | ||
libmodplug.c | ||
libopenmpt.c | ||
librtmp.c | ||
libsmbclient.c | ||
libsrt.c | ||
libssh.c | ||
lmlm4.c | ||
loasdec.c | ||
log2_tab.c | ||
lrc.c | ||
lrc.h | ||
lrcdec.c | ||
lrcenc.c | ||
lvfdec.c | ||
lxfdec.c | ||
m4vdec.c | ||
matroska.c | ||
matroska.h | ||
matroskadec.c | ||
matroskaenc.c | ||
md5proto.c | ||
metadata.c | ||
metadata.h | ||
mgsts.c | ||
microdvddec.c | ||
microdvdenc.c | ||
mj2kdec.c | ||
mkvtimestamp_v2.c | ||
mlpdec.c | ||
mlvdec.c | ||
mm.c | ||
mmf.c | ||
mms.c | ||
mms.h | ||
mmsh.c | ||
mmst.c | ||
mov.c | ||
mov_chan.c | ||
mov_chan.h | ||
mov_esds.c | ||
movenc.c | ||
movenc.h | ||
movenccenc.c | ||
movenccenc.h | ||
movenchint.c | ||
mp3dec.c | ||
mp3enc.c | ||
mpc.c | ||
mpc8.c | ||
mpeg.c | ||
mpeg.h | ||
mpegenc.c | ||
mpegts.c | ||
mpegts.h | ||
mpegtsenc.c | ||
mpegvideodec.c | ||
mpjpeg.c | ||
mpjpegdec.c | ||
mpl2dec.c | ||
mpsubdec.c | ||
msf.c | ||
msnwc_tcp.c | ||
mtaf.c | ||
mtv.c | ||
musx.c | ||
mux.c | ||
mvdec.c | ||
mvi.c | ||
mxf.c | ||
mxf.h | ||
mxfdec.c | ||
mxfenc.c | ||
mxg.c | ||
ncdec.c | ||
network.c | ||
network.h | ||
nistspheredec.c | ||
nspdec.c | ||
nsvdec.c | ||
nullenc.c | ||
nut.c | ||
nut.h | ||
nutdec.c | ||
nutenc.c | ||
nuv.c | ||
oggdec.c | ||
oggdec.h | ||
oggenc.c | ||
oggparsecelt.c | ||
oggparsedaala.c | ||
oggparsedirac.c | ||
oggparseflac.c | ||
oggparseogm.c | ||
oggparseopus.c | ||
oggparseskeleton.c | ||
oggparsespeex.c | ||
oggparsetheora.c | ||
oggparsevorbis.c | ||
oggparsevp8.c | ||
oma.c | ||
oma.h | ||
omadec.c | ||
omaenc.c | ||
options.c | ||
options_table.h | ||
os_support.c | ||
os_support.h | ||
paf.c | ||
pcm.c | ||
pcm.h | ||
pcmdec.c | ||
pcmenc.c | ||
pjsdec.c | ||
pmpdec.c | ||
prompeg.c | ||
protocols.c | ||
psxstr.c | ||
pva.c | ||
pvfdec.c | ||
qcp.c | ||
qtpalette.c | ||
qtpalette.h | ||
r3d.c | ||
rawdec.c | ||
rawdec.h | ||
rawenc.c | ||
rawenc.h | ||
rawutils.c | ||
rawvideodec.c | ||
rdt.c | ||
rdt.h | ||
realtextdec.c | ||
redspark.c | ||
replaygain.c | ||
replaygain.h | ||
riff.c | ||
riff.h | ||
riffdec.c | ||
riffenc.c | ||
rl2.c | ||
rm.c | ||
rm.h | ||
rmdec.c | ||
rmenc.c | ||
rmsipr.c | ||
rmsipr.h | ||
rpl.c | ||
rsd.c | ||
rso.c | ||
rso.h | ||
rsodec.c | ||
rsoenc.c | ||
rtmp.h | ||
rtmpcrypt.c | ||
rtmpcrypt.h | ||
rtmpdh.c | ||
rtmpdh.h | ||
rtmpdigest.c | ||
rtmphttp.c | ||
rtmppkt.c | ||
rtmppkt.h | ||
rtmpproto.c | ||
rtp.c | ||
rtp.h | ||
rtpdec.c | ||
rtpdec.h | ||
rtpdec_ac3.c | ||
rtpdec_amr.c | ||
rtpdec_asf.c | ||
rtpdec_dv.c | ||
rtpdec_formats.h | ||
rtpdec_g726.c | ||
rtpdec_h261.c | ||
rtpdec_h263.c | ||
rtpdec_h263_rfc2190.c | ||
rtpdec_h264.c | ||
rtpdec_hevc.c | ||
rtpdec_ilbc.c | ||
rtpdec_jpeg.c | ||
rtpdec_latm.c | ||
rtpdec_mpa_robust.c | ||
rtpdec_mpeg4.c | ||
rtpdec_mpeg12.c | ||
rtpdec_mpegts.c | ||
rtpdec_qcelp.c | ||
rtpdec_qdm2.c | ||
rtpdec_qt.c | ||
rtpdec_rfc4175.c | ||
rtpdec_svq3.c | ||
rtpdec_vc2hq.c | ||
rtpdec_vp8.c | ||
rtpdec_vp9.c | ||
rtpdec_xiph.c | ||
rtpenc.c | ||
rtpenc.h | ||
rtpenc_aac.c | ||
rtpenc_amr.c | ||
rtpenc_chain.c | ||
rtpenc_chain.h | ||
rtpenc_h261.c | ||
rtpenc_h263.c | ||
rtpenc_h263_rfc2190.c | ||
rtpenc_h264_hevc.c | ||
rtpenc_jpeg.c | ||
rtpenc_latm.c | ||
rtpenc_mpegts.c | ||
rtpenc_mpv.c | ||
rtpenc_vc2hq.c | ||
rtpenc_vp8.c | ||
rtpenc_vp9.c | ||
rtpenc_xiph.c | ||
rtpproto.c | ||
rtpproto.h | ||
rtsp.c | ||
rtsp.h | ||
rtspcodes.h | ||
rtspdec.c | ||
rtspenc.c | ||
s337m.c | ||
samidec.c | ||
sapdec.c | ||
sapenc.c | ||
sauce.c | ||
sauce.h | ||
sbcdec.c | ||
sbgdec.c | ||
sccdec.c | ||
sccenc.c | ||
sctp.c | ||
sdp.c | ||
sdr2.c | ||
sdsdec.c | ||
sdxdec.c | ||
segafilm.c | ||
segafilmenc.c | ||
segment.c | ||
shortendec.c | ||
sierravmd.c | ||
siff.c | ||
smacker.c | ||
smjpeg.c | ||
smjpeg.h | ||
smjpegdec.c | ||
smjpegenc.c | ||
smoothstreamingenc.c | ||
smush.c | ||
sol.c | ||
sox.h | ||
soxdec.c | ||
soxenc.c | ||
spdif.c | ||
spdif.h | ||
spdifdec.c | ||
spdifenc.c | ||
srtdec.c | ||
srtenc.c | ||
srtp.c | ||
srtp.h | ||
srtpproto.c | ||
stldec.c | ||
subfile.c | ||
subtitles.c | ||
subtitles.h | ||
subviewer1dec.c | ||
subviewerdec.c | ||
supdec.c | ||
supenc.c | ||
svag.c | ||
swf.c | ||
swf.h | ||
swfdec.c | ||
swfenc.c | ||
takdec.c | ||
tcp.c | ||
tedcaptionsdec.c | ||
tee.c | ||
tee_common.c | ||
tee_common.h | ||
teeproto.c | ||
thp.c | ||
tiertexseq.c | ||
tls.c | ||
tls.h | ||
tls_gnutls.c | ||
tls_libtls.c | ||
tls_openssl.c | ||
tls_schannel.c | ||
tls_securetransport.c | ||
tmv.c | ||
tta.c | ||
ttaenc.c | ||
tty.c | ||
txd.c | ||
ty.c | ||
udp.c | ||
uncodedframecrcenc.c | ||
unix.c | ||
url.c | ||
url.h | ||
urldecode.c | ||
urldecode.h | ||
utils.c | ||
v210.c | ||
vag.c | ||
vapoursynth.c | ||
vc1dec.c | ||
vc1test.c | ||
vc1testenc.c | ||
version.h | ||
vivo.c | ||
voc.c | ||
voc.h | ||
voc_packet.c | ||
vocdec.c | ||
vocenc.c | ||
vorbiscomment.c | ||
vorbiscomment.h | ||
vpcc.c | ||
vpcc.h | ||
vpk.c | ||
vplayerdec.c | ||
vqf.c | ||
w64.c | ||
w64.h | ||
wavdec.c | ||
wavenc.c | ||
wc3movie.c | ||
webm_chunk.c | ||
webmdashenc.c | ||
webpenc.c | ||
webvttdec.c | ||
webvttenc.c | ||
westwood_aud.c | ||
westwood_vqa.c | ||
wsddec.c | ||
wtv.h | ||
wtv_common.c | ||
wtvdec.c | ||
wtvenc.c | ||
wv.c | ||
wv.h | ||
wvdec.c | ||
wvedec.c | ||
wvenc.c | ||
xa.c | ||
xmv.c | ||
xvag.c | ||
xwma.c | ||
yop.c | ||
yuv4mpeg.h | ||
yuv4mpegdec.c | ||
yuv4mpegenc.c |