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