Sign Up

bitdash v2.0 – HTML5 Video Player API

Written by:
January 10th, 2015

Note: Since this post was originally published, the bitdash player has been renamed as the Bitmovin Adaptive Streaming Player. You can sign up for a free account and use the full version of the Bitmovin Player which includes full DRM support, ad server integration, MPEG-DASH and HLS and much more. Read more about the Bitmovin re-branding here.

The bitdash team has worked hard in the past weeks and months to prepare the next major release for our bitdash player. We have re-designed and re-factored our player suite to not only provide you new features, but also to enable even more awesome features in the near future! We also got lots of feedback from our customers and have tried to integrate it as much as possible, into the new release.

Try it for free!

New Features and Player Improvements

bitdash v2.0, the HTML5/Flash MPEG-DASH Player comes with a lot of new features and player improvements.

Changing Videos
Changing videos dynamically is a major improvement of bitdash v.2.0. Once a player has loaded a video, there was no satisfying way to change the video. This issue finally belongs to the past. We have added a load method to our MPEG-DASH player API to change to another video.

Video Ad Support
Furthermore, changing the video using a bit of JavaScript code enables a first, basic method to provide video ads.

Although we have already brought DRM to bitdash, with the new HTML5/Flash player release, we have improved our solution. We have, for example, enhanced the support for third party DRM providers, such as BuyDRM’s KeyOS or Vualto.

API Changes
As we already worked on the API, we decided to make further improvements. Instead of the old setMPD method, the new load function (we just introduced) is used. It is accompanied by an unload call to remove the current video and disable downloading, buffering and all background processes.
Also new are the API calls getPlaybackVideoData and getPlaybackAudioData. They return a JSON object including the available information about the currently played quality. So not only do they combine methods like getCurrentVideoWidth or getCurrentVideoHeight, but also add new information. The currently played representation ID and bitrate are also returned, even if the quality is selected automatically.
We also combined the information about downloaded data into the new getDownloadedVideoData and getDownloadedAudioData, which work analog to getPlaybackVideoData. A full list of deprecated API functions and which calls should be used instead, can be found in the new API documentation.

Stream Name
A customer requested a feature that we liked so much that we decided to make it available to all of our customers. We have introduced a new, custom (optional) attribute in audio AdaptationSets: streamName. This new feature provides the ability to insert a free text which is used as display text in the player’s settings window instead of the language code. So an example would look like this: <AdaptationSet streamName=”English (OV)” lang=”en” …> where “English OV” is displayed in the language selection box instead of “en”.

Variable Segment Length Seeking
Another awesome feature the bitdash team implemented is seeking in content with variable segment lengths. MPEG-DASH content is not always created with a fixed segment length, but seeking has not always worked satisfactorily when SegmentTemplate has been used. Because this is the most common MPD format among our customers, we have implemented a solution for this issue.

The configuration object which is passed to the player has evolved, too. It’s better organized, using objects within the main configuration object. We have also added the ability to provide a list of progressive fallback videos to enable multiple videos with different formats, e.g. mp4 and webm at the same time.
Have a look at our new configuration documentation for more details.

Player Feedback
We have improved the feedback bitdash provides if something goes wrong. Whenever the player can not be used, e.g. due to configuration errors or license issues, the reason will be immediately printed on the side instead of the player. This will enhance player integration in custom sites.

And now?
The bitdash team made many improvements to provide a great user experience in HTML5 as well as in Flash MPEG-DASH video player. And we’re not stopping here! We are already working on some awesome features for the next bitdash release. This includes the ability to create custom player skins, as well as an enhancement of the ad support using VAST. So stay tuned!


All the best,

Daniel & the bitdash Team
Follow us on Twitter: @bitmovin

bitdash API

Tags: , , , , , , ,