Sign Up

Applying Playlist APIs to Bitmovin’s v3 Mobile Player SDK

James Varndell

Written by:
June 1st, 2021
James Varndell is the Senior Product Manager for Bitmovin Player

Bitmovin’s modular video player is available for nearly all devices, platforms, and implementations. As the number of use cases and devices grows on a global scale, it’s imperative for a video player to be supported on as many devices as possible and fast. Bitmovin’s Player enables this by allowing developers to reference APIs which connect seamlessly into a streaming service’s internal workflows, or with an SDK implementation. To enable new mobile viewing experiences, we officially launched our latest Mobile Player SDK, v3. Version 3 is the next major release of the Mobile Player SDKs, which includes a new major feature – the Playlist API. The v3 SDKs bring a number of new features and improvements making the SDKs easier for OTT services to use. Today, we cover the state of launching a mobile-friendly video service and the latest solutions that Bitmovin’s v3 mobile player SDKs support.

Bitmovin’s Mobile Player SDK Evolves to Support New Playback Requirements

Since the launch of the last major version, v2, we’ve received great feedback from the video development community (our customers). With each iteration, we aim to further reduce developers’ and services’ time-to-market and to increase the quality of experience within native apps. As with any SaaS solution, we started by evaluating the player SDKs with a detailed specification phase and determined that there was an opportunity to improve underlying video architectures. 

The latest iteration of Bitmovin’s mobile player SDK was crafted out of a goal to improve our customer’s viewer experience. Prior to the launch of V3, playing back multiple sources sequentially incurred significant load times for mobile viewers. This is because the only way of loading in a new source was by running a full workflow each time. 

The New Solution and How to Apply it

To solve this problem, we added a “Playlist API” to the mobile player SDK v3, wherein upcoming sources are preloaded during the playback of any current source, thus enabling gapless playback when switching between sources. The new Playlist API is just the beginning of the V3 life cycle as we plan to implement many more improvements in the near future as 3.0 marks a new direction where the player and multiple sources interact together on a more fine-grained level. In addition to the Playlist API, we’re in the process of migrating to a Kotlin-first API design for Android and updated the UI for Android and iOS alike.

 

New Feature Set: Playlist API

The first major addition that comes with the v3 mobile player SDK is the launch of the new Playlist API feature which provides gapless playback between distinct streams. The Playlist API allows sources to be prepared more dynamically without the need to create a completely new playback session every time a stream switch is required. This is further enhanced with automatic playlist buffering (prior to Player playback) to ensure a smoother overall experience.

Bitmovin Mobile Player SDK_Playlist API Workflow

Playlist API Workflow

Performance and Appearance

For v3, we wanted to improve the overall experience that developers encounter when using our APIs. We are migrating towards a Kotlin-first design in the Android native SDK to enable a more intuitive and cleaner implementation. The current Kotlin-documentation on Android is cleaner, provides more information, and perhaps most importantly, is searchable

Bitmovin Mobile Player SDK v3

Another step we took to improve the developer experience of our Android SDK, is the delivery of the source code of our public API, whereby developers can now consult external documentation much less frequently. 

Monitoring

As events are a big part of interacting with the SDK, we have re-designed the event handling API on Android to offer a more intuitive and flexible way of handling event subscriptions with less boilerplate code. The new API follows our Kotlin-first approach without compromising on Java usability by allowing both Kotlin lambdas and typical Java-style lambdas to be used as event listeners. This allows developers to interact with the Android Player SDK in the programming style that they are most comfortable and proficient with.

Event Monitoring Workflow_Mobile Player SDK

Event Monitoring Workflow

This includes updated error reporting structures to improve the information provided to developers using the API. This also allows for the future addition of further descriptive information for developers to assist with integration projects and diagnostics

V3 provides an Improved developer experience

The goal of the v3 mobile player SDK was to improve the developer experience and create a better player workflow with our playlist API.  The newer optimised and simpler Android API design will help you to launch faster and with a better overall product, but that’s not the end of it! We will continue to improve on v3.0 with additional optimizations. The future of v3 will include further tidied Kotlin designs for Android, and we plan on rolling out Swift for iOS in the very near future. So, if you’re already using our v2 mobile SDKs, you can now upgrade to v3 to take advantage of all the capabilities mentioned above. We’ve also published some helpful migration guides. Contact us today to find out how our mobile player SDK will help you reach your audience!