Roku Developer Program

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

HLS Player taking long time to start playback in Low BW


I am using HLS playback in my Application. Normally the playback starts withing 4 seconds to start the playback in good bandwidth( above 4 Mbps). But when the bandwidth is in the range say 600 Kpbs to 1 Mbps the player takes as much as 50 seconds to start the playback.

I am using roVideoPlayer component with "full-adaptation" switching strategy. I am not specifying the minBandwidth or maxBandwidth and allowing player to choose the same.

system log analysis: In good bandwidth condition i can see that the player starts with the 05.m3u8 variant( lowest bandwith segments list) and switches upto 01.m3u8( highest bandwidth segments list) after it gets videochunk for the first segment from 05.m3u8 variant. I can see that player starts playing with just one or two video chunks. The chunks are of size 1-2 MB. It appears the the player buffer window gets filled with just one or two junks and playback starts. Buffering event received shows 1000 when its full.
In low banwidth scenario, the player starts with 05.m3u8 and starts requesting the videochunks using the .ts url. But player continues to request upto 10 - 15 chunks before it starts playback. The buffering events starts from 0 upto 330 and then after 8th or 9th chunk chunk again then buffering restarts from zero. Now it again makes a request to 05.m3u8 variant and starts playback after receiving just two video chunks of size( 640 KB each). It appears the player adjusted its buffer window to a lower size when it restarted the buffering after 8th chunk.

I am curios to understand why the player is not readjusting the buffer window according to the variant selected in beginning. If the Player could start with a small buffer window and increase based on the switching to upper variant, it might improve the playback start time in low bandwidth scenario.

Please correct me if my understanding is wrong about the player. Also let me know if there is any way in brightscript make the player start with low buffer window.
As i understand the videochunk returned from 05.m3u8 segment and from 01.m3u8 segment would have same play time for the respective quality.
0 Kudos
1 Reply
Roku Employee
Roku Employee

Re: HLS Player taking long time to start playback in Low BW

Normally I would tell you to set the bitrate= to the bitrate of the video, but, given that we have a bug in our firmware when you set the bitrate to something other than 0 in a single bitrate stream, I think you might just have to sit tight till our newer firmware finishes rolling out. You can try checking for updates to see if your device is authorized to get the newer release early.

- Joel
0 Kudos