Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
scottchiefbaker
Level 7

Roku isn't switch HLS bandwidths, but VLC and iPad are?

I made a test HLS stream with FFMPEG here:

http://www.perturb.org/tmp/hls/castle/

If I load that on an iPad or VLC it plays just fine, and switches bandwidths according to needs. If I point my Roku at that URL it always picks the bandwidth that's first in the playlist, regardless of actual bandwidth available. Any ideas why the Roku won't switch bandwidth?

There are 5 different bandwidth streams, for this content.
0 Kudos
6 REPLIES 6\
TheEndless
Level 9

Re: Roku isn't switch HLS bandwidths, but VLC and iPad are?

Make sure you're setting the SwitchingStrategy value on your metadata. Without it, the Roku won't switch.
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
scottchiefbaker
Level 7

Re: Roku isn't switch HLS bandwidths, but VLC and iPad are?

I'm using the sample "videoplayer" app. I don't see that string anywhere in the source. Where should I put it? I assume it goes in the source, not in the XML?
0 Kudos
scottchiefbaker
Level 7

Re: Roku isn't switch HLS bandwidths, but VLC and iPad are?

I modified the source to include SwitchingStrategy="full-adaptation" and now it appears to be doing rate adaptation correctly. I have a direct connection to the server the content is on, but the Roku is still choosing the LOWEST quality stream for the first segment. In the example I gave, it chooses the 200k stream for the first ten seconds, and then immediately jumps up to the 600k stream. Is there a way to make the Roku buffer a little more, or try a little harder on that first segment.

As it stands, the first ten seconds of the video look terrible, and then it clears up. On an uncongested pipe, there is no reason it shouldn't start on the highest bitrate. I've re-ordered the playlist to put the lowest bitrate last, or even in the middle, and it always seems to start at the lowest bitrate.
0 Kudos
TheEndless
Level 9

Re: Roku isn't switch HLS bandwidths, but VLC and iPad are?

Unfortunately, that's how "full-adaptation" works on the Roku. It starts with the first stream in the playlist, then adjusts from there. You could try "minimum-adaptation". It ramps up a lot quicker, but I don't think it adjusts as effectively if it needs to switch down at any point.
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
scottchiefbaker
Level 7

Re: Roku isn't switch HLS bandwidths, but VLC and iPad are?

I put the highest bitrate first in the playlist, and the Roku still chose the lowest bitrate for the first segment.
0 Kudos
TheEndless
Level 9

Re: Roku isn't switch HLS bandwidths, but VLC and iPad are?

"scottchiefbaker" wrote:
I put the highest bitrate first in the playlist, and the Roku still chose the lowest bitrate for the first segment.

Ok, so maybe it just starts with the lowest, then. That's always been the first in my experience, so I assumed the first in the playlist. You should still experience faster ramp up with "minimum-adaptation".
You could also try setting the MinBandwidth parameter higher, so it never plays the lowest bitrate streams, but I don't know if that fits your model or not.
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