Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use HTTP Live Streaming's EXT-X-MEDIA?

I'm currently working on a project that has been filmed several times during the year, at different seasons.

The different video tracks are time synced, so I'd like to take advantage of HTTP Live Streaming's EXT-X-MEDIA to let the users switch between seasons on iOS-devices.

I've setup an M3U8 playlist containing the video, but I can't seem to expose the controls in the Quicktime player – neither on the iPhone nor the iPad.

Here's my playlist:

#EXTM3U
#EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="500kbs",NAME="Winter",AUTOSELECT=YES,DEFAULT=YES
#EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="500kbs",NAME="Spring",AUTOSELECT=NO,DEFAULT=NO,URI="spring.m3u8"
#EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="500kbs",NAME="Summer",AUTOSELECT=NO,DEFAULT=NO,URI="summer.m3u8"

#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="aac",LANGUAGE="eng",NAME="English",AUTOSELECT=YES, \
DEFAULT=YES,URI="audio.m3u8"
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=754857,VIDEO="500kbs",AUDIO="aac",CODECS="avc1.42e01e,mp4a.40.2"
./winter.m3u8

Shouldn't this work?

like image 501
Henrik Lied Avatar asked Nov 03 '22 09:11

Henrik Lied


1 Answers

The GROUP-ID is for multiple language support. It's of course possible to shoe-horn in a new meaning, but I wouldn't expect very good client support.

But the playlist you provided isn't legal according to the latest spec.

https://datatracker.ietf.org/doc/html/draft-pantos-http-live-streaming-10#section-3.4.9.1

All members of a group whose AUTOSELECT attribute has a value of YES MUST have LANGUAGE [RFC5646] attributes with unique values.

like image 56
vipw Avatar answered Nov 11 '22 06:11

vipw