A DASH client for your HTML5 video players

Aug 24, 2015 14:35 GMT  ·  By

Google developers are constantly working on cool stuff that never makes the headlines of big media websites. One of these excellent tools that recently fell through the cracks is Shaka Player, an HTML5 video player that can work in situations where low bandwidth Internet connections are involved.

Shaka Player is nothing more than a simple JavaScript library that you can use with HTML5-compatible projects.

Once loaded and initiated, the library is a basic DASH client that allows for videos to be automatically played based on the user's local Internet bandwidth conditions.

DASH is a technology used with YouTube's video player

DASH stands for Dynamic Adaptive Streaming over HTTP, and it is a technology that can break up video content into smaller HTTP packages and allow a client to download only the ones needed for immediate playback.

As the DASH client downloads the video stream data and sends it to the video player, the subsequent HTTP packages are automatically fetched, ignoring content that has been skipped by the user.

Since DASH-encoded video streams are available at different bitrates (quality), a DASH client will always try to download the highest quality package first, and if the network conditions prevent it, it will fall back to lower resolution streams.

As an example, the Vimeo and YouTube video players use DASH to automatically adapt to the user's bandwidth in real time.

Shaka Player simplifies DASH implementations for HTML5 video streaming

Since DASH is very hard to implement, Google has developed an open source Shaka Player to help programmers implement DASH technology with HTML5.

Unfortunately, the player only deals with the client-side part of a DASH implementation, but the Shaka Player documentation also contains links to how to prepare and package video content for DASH-enabled streams.

Shaka Player is available on GitHub, and you can play around with a demo as well.