Developers

Applying Playlist APIs to Bitmovin’s v3 Mobile Player SDK

- Bitmovin

Bitmovin’s 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 enable development teams to launch services quickly. Bitmovin’s Player empowers developers by providing reference APIs which connect seamlessly into a streaming service’s internal workflows, or with an SDK implementation. This helps in verticals such as e-learning, health and fitness, and others that need developer-friendly, easy-to-use tools which ensure video playback quality so developer teams can focus on tailoring the user experience for their audience. 
Through this focus and all of the hard work from our mobile player team, it has culminated in the official launching of version 3 for our Mobile Player SDKs. V3’s release includes major new features such as:

  • New playlist API that enables gapless playback when transitioning between each stream
  • Complete control over individual streams within a playlist
  • Comprehensive offline playback functionality, including support for encrypted & tokenized streams
  • Absolute timestamps for live streams which synchronize the user experience
  • Intuitive Kotlin-first Android API design
  • Swift Package Manager support for iOS and tvOS
  • API workflow improvements including enhanced error handling & improved API documentation

The improvements brought by these updates, make the SDKs easier for OTT services to use and today, we will cover the state of launching a mobile-friendly video service and the latest solutions that Bitmovin’s v3 mobile player SDKs provide.

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, along with our client’s requests. Through each iteration, we always focus on embracing this feedback to further reduce developers’ and services’ time-to-market and increase the quality of experience within native apps (Android and iOS). 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. 
With the improvements our player team has added, this latest iteration of the SDK continues our aim of enhancing the developer experience with simple and easy-to-use tools that can integrate into existing video workflows with significantly less code. As a result, developers that use our Mobile SDKs will be able to make their services more mobile-friendly and provide their audiences with the superior viewing experiences they expect and deserve.

The New Playlist API and How it Works

The first piece of the latest release is the new Playlist API. Before 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 load workflow each time. We overcame this challenge with the playlist API, wherein upcoming sources are preloaded during the playback of any current source, thus enabling gapless playback when transitioning between sources.

Bitmovin Mobile Player SDK_Playlist API Workflow
Playlist API Workflow

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.

Offline Playback and Absolute Timestamps

The next items in v3 are the update for the offline playback and absolute timestamps. Developers have had the ability to utilize offline playback on our Mobile SDKs for quite a while now, and with this release, we have improved that functionality by enabling developers to further encrypt and utilize tokenized streams when giving their audience the ability to download specific pieces of content.

- Bitmovin
Example of the data that would need to be in sync with the video

Additionally, absolute timestamps are another cool feature that gives developers the ability to synchronize their live data with the video feed. This gives audiences a better viewing experience so that when, for example, your favorite football team scores a goal, the data can be in sync with what is happening on the video playback, rather than seeing the score update first before seeing the goal scored on-screen.

Performance and Appearance

For v3, we focused on improving the overall experience that developers encounter when using our APIs. To help iOS developers integrate our SDKs faster, we added support for Swift Package Manager (SPM) for iOS and tvOS. For Android developers, we migrated to a Kotlin-first design in the Android native SDK to enable a more intuitive and cleaner implementation. The current Kotlin-documentation on Android is clearer, 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 over 70 lines taken out of the 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. The newer optimized and simpler Android & iOS API designs will help developers launch faster and with a better overall product. We also have and will continue to create in-depth documentation (v2 to v3 Player SDK migration guides for current clients), giving your teams the tools they need to deploy with ease and speed.
Want to test out the latest Bitmovin Mobile SDK? Sign up for our free trial today!

James Varndell is the Senior Product Manager for Bitmovin Player

Read more by James

Related Posts

Join the conversation