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: 

Re: multiple bitrates

Great I hope it helps someone, it had me stuck and its crazy cause once you see it, it is like how did i not get that...

sometimes you just have to see it to understand it, i can read the docs or forums all day but i need to see it to see what its doing sometimes to REALLY understand it...

So I like to add code on all my posts, so it may help someone like it does me.
Twitter: iptvmyway facebook: iptvmyay
Channels: Warriors of War, Go Fight Live, Heading Outdoorz, IPTVmyway
0 Kudos
joetesta
Level 11

Re: multiple bitrates

I'm having difficulty getting the variable bitrates to work correctly from this example. Here's my XML (I've removed the full URL to the content and left just the file names):
        <item sdImg="l_195255.jpg"
hdImg="h_195255.jpg">
<title>Big Bunny Variable bitrates</title>
<contentId>10011</contentId>
<contentType>Video</contentType>
<contentQuality>SD</contentQuality>
<streamFormat>mp4</streamFormat>
<media>
<streamQuality>SD</streamQuality>
<streamBitrate>600</streamBitrate>
<streamUrl>600kbps_full_movie.mp4</streamUrl>
</media>
<media>
<streamQuality>SD</streamQuality>
<streamBitrate>800</streamBitrate>
<streamUrl>800kbps_full_movie.mp4</streamUrl>
</media>
<media>
<streamQuality>SD</streamQuality>
<streamBitrate>1200</streamBitrate>
<streamUrl>1200kbps_full_movie.mp4</streamUrl>
</media>
<media>
<streamQuality>SD</streamQuality>
<streamBitrate>1600</streamBitrate>
<streamUrl>1600kbps_full_movie.mp4</streamUrl>

</media>
<media>
<streamQuality>SD</streamQuality>
<streamBitrate>2000</streamBitrate>
<streamUrl>2Mbps_full_movie.mp4</streamUrl>
</media>
<media>
<streamQuality>SD</streamQuality>
<streamBitrate>2500</streamBitrate>
<streamUrl>2500_full_movie.mp4</streamUrl>
</media>
<media>
<streamQuality>SD</streamQuality>
<streamBitrate>3000</streamBitrate>
<streamUrl>3Mbps_full_movie.mp4</streamUrl>
</media>

<synopsis>This is a test video. We can put details here once we find them.</synopsis>
<genres>Newly Added</genres>
<runtime>468</runtime>
</item>

When I try it over a T1, the debugging info tells me I have a 8mbps network and that it's playing the 2.0mbps stream
When I try it over 5mbps fiber connection, it tells me I have 10mbps network and it's also playing the 2.0mbps stream.

Questions:
1) How does roku determine the speed of the network (and why does it seem so wrong)?
2) Why does the roku not play the fastest stream that fits in the available bandwidth (3mbps from this XML, esp over the 5mb fiber)?

thank you very much in advance,
joe
aspiring
0 Kudos
joetesta
Level 11

Re: multiple bitrates

I just found this in my 'showFeed.brs' and this is why it was only choosing the 5th option when more bandwidth is available:
        'media may be at multiple bitrates, so parse an build arrays
for idx = 0 to 4

Changed that '4' to a '6' and now (over the T1) I see "Playing 3mbps stream over your 6.8 mbps network"
And what I thought was T1 must be something else since a speedtest just showed me having 8+mbps download but 1.5mbps up. OK, nevermind! 🙂
aspiring
0 Kudos
davidlgood
Level 8

Re: multiple bitrates

I know this thread is old, but I just wanted to chime in here and give my appreciation to you all for not only working through this problem, but posting your code along the way. A lot of people simply leave when they've found a solution to their own problem, which isn't helpful to others -- but your willingness to share what you've learned has helped me out a lot. Multiple streams within a single XML 'item' has been troubling me on and off for a while now -- and I've finally found the solution thanks to you. Thank you all.
0 Kudos
davidlgood
Level 8

Re: multiple bitrates

I have a quick question about ROKU automatically "switching" to a different stream.

I've created a XML file that works -- the ROKU will select the correct file based on the available bandwidth. But it never seems to check the bandwidth again after that point.

For example -- I have the ROKU play a video... it sees that I have plenty of bandwidth so it will play the high-quality version. If I "choke" my bandwidth the ROKU will load and play the lower-bandwidth stream... but then it just stays there forever, regardless if my bandwidth returns to it's normal state. It just keeps playing the low-quality stream no matter how long I wait.

There there something I can do to make the ROKU check bandwidth more often?
0 Kudos
TheEndless
Level 10

Re: multiple bitrates

"davidlgood" wrote:
I have a quick question about ROKU automatically "switching" to a different stream.

I've created a XML file that works -- the ROKU will select the correct file based on the available bandwidth. But it never seems to check the bandwidth again after that point.

For example -- I have the ROKU play a video... it sees that I have plenty of bandwidth so it will play the high-quality version. If I "choke" my bandwidth the ROKU will load and play the lower-bandwidth stream... but then it just stays there forever, regardless if my bandwidth returns to it's normal state. It just keeps playing the low-quality stream no matter how long I wait.

There there something I can do to make the ROKU check bandwidth more often?

That's how the non-adaptive streaming works. It will adjust down, but it never adjusts back up, because it can't do so without re-buffering, which would be disruptive to the user.
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