"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..
- 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.
- 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.
- VBR on audio tracks for same reasons stated in #2.
- 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.
🙂