Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
joshua
Visitor

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.
0 Kudos
4 REPLIES 4
TheEndless
Channel Surfer

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)
0 Kudos
RokuKevin
Visitor

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
0 Kudos
joshua
Visitor

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.
0 Kudos
TheEndless
Channel Surfer

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)
0 Kudos