Name is required.
Email address is required.
Invalid email address
Answer is required.
Exceeding max length of 5KB

HLS Playlist


Hello,

I am using a .m3u8 Playlist to stream with the new screen for HLS and i see that when the playlist has more than one quality the screen automatically adds to itself an HD button, where it says : AUTO, OR then 1000KBPS, etc.

I would like to use this for channel switching

For example i have added in my playlist instead of the same stream in different quality another .m3u8 address pointing to another channel

It switches perfectly and fast, BUT it would be nice for the screen
to say Channel 1, Channel 2, or the names instead of saying --KBPS

Is this possible ?

To make the screen have that button to switch channels the right way ?

Thank you

18 Community Answers

Ethan Feldman

JW Player Support Agent  
-1 rated :

You can do this – http://www.longtailvideo.com/support/jw-player/29393/hls-adaptive-stream

And you can set labels in 6.3, so you can label the quality menu to what you want.

JW Player

User  
0 rated :

Thanks Ethan

Thats actually what i am doing.

I apoloize for my ignorance, but i dont see what you say about

Set labels in"6.3" ?

Where can i edit the quality menu ?

Thanks

JW Player

User  
0 rated :

Oh yes i have the 6.3 , but how do i set the qualities?

I just see its reading the playlist so whatever banwidth i put thats what it reads

Ethan Feldman

JW Player Support Agent  
0 rated :

I believe you set them in the smil manifest.

JW Player

User  
0 rated :

Right, but it reads the size only
For example: On the label it will say 720px, then 360px

Is there a way for it to be labeled lets say: CH1, CH2 ? OR SD, HD, ETC ?

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1600000,RESOLUTION=1280x720
1280/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=832000,RESOLUTION=640x360
640/prog_index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=320000,RESOLUTION=320x180
320/prog_index.m3u8

JW Player

User  
0 rated :

is there an example anywhere ?

I tried having the smil be read by the player but no luck

Ethan Feldman

JW Player Support Agent  
0 rated :

For SMIL – http://www.longtailvideo.com/support/jw-player/29365/rtmp-dynamic-stream

For HLS – http://www.longtailvideo.com/support/jw-player/29393/hls-adaptive-stream

JW Player

User  
0 rated :

thank you

Ethan Feldman

JW Player Support Agent  
0 rated :

Np

JW Player

User  
0 rated :

I would like a similar thing - named channels in a LIVE manifest (.m3u8) file. The Apple TEch Doc TN2288 mentions a field that can be added to the

#EXT-X-STREAM-INF line adding a NAME="channel 1" feature and describes using it for different camera angles, languages etc.

My simple testing indicates that JW6.3 supports a subset of these features. Is that correct ?

Theres a test manifest at
http://www.r2.co.nz/20130404/index-1.m3u8 but you'll need me to have an encoder running to see any pics. Player is at

http://www.r2.co.nz/20130404/test-10.htm

Richard

JW Player

User  
0 rated :

Further comment - why we do this.

If a LIVE event is "important" such as an international audience we often run dual systems. This means multiple encoders on different power/UPS combos using different backhaul (to the point of using different VSAT proividers, different satellites and different earthstations). We also use different CDNs and ingest points (cities). We then roll-over between the different streams at the end viewers player, making it fully redundant all the way through the streaming system.

We used to do this with asx files under Microsoft Windows Media. It was trivial.

Using Apple's doc it looks like we can do this in the m3u8 file. It just depends on how much JW6.3 supports.

Ethan Feldman

JW Player Support Agent  
0 rated :

We will look into this.

JW Player

User  
0 rated :

It may not be such a problem. I woke up this morning (we're 18 hours ahead of you) and reaised how to do some of these things.

1. Duplicate backhaul rollover.

We can do this by simply having duplicate bit rate entries in the manifest file. Ie 768k cdn1 and 768k cdn2. They'll just appear as 768k twice and in autio mode the pl;ayer will just sort it out. So we don't need to label anything and maybe best not too ! Viewers don't need to know a link has died.

2. Multi-angle events.

We usually present a web page with thumbnail (low bit rate) views of all the streams, or even sometimes the full bit rate versions. Viewers then click on the thumbnail for the angle they want. We only put audio on one stream.thumbnail, which is typically our programme mix. When they click on a thumbnail, that stream then has audio on it. We know that many viewers actually like to sit and watch *all* the streams and watch all the angles at the same time. Playing their own "Director".

One event which has 4 conference session simultaneously, we give them all 4 audio feeds and just let them mute players as they want.

The bandwidth figures are always impressive.

So the big need for the Label tag in the manifest is for multi-lingual events, where teh video is the same, but we embed/encode alternate audio feeds. Even then we could get by by using a separate web page for each language.

Thoughts ? (apart from I shouldn't post questions at midnight)

Richard

JW Player

User  
0 rated :

An interesting issue emerged while testing.

If you have a manifest m3u8 file that points to the m3u8 files of several streams and *any* one of them is NOT there, the whole thing dies with a 404 error.

So if you tried having rollover between streams and any stream dies, then none of them can be played.

So if you use a transmuxing service and the feed to that transmux gets interrupted, things die.

This can make live event webcasting a little tricky.

Apple define a EXT-X-MEDIA tage with DEFAULT features that might get around this.

Maybe is just simpler to focus on getting ONE stream from the event to a single location and transmuxing there as well as producing the different bit rates - assuming its a more secure location/facility.

The joys of being an OB Webcaster.

Ethan Feldman

JW Player Support Agent  
0 rated :

Interesting. I will pass this along as well to our engineers. Thank you.

JeroenW

JW Player Support Agent  
0 rated :

Richard, thanks for the feedback. We are indeed looking into supporting custom labels:

http://developer.longtailvideo.com/trac/ticket/1738

We’re also looking into the playlist 404 issue, which was on our radar:

http://developer.longtailvideo.com/trac/ticket/1935

We plan to release this update as part of the 6.6 update around August 1st. The 6.4 update gets released this week and 6.5 (June 15) will introduce AES encryption for HLS streams.

JW Player

User  
0 rated :

Thanks JeroenW.

I did some more testing today. One encoder with camera looking out window, the other a laptop looking at me. The camera was running at 3.5mbps but variable bit rate so only running at 6-700kbps. The laptop was running 3 bit rates + audio.via FMLE. The bit rates were 256k, 156k and 106k. Audio at 56k

This set up allows me to turn off a stream while leaving the others on but it does mean the m3u8 files isn't there.

Testing via JW6.3 and also an iPad 5. CDN is Edgecast

When all streams are running everything goes like a treat.

My first test had the top bit rate at the bottom of the playlist. This is because in the future the 3.5 stream will be HD and not everyone can handle 3.5meg. The streams all started and you can manually switch between them. If the 3.5meg stream stops things keep going until the segments run out of buffer. Then they stop.

Second test I put the bit rates in order - ie 3.5meg at the top.

Both iPad and PC start on the top stream then drop down when bandwidth chokes (iPad was on 3G, PCs on DSL). So the "auto" function works well.I couldn't get either platform to step back up to the 3.5meg stream - ever. - unless I manually selected a bit rate.

Stopping a stream, has no effect on ipad, but JW stops when the buffers run out. You can refresh page and they will start again.(I might have to check iPad result)

Having separate encoders with different signals/images (and audio) makes testing a lot easier.

But as usual I think its important to have good solid bandwidth between encoders and CDN or servers.

I'll have to think about the bit rate order thing and probably do a heap more testing.

Rich

JeroenW

JW Player Support Agent  
0 rated :

OK, please keep us informed!

I think the 3.5 mbps stream wasn’t grabbed by either device since both iOS and JW Player are somewhat conservative in their bandwidth saturation policy.

This question has received the maximum number of answers.