joshua
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-25-2011
09:00 PM
Roku & IIS Smooth Streaming Server
Just to help anyone who wants to use IIS 7.5, Expressions Encoder 4 Pro, and IIS Media Services 4 with their Roku(s). Roku does support the m3u8 output given by IIS for iOS compatibility. However, I could not get video streams to play reliably if at all, but the audio was always there. Even when you only have one stream (single bitrate) going to a IIS publishing point, the M3U8 file by IIS provided, for example http://%server%/%stream%.isml/manifest(format=m3u8-appl).m3u8, points to multiple other m3u8 streams based on the bitrate. If you open the m3u8 file in the example listed above in a text editor, you can copy the references quality stream and paste that into your roku app, xml file, etc, for playing on your roku device. The new stream link will be http://%server%/%stream%.isml/QualityLevels(%bitrate%)/manifest(format=m3u8-appl).m3u8. This will fix any problems the Roku has playing live streams from the IIS server, however, you will lose the adaptive streaming ability offered by the IIS server that does work with iOS devices and silverlight correctly. This is not a problem if you have bandwidth sufficient for the stream you single out. Not sure why, but the Roku had constant problems trying to sort through the adaptive streams when referencing the initial m3u8 file. With playback debugging on, it would always report the network speed under 1mbps and even setting the stream to not automatic would not fix the playback problems. Once pointed directly to the stream with the desired bitrate, it played perfectly and correctly will identify the network speed.
Also, the current version of Expressions Encoder 4 Pro incorrectly identifies the bitrate of the audio stream to the server at 1.4mbps, but it will still play correctly. EE4 SP1 will fix this.
Also, the current version of Expressions Encoder 4 Pro incorrectly identifies the bitrate of the audio stream to the server at 1.4mbps, but it will still play correctly. EE4 SP1 will fix this.
4 REPLIES 4

TheEndless
Channel Surfer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-25-2011
09:06 PM
Re: Roku & IIS Smooth Streaming Server
joshua, In my experience with Expressions Encoder, by default it was including the audio only, incorrectly high bitrate stream in the m3u8 along with the multiple bitrate video streams. Because the Roku chooses the lowest bitrate stream initially to start playback faster, it would always choose the audio stream first, resulting in a black screen with only audio. To get around it, I set the MinBandwidth to a value higher than that of the audio only stream until the provider could re-configure Expressions Encoder to not do the audio only stream. It sounds like that might be similar to what you're experiencing, so hopefully that helps...
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)

RokuKevin
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-26-2011
09:15 AM
Re: Roku & IIS Smooth Streaming Server
You should definitely set the MinBandwidth parameter to exclude any audio only streams. You can also try setting the SwitchingStrategy parameter to "minimum-adaptation".
--Kevin
--Kevin
joshua
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-26-2011
07:20 PM
Re: Roku & IIS Smooth Streaming Server
I did not try the min bandwidth option, but I will give it a test to see if it will allows me to enable adaptive streaming. I would point out, that all these test were on a 1Gbps lan. The Roku repeatedly gave me messages that the network speed was around .08 or .02 mbps. I would bypass the automatic stream selection on the Roku, and still, the video streams would not play. I could "occasionally" fast-forward the stream, press play, and the video (low bitrate) would show up for a segment or two, but it would then go back to audio only.
When set to automatic, it would also occasionally play the lowest quality video stream, but with zero consistency. The moment you point the Roku to any direct bitrate stream, it works beautifully and video play back starts immediately. Something between how the Roku interacts with IIS HLS implementation would keep the stream from playing correctly. Audio most of the time, video very rarely (only low bitrates under 800k), and it would rebuffer after every few segments while sometimes getting stuck during the rebuffer process.
The min bandwidth setting may keep the audio only stream from being selected, but considering how it acted with video streams when it would play them, I highly expect the same results...only low video bitrates, constant rebuffering, no consistently. Bypassing the adaptive bitrates provided in the first m3u8 settings solves all these issues.
When set to automatic, it would also occasionally play the lowest quality video stream, but with zero consistency. The moment you point the Roku to any direct bitrate stream, it works beautifully and video play back starts immediately. Something between how the Roku interacts with IIS HLS implementation would keep the stream from playing correctly. Audio most of the time, video very rarely (only low bitrates under 800k), and it would rebuffer after every few segments while sometimes getting stuck during the rebuffer process.
The min bandwidth setting may keep the audio only stream from being selected, but considering how it acted with video streams when it would play them, I highly expect the same results...only low video bitrates, constant rebuffering, no consistently. Bypassing the adaptive bitrates provided in the first m3u8 settings solves all these issues.

TheEndless
Channel Surfer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-26-2011
07:34 PM
Re: Roku & IIS Smooth Streaming Server
Actually, if your M3U8 is reporting the audio only stream at 1.4mb, then what you're seeing is the Roku actually stepping up to a "higher" bitrate stream. I think you'll need to remove the audio only stream to get consistent results, if you can't get it to report at the correct bitrate.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)