Adaptive streaming for all

24th October 2016

Adaptive streaming (HLS and DASH) is our default method for delivering video content.

For browsers that do not support it natively (for example Microsoft’s Edge browser supports HLS without additional code), we add the capability to play both HLS and DASH within the player’s code. This happens automatically and seamlessly.

Both DASH and HLS have many advantages over the older, progressive-download approach to video streaming, whereby a single version of a video was selected on-load then downloaded as a single file.

Why use DASH or HLS?

Adaptivity: HLS and DASH (the two most popular ways to package video content for delivery using a modern HTML5 player) can be used to package different bit-rate/resolution versions of the same video. That means that when its manifest file is played, an appropriate quality of video can be initially selected depending on the available bandwidth. If someone has a slower connection, the player will automatically pick a lower quality version from those available, which should result in smoother playback with less pauses for buffering. That can happen if the connection fluctuates too, avoiding the need for a manual quality-switch button. It makes the process smoother since the stream-switching happens seamlessly. There is no awkward pause when a viewer switches streams, which can happen with the older progressive-download approach.

Efficiency: Adaptive streaming formats like HLS and DASH only download/buffer a small amount ahead of where the viewer currently is in the video. That is simple to do since the video is divided into segments, with each segment usually being 5-10 seconds in duration. That results in much less bandwidth being wasted compared to progressive-download. If you have watched a video delivered using progressive-download, you may have noticed that when you pause that video, the entire video usually downloads (note: this behaviour is built in to the browser, so while it happens on Chrome on a PC, it may not happen on Chrome on iOS). If a video is an hour long, that entire hour could download, even if the viewer only watched the first minute. Since modern broadband connections are so fast, that video would download quickly and so all that data would have been wasted.

As an example, here we tried the popular ‘Elephant’s Dream’ sample video, using a normal .mp4 version. We made the buffer-bar red to make it clearer. You can see that once paused, the bar quickly filled up, downloading the entire 10-minute video - despite pausing just a short time in to it. If we simply left the page now, that 10 minutes of video would have been downloaded for nothing as it never got watched:

Progressive download vs DASH HLS

Security: Dividing a video into separate segments, and perhaps also separating audio and video too, puts another hurdle in front of someone that wants to download a copy of your video. Of course it is still possible to download the segments and put them back together again, but that is compared to the simplicity of directly downloading an .mp4 file in one go using a basic progressive-download. Further, using DASH opens up the possibility of encrypting those segments using DRM (Digital Rights Management) so even if they were to be downloaded, the segments could not be played - because they would have been encrypted and so would need a licence to decrypt. That solution is called DRM and is also something we offer as part of our professional video hosting.

If you would like to find out more about some of the technical details comparing DASH vs HLS, we have written a short guide: HLS vs DASH.

Plus, as always if you have any other questions about our online video platform, please contact us at support@vidbeo.com. We also have a help section that we will be adding some articles to.

Return to the Vidbeo homepage?