Roku Developer Program

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

YouTube App Performance

Hi there.

I saw the new youtube app on Roku, I saw it's performance, and i have no words for it  :shock:.

It is really fast, anyone here knows how the app is done? They used RokuSDK Features? (they had to, otherwise, in what they have been developed it?)

Maybe they are using tasks to pre-buffer? 

I tried to do something like that and the performance was REALLY bad, it was laggy, with a lot buffering issues. 

Anyone have any clue? 

 
0 Kudos
5 Replies
taylorcw
Level 7

Re: YouTube App Performance

You may be disappointed to here Youtube, Netflix, and a couple other major channels are not even using the Brightscript development language. They use Roku's Secret Development Kit which is not available to the general public. 

See:  https://www.youtube.com/tv
0 Kudos
jordiVilynx
Level 7

Re: YouTube App Performance

Oh boy....

That is depressing... Thanks for the info! 
0 Kudos
Sahabial
Level 7

Re: YouTube App Performance

"taylorcw" wrote:
You may be disappointed to here Youtube, Netflix, and a couple other major channels are not even using the Brightscript development language. They use Roku's Secret Development Kit which is not available to the general public. 

See:  https://www.youtube.com/tv

Hi there.
I saw the youtube tv app but how does it prove that Netflix and Youtube use some kind of 'secred dev kit'?
Just curious
0 Kudos
Roku Employee
Roku Employee

Re: YouTube App Performance

"jordiVilynx" wrote:
It is really fast, anyone here knows how the app is done? They used RokuSDK Features? (they had to, otherwise, in what they have been developed it?)

Maybe they are using tasks to pre-buffer? 

I tried to do something like that and the performance was REALLY bad, it was laggy, with a lot buffering issues. 

I believe YT uses the very same media player that SDK apps use. SDK or NDK being irrelevant here.

But i have noticed that both Netflix and YouTube are exceptionally good at handling low-bandwidth connections, e.g. they stream "just fine" at 1Mbps. Yes, quality drops to SD but it plays w/o a hitch.

I think (fair warning, i am not a media person) it's a question of properly encoding their adaptive streaming and including multitude of bitrates - from high to very low. Are you using HLS, DASH or a single MP4? If the last one, don't be surprised if it likes to take buffering breaks (depending on CDN and network condition).
0 Kudos
norcaljohnny
Level 7

Re: YouTube App Performance

"jordiVilynx" wrote:
Hi there.

I saw the new youtube app on Roku, I saw it's performance, and i have no words for it  :shock:.

It is really fast, anyone here knows how the app is done? They used RokuSDK Features? (they had to, otherwise, in what they have been developed it?)

Maybe they are using tasks to pre-buffer? 

I tried to do something like that and the performance was REALLY bad, it was laggy, with a lot buffering issues. 

Anyone have any clue? 

 

In short, it has a lot and mostly to do with optimization. There are a couple of key elements that play a big role and most of the time are not considered. 
More important factors are..

  1. multiple bitrates for various bandwidths. You cant expect a hd/fhd to load with someone with limited speeds in remote areas or using mobile hotspot to power their Roku connection. 

  2. This to me is very important...Using VBR(variable bit rate) compared to CBR(constant bitrate). If a VBR being the way to go. If a video has a scene with minimal motion, then you do not need to have the bitrate at 1.8k-4k per sec. So using VBR plays a huge impact.

  3. VBR on audio tracks for same reasons stated in #2.

  4. Almost all encoders have an option to "optimize for web streaming". This sets and sends packets more efficiently this decreasing load times.
Most streaming, works well from SD 500k to HD 1800k to FHD/4K 3000k. 

As a test I used 2 Rokus, with a 3g mobile hotspot in the country and streamed 2 HD movies from my server (godaddy) flawlessly. 

Godaddy speeds are roughly 12mbit capped and Youtube's is not much higher (streaming requirements). Of course the server backbone is another topic. They are unlimited if you will. VPN (servers) come with 3gbit backbone and 10/100mbit lines standard.

As for DASH and HLS, I think that a lot of people have views in regards to the pros and cons (buffering) and I see it as it is a great way to cut down on waste, its GREEN Electronics.
For instance, If a user can download a movie in a few minutes from Netflix or Youtube and actually only watch 12 minutes of a movie...then a lot of resources were needlessly used up to transfer the parts of the file never used. 

Thats why the DASH and HLS send bursts of data as needed. Its is very useful to say the least.
So to get back to your post. 

Use VBR for audio and video encoding when possible and select optimize for web streaming. 
Cheers. Smiley Happy
0 Kudos