Running dvbinfo (examples/dvbinfo/dvbinfo -f ~/Videos/libdvbpsi/cartoonsample-fortissatellite.ts) on this file gives me:
Summary: Bandwidth
Found PID: 270 (0x 10e), DRM: no, bitrate 0.0000 kbit/s, seen 9 packets
Found PID: 511 (0x 1ff), DRM: no, bitrate 0.0000 kbit/s, seen 5 packets
Found PID: 516 (0x 204), DRM: no, bitrate 0.0000 kbit/s, seen 886 packets
Found PID: 580 (0x 244), DRM: no, bitrate 0.0000 kbit/s, seen 43 packets
Found PID: 654 (0x 28e), DRM: no, bitrate 0.0000 kbit/s, seen 118 packets
Found PID: 664 (0x 298), DRM: no, bitrate 0.0000 kbit/s, seen 115 packets
Total bitrate inf kbits/s
Number of packets: 1176, stuffing 0 packets, lost 0 bytes
PCR first: 0, last: 0, duration: 0
What strikes me is that there is not PAT (pid 0) which is the official starting point for every MPEG-TS compliant transport stream file. Without a PAT, there is no way you can find the PMT and the video, audio ES'es.
The avformat demuxer just tries to play the first Video and Audio elementary stream it finds. Ignoring the fact that this sample is broken. The VLC TS demuxer is written to support MPEG-TS transports streams and requires the PAT (pid 0), and PMT to be present.
Sorry I simply disagree, the vlc ts demuxer was designed to be MPEG-TS specification compliant. This means every MPEG-TS (transport stream) should have a PAT (pid 0) and a PMT in order to able to find the elementary stream (Video and Audio).
Sorry, I believe I was unclear:
I think the sample plays fine with vlc --demux ffmpeg, the option --avformat-format should not be needed.
I have no opinion whether vlc should play the sample by default. The MPlayer mpegts demuxer refuses to play such samples, FFmpeg policy was always to decode broken samples if at all possible.
commit bfb2e970
Author: Francois Cartegnie fcvlcdev@free.fr
Date: Sun Jan 25 12:30:18 2015 +0100
demux: ts: add PAT/PMT hotfix (fix [#10650](https://code.videolan.org/videolan/vlc/-/issues/10650))Some recorded TS streams does not include PAT/PMT.Just feed one when missing.refs [#7940](https://code.videolan.org/videolan/vlc/-/issues/7940)