Skip to content

does not support MPEGTS and muxed fMP4 segments in the same HLS stream #1510

Description

@KingKebab

Hello,

Tested some HLS video streams with adaptive bitrates mixing MPEGTS and fMP4 video tracks and I found hls.js v0.8.9 can't switch automatically from TS segments to M4S segments when quality control is set on "Auto".

I get this parsing error message : TS packet did not start with 0x47
But forcing the video quality manually to an upper bitrate/resolution works properly.

MPEGTS is required to keep old iOS device compatibilty and fMP4 is essential for HEVC.

Here is a interesting sample stream I can provide :
http://sample.vodobox.com/caminandes_1_4k/caminandes_1_4k.m3u8

It contains 8 video qualities :
. AVC Baseline / 256x144 / 256kbps / MPEGTS
. AVC Baseline / 426x240 / 498kbps / MPEGTS
. AVC Baseline / 640x360 / 1277kbps / MPEGTS
. AVC Baseline / 854x480 / 1971 kbps / MPEGTS
. AVC High / 1280x720 / 3152 kbps / fMP4
. HEVC Main / 1280x720 / 1899 kbps / fMP4
. HEVC Main / 1920x1080 / 4055 kbps / fMP4
. HEVC Main / 3840x2160 / 7483 kbps / fMP4

This HLS stream works properly with Apple official video player in iOS 11 and macOS X High Sierra. It swicth between TS and M4S tracks without freeze.

Hope this short sample will help you.
Kind regards.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions