Back to blog homepage

Bitmovin HTML5 Player 3.3 – Enhanced Startup Quality due to Custom Adaptation

After one month of developing, since our last release, we are happy to announce Bitmovin Adaptive Streaming Player v3.3! It contains not only enhancements in terms of quality adaptation, we also improved the usability in context of DVR, DRM and error handling. Also the framework around the Bitmovin Player, such as the SDK, has been updated and can be downloaded with your free player.

Custom Adaptation

The Bitmovin Player uses different patented algorithms, derived from academic research, which choose the right video quality for the current bandwidth conditions. The so called adaptation logic ensures smooth content consumption without buffering and has very fast startup, which are two very important qualities for any online video provider. You can read more about this in one of our recent posts on why users leave video websites.
However, as you know your users best, for some use cases it might be appropriate to differ from recommended settings. Bitmovin’s Player v3.3 now empowers you to do so by making use of two new events: onVideoAdaptation and onAudioAdaptation. They can be used to “overwrite” a suggested quality level (Representation) with any other. This can be used to create a completely new custom adaptation logic, or slightly modify the default behaviour, e.g. in context of a more aggressive startup.
We prepared a short example, available on our GitHub Account, which shows a basic usage. The player is configured with a chosen preferred startup quality (e.g. 1Mbps) and searches for the representation equal to or lower than the provided value. bitdash (now known as Bitmovin HTML5 Player) uses this representation for a specified amount of time. A simple instantiation might look as follows:

var player = bitdash('myVideoDiv').setup(conf)
var startupQuality = new PreferredStartupQuality(player, 1000000, 10);

The first parameter is the player object, the second one is the preferred quality in bits per seconds and is optional. It defaults to 1Mbps. The third, also optional parameter, specifies how long the startup phase lasts, in seconds. We recommend to set a higher startup threshold than default. The startup threshold is the number of seconds, which have to be buffered on the client before playback begins. For the PreferredStartupQuality provided, e.g. 5 seconds are a good choice:

var config = {
  tweaks: {
    startup_threshold: 5

Change Playback Speed

Another handy enhancement is the possibility to change the playback speed of your video assets. By using the setPlaybackSpeed API call, you can easily create slow motion or time lapse scenes.
But this is only a short excerpt of our new features and improvements – get a free Bitmovin Player and try it yourself.

What’s coming next?

We will release our updated and simplified player licensing model soon – a first version of the fully featured Bitmovin impression based player, can be tested for free here!
All the best,
a Bitmover called Reinhard.
Follow us on Twitter: @bitmovin

Spread the word!


Reinhard Grandl is Director of Product Management at Bitmovin. Reinhard received his Master degree from the Alpen-Adria Universität Klagenfurt, specializing on Networked and Embedded Systems, in 2014 and joined Bitmovin in 2013 as part of the player department. Reinhard’s experience includes positions in international research and development companies.

Ready for the future of video streaming?

Contact us to see how we can optimize efficiency, decreasing time-to-market for your video needs