Cannot direct play/stream .ts files anymore

This is a very strange issue.

Here’s the streams in the original Alles was zahlt file, the odd things are:

  • The 3 unknown streams.
  • The dvb_subtitle stream being at position zero (usually the video is first).
    Stream #0:0[0x19f0](deu): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) (hearing impaired)
    Stream #0:1[0x19f1]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
    Stream #0:2[0x19f2](ger): Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz, stereo, fltp, 384 kb/s
    Stream #0:3[0x19f3]: Unknown: none ([11][0][0][0] / 0x000B)
    Stream #0:4[0x19f4](deu): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006)
    Stream #0:5[0x19f6]: Unknown: none ([5][0][0][0] / 0x0005)
    Stream #0:6[0x19f8]: Unknown: none ([12][0][0][0] / 0x000C)

If I produce a new file, copying the old streams over and removing the unknown streams then we get these streams in the new file and everything plays correctly (as you saw).

    Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 50 tbr, 90k tbn, 90k tbc
    Stream #0:1(ger): Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz, stereo, fltp, 384 kb/s
    Stream #0:2(deu): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) (hearing impaired)
    Stream #0:3(deu): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006)

Producing another new file, with the same order of streams and without the unknown streams, the video won’t playback any audio and we have these streams:

    Stream #0:0[0x100](deu): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) (hearing impaired)
    Stream #0:1[0x101]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
    Stream #0:2[0x102](ger): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, stereo, fltp, 384 kb/s
    Stream #0:3[0x103](deu): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006)

The issue seems like having the dvb_subtitle stream first throws the Android client out of place and we end up with no audio for some reason. Will investigate further and see if I can find a solution.

For now to get the files to play correctly on Android, you could use FFmpeg to remap the stream order (it’s a quick process);

ffmpeg -i input.ts -c copy -map 0:v -map 0:a -map 0:s -ignore_unknown output.ts