Anonymous
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-28-2010
11:15 AM
HTTP Live Streaming Now Available For Developers
Greetings everyone,
We've discussed it a little bit as people have asked here in the forums, but I'd like to make it a little more official. Roku is now including support for HTTP Live Streaming (HLS) on the Roku player.
If you're not familiar with HLS, it is the protocol proffered by Apple for delivering streamed content (live or otherwise) to the iPad and iPhone. In a nutshell, HLS is a protocol that breaks the video stream into multiple segments (typically 2 to 10 seconds each) and can provide multiple bitrates for each segment. If you combine segments with multiple bitrates, the player can adapt to available bandwidth and switch streams as needed to keep the video going without the need to rebuffer. Since it is playlist based, multiple pieces of content can be stitched together seamlessly. This could allow you to do any number of things including inserting advertisements at the beginning or in the middle of programming.
You can read more about the protocol at the following two links:
We will be delivering more documentation and examples, but if you are already supporting HLS for different platforms, it should be relatively straightforward to support it on Roku. Simply specify “hls†as the StreamFormat used with the roVideoScreen object and the URL for the stream should point the M3U8 file that defines the HLS configuration.
Support for HLS is included in 2.5 build 385 and later. This build is currently a manual update, so you'll need to check for updates in order to download this version of firmware. There are still a couple of bugs that we're sorting out, and we expect the automatic update with the final HLS implementation to be rolled out within the next two weeks.
Happy coding,
Patrick
We've discussed it a little bit as people have asked here in the forums, but I'd like to make it a little more official. Roku is now including support for HTTP Live Streaming (HLS) on the Roku player.
If you're not familiar with HLS, it is the protocol proffered by Apple for delivering streamed content (live or otherwise) to the iPad and iPhone. In a nutshell, HLS is a protocol that breaks the video stream into multiple segments (typically 2 to 10 seconds each) and can provide multiple bitrates for each segment. If you combine segments with multiple bitrates, the player can adapt to available bandwidth and switch streams as needed to keep the video going without the need to rebuffer. Since it is playlist based, multiple pieces of content can be stitched together seamlessly. This could allow you to do any number of things including inserting advertisements at the beginning or in the middle of programming.
You can read more about the protocol at the following two links:
- http://tools.ietf.org/html/draft-pantos-http-live-streaming-02
- http://developer.apple.com/iphone/library/documentation/NetworkingInternet/Conceptual/StreamingMedia...
We will be delivering more documentation and examples, but if you are already supporting HLS for different platforms, it should be relatively straightforward to support it on Roku. Simply specify “hls†as the StreamFormat used with the roVideoScreen object and the URL for the stream should point the M3U8 file that defines the HLS configuration.
Support for HLS is included in 2.5 build 385 and later. This build is currently a manual update, so you'll need to check for updates in order to download this version of firmware. There are still a couple of bugs that we're sorting out, and we expect the automatic update with the final HLS implementation to be rolled out within the next two weeks.
Happy coding,
Patrick
41 REPLIES 41

kc8pql
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-28-2010
05:03 PM
Re: HTTP Live Streaming Now Available For Developers
Support for HLS is included in 2.5 build 385 and later.
Does that mean that HLS is supported in the 2.6 builds some of us are currently beta testing?
____________________________________________________________________________________________________________
No, I don't work for Roku.
Netflix Player N1000X, XDS 2100X (premature death by lightning)
Roku2 XD 3050X, Roku2 XS 3100R, Roku2 4210R
No, I don't work for Roku.
Netflix Player N1000X, XDS 2100X (premature death by lightning)
Roku2 XD 3050X, Roku2 XS 3100R, Roku2 4210R
Anonymous
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-28-2010
05:23 PM
Re: HTTP Live Streaming Now Available For Developers
"kc8pql" wrote:Support for HLS is included in 2.5 build 385 and later.
Does that mean that HLS is supported in the 2.6 builds some of us are currently beta testing?
It's in there, but not as mature as what is in 2.5b385. Changes from the 2.5 branch will be merged into the 2.6 branch before 2.6 is released. If you want to test HLS, I recommend 2.5
Saqqara
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-29-2010
09:09 AM
Re: HTTP Live Streaming Now Available For Developers
Is it permissible for this to be discussed in the general forum? There are several threads with developers interacting with the community there on various projects.

kc8pql
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-29-2010
10:38 AM
Re: HTTP Live Streaming Now Available For Developers
"Saqqara" wrote:
Is it permissible for this to be discussed in the general forum? There are several threads with developers interacting with the community there on various projects.
Don't see why not. This forum is also open to the public.
____________________________________________________________________________________________________________
No, I don't work for Roku.
Netflix Player N1000X, XDS 2100X (premature death by lightning)
Roku2 XD 3050X, Roku2 XS 3100R, Roku2 4210R
No, I don't work for Roku.
Netflix Player N1000X, XDS 2100X (premature death by lightning)
Roku2 XD 3050X, Roku2 XS 3100R, Roku2 4210R
campbellwang
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-02-2010
03:05 AM
Re: HTTP Live Streaming Now Available For Developers
Hi Patrick,
Can you post a couple of test .m3u8 URLs that we can all use to test our implementations of this feature.
If anyone else has any that work please post here also.
Thanks
Can you post a couple of test .m3u8 URLs that we can all use to test our implementations of this feature.
If anyone else has any that work please post here also.
Thanks
CDNOne.com | CDNTwo.com

RokuMarkn
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-02-2010
08:02 AM
Re: HTTP Live Streaming Now Available For Developers
Anonymous
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-02-2010
10:03 AM
Re: HTTP Live Streaming Now Available For Developers
Wowza (http://www.wowzamedia.com) also has a sample feed being served from their server deployed through Amazon EC2:
http://ec2-174-129-153-104.compute-1.am ... ylist.m3u8
http://ec2-174-129-153-104.compute-1.am ... ylist.m3u8
-LD
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-03-2010
12:31 PM
Re: HTTP Live Streaming Now Available For Developers
http://iphone.akamai.com/ - offers some HTTP Live Streaming demos.
PRIZM
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-13-2010
07:27 PM
Re: HTTP Live Streaming Now Available For Developers
I have a question I have the HLS feeds going on IPad/IPhone/Ipod Touch running flawless but these same feeds do not play on the Roku box ver. 2.5 Build 388 it just starts to load then quits and reloads the info page. Any suggestions. I am using a XML to load from and here is some code of the item. Im not really sure on the runtime so I just set it to 5000.. any help would be great If some one else has got this going and knows the specs so far without the docs.... Thanks PRIZM...
P.S I would give the full URL but I might have issues with the networks for doing so sorry.
<item sdImg="http://xxx.xxxxxx.xxx/videoplayer/images/espntvlogo.jpg" hdImg="http://xxx.xxxxxx.xxx/videoplayer/images/espntvlogo.jpg">
<title>ESPN</title>
<contentId>10002</contentId>
<contentType>Live TV</contentType>
<contentQuality>SD</contentQuality>
<media>
<streamFormat>hls</streamFormat>
<streamQuality>SD</streamQuality>
<streamBitrate>700</streamBitrate>
<streamUrl>http://xxxxxxxxxx.xxxxxx.xxx/apple/espn/espn.m3u8</streamUrl>
</media>
<synopsis>ESPN Sports All The Time!</synopsis>
<genres>Sports</genres>
<runtime>5000</runtime>
</item>
P.S I would give the full URL but I might have issues with the networks for doing so sorry.
<item sdImg="http://xxx.xxxxxx.xxx/videoplayer/images/espntvlogo.jpg" hdImg="http://xxx.xxxxxx.xxx/videoplayer/images/espntvlogo.jpg">
<title>ESPN</title>
<contentId>10002</contentId>
<contentType>Live TV</contentType>
<contentQuality>SD</contentQuality>
<media>
<streamFormat>hls</streamFormat>
<streamQuality>SD</streamQuality>
<streamBitrate>700</streamBitrate>
<streamUrl>http://xxxxxxxxxx.xxxxxx.xxx/apple/espn/espn.m3u8</streamUrl>
</media>
<synopsis>ESPN Sports All The Time!</synopsis>
<genres>Sports</genres>
<runtime>5000</runtime>
</item>