Jump to Content
Playback
HomeDocumentationRecipesAPI Reference
StreamsPlaybackEncodingBitmovin DashboardPlayback
StreamsPlaybackEncodingBitmovin Dashboard
HomeDocumentationRecipesAPI Reference

Player SDKs

  • Introduction
  • Supported Platforms & Devices
  • Lifecycle Policy
  • Licensing
    • Third Party Licensing
  • DRM Support
  • Advertising Support
  • CAF Support
  • Subtitles & Captions Support
  • Thumbnail Preview Support
  • Player UI CSS Class Reference
  • Guides
    • Network API - HTTP Request/Response manipulation
    • How to migrate from another Player to the Bitmovin Player
    • How to enable Chromecast support
    • How to debug streams on Chromecast devices
    • How to send cookies along with requests in the Player SDKs
    • How to activate the Player and Analytics bundle in the Bitmovin Dashboard
    • Smart TVs configuration and best practices
    • How can I utilize the CDN fallback feature of the player?
    • How to enable recommendation UI
    • Improving Video SEO With Bitmovin player
    • Automatic CDN switching
    • How to Setup VR and 360° Video Playback
    • WebVTT based thumbnails
  • FAQs
    • Why can't I play DRM protected streams in Chrome?
    • Why can't the quality be manually changed in Safari?
    • How do I enable CORS on my web server / cloud storage?
    • What counts as an impression in the player?
    • How can I enable autoplay for a video?
    • Why does my VR / 360° not work on iOS devices?
    • How does offline DRM work on Bitmovin?
    • Does Bitmovin Player support Low Latency streaming?
    • Why does the Network API not work in Safari?
    • Why is my DRM stream only working on real, physical devices?
    • Why doesn’t autoplay work consistently on browsers?
    • How can I remove or change the watermark of the Bitmovin Player UI?
    • How can I remove the watermark from the Chromecast receiver?
    • Why is there sometimes no settings button in the control bar?
    • Why do I see an additional "CC1" entry in the subtitle menu in Safari/iOS?
    • How do I disable auto-hiding the control bar?
    • Does one DRM standard work across all devices?
    • Why are my WebVTT subtitle tracks not in sync with the video?
    • Does DRM work on iOS in Chrome/Firefox browsers?
    • Can I hide the "playback speed" menu of the player UI?
    • Why does the playback of 360°/VR content with DRM not work?
    • Why does `enterfullscreen` require a user gesture?
    • How can I change the labels for video/audio qualities or subtitles in the settings menu?
    • My Wowza stream does not play in Internet Explorer and Edge anymore using the HTML5 player
    • How can I allowlist a domain, IP, app ID, package name, or bundle identifier?
    • Why does the player show the error message “Your player is not allowed to play on the domain ...”?
    • Why are subtitles not shown when casting from Android/iOS to a custom receiver app?
    • Are there known limitations with the IMA SDK Integration?

Analytics

  • How to Set Up
    • Analytics Web Collector
    • Analytics Android Collector
    • Analytics iOS Collector
    • Analytics Roku Collector
    • Bitmovin Grafana Plugin
    • Bitmovin Analytics for Google Data Studio
  • Configuration Guide
    • Cookies in Bitmovin Analytics
    • How to set up Bitmovin Analytics with Google Tag Manager
  • Metrics and Dashboard
    • Getting started with the Analytics API
    • Getting started with the Api Explorer
    • How to recreate dashboard queries via the API
    • How to create an Alert in the Bitmovin Analytics dashboard
    • Using Top-Errors for debugging
  • Exporting your Data
    • S3 Role-Based Output for Analytics exports
    • GCS Service-Account Output for Analytics exports
    • Microsoft Azure Storage Output for Analytics exports
  • Supported Platforms and Devices
  • Native Collector API v3
    • iOS Collector Migration Guide from API v2 to v3
    • Android Collector Migration Guide from API v2 to v3
  • Articles
    • Analytics API Fields
    • Analytics dashboard metrics reference
    • Data Aging in Bitmovin Analytics
    • Segmenting your audience
  • FAQs
    • What counts as an Analytics impression?
    • How can values of customData fields be changed?
    • Which metrics related to the startup time are collected by Bitmovin Analytics?
    • Total Hours Watched Metric
    • Average View Time Metric
    • Can I change the timezone used for Bitmovin Analytics data?
    • How we measure concurrent viewers
    • How can I select which license shows up first when entering the Bitmovin Analytics dashboard?
    • What is the length limit for fields?
    • How often do you update your Kotlin Version?
    • Overriding bundled Bitmovin Player v8 Analytics collector
    • Can Bitmovin Analytics URLs be shared?
    • Are there any limitations on full data exports?
    • How does Analytics distinguish between VOD and live content?
    • What additional error data can be retrieved in Bitmovin Analytics
    • Do-Not-Track Cookie Handling in Analytics
    • What is an ANALYTICS_VIDEOSTART_TIMEOUT_REACHED error?
    • What is an ANALYTICS_BUFFERING_TIMEOUT_REACHED error?
    • How can I export my full data set from Bitmovin Analytics?
    • Custom Data setup on Bitmovin Player v3 for Android and iOS
    • What permissions do I need to set on my S3 buckets for Analytics Exports?
    • How can the userId be randomized for each session of the same user?
    • How to setup Bitmovin Analytics on SmartTVs
    • What is an ANALYTICS_QUALITY_CHANGE_THRESHOLD_EXCEEDED error?
    • Is there a sandbox environment to test Bitmovin Analytics?
    • Why do I see a maximum of 50 quality switches within an hour in a session?
    • What are Industry Insights?
    • Licenses in Bitmovin Analytics
    • How we measure buffering in Bitmovin Analytics
    • Is offline tracking of Analytics Events supported?
  • Release Notes
    • Analytics Collector - Web
    • Analytics Collector - Android
    • Analytics Collector - iOS
    • Analytics Collector - Roku

Player Web SDK - Browsers, Smart TVs, Set-Top Boxes & Game Consoles

  • Getting Started with the Web SDK
    • Getting started with the Web Player on PlayStation 5
    • Getting started with the Web Player on PlayStation 4
    • Getting started with the Web Player on LG webOS
    • Getting started with the Web Player on Samsung Tizen
  • UI
    • How to add Timeline Markers
    • How to add external subtitles to the Bitmovin Player
  • DRM
    • Streaming DRM protected content with Bitmovin Player Web SDK
    • How does FairPlay work?
    • Setup using multiple DRM solutions
    • Playing protected content with DRMtoday
    • How to play MPEG-CENC ClearKey content
    • Playing protected content with DRM.cloud
    • Playing protected content with Irdeto
    • Playing protected content using BuyDRM
    • Playing protected content with EZDRM
    • Playing protected content with Conax DRM
  • Advertising
    • Setting up Ads with the Web Player
    • Using Google DFP Video Ads
    • Changing the locale language for ads
    • How can I show a UI when ads are paused by the IMA SDK?
    • How can I access the IMA-SDK of HTML5 player
  • Integrations
    • Integrating Bitmovin Player with Teleport
    • Integrating Bitmovin Player with Streamroot
  • Examples
  • FAQs
    • How to change request timeout in the Bitmovin Web Player
    • Why is the full screen player UI different with iOS and other devices?
  • Release Notes (Web)

Player Android SDK

  • Getting Started
  • Offline Playback
  • Working with DRM providers
  • Logging in the Android Player SDK
  • Migrating from ExoPlayer to the Bitmovin Player
  • Examples
  • FAQs
    • How often do you update your Kotlin Version?
    • Can I use ExoPlayer and the Bitmovin Player Android SDK in the same project?
    • How can I use custom labels for audio or subtitle tracks?
    • How can I specify a custom Bitmovin Analytics Collector version?
  • Release Notes (Android)

Player iOS, tvOS SDK

  • Getting Started
  • Listening to Events
  • Offline Playback
  • Working with DRM providers
  • Logging in the iOS & tvOS Player SDK
  • Migrating from AVPlayer to the Bitmovin Player
  • Picture-in-Picture without using the Bitmovin Web UI
  • Watch content together with SharePlay
  • Examples
  • FAQs
    • How to switch sources when casting
    • How to let audio play when the iOS device is in Silent mode ?
  • Release Notes (iOS)

Player Roku SDK

  • Getting Started
  • Migrating from Native Video Node to the Bitmovin Player
  • Guides
    • Troubleshooting and Error Handling
  • Examples
  • Release Notes

Stream Lab

  • Introduction
  • Supported Platforms & Devices
  • Test cases
  • Regular Tests
  • Manual Tests
  • Guides
    • Adding a stream
  • FAQs
    • What is a test environment in Stream Lab

Player React Native SDK

  • Overview
  • Getting Started with the React Native SDK
    • Setting up Dependencies
    • Implementing a basic Player screen
    • Configuring your License
  • Feature guides
    • Advanced playback configuration
    • Accessing the native Player instance
    • Listening to events
    • DRM-protected playback
    • Adding external subtitle tracks
    • Adding external thumbnail tracks
    • Enabling Picture in Picture mode
    • Enabling fullscreen playback
    • Setting up Ads
    • Enabling Bitmovin Analytics
    • Customizing the HTML Player UI
    • Offline Playback
  • Contributing to the SDK
  • FAQs
    • Can the React Native SDK be used to target web browsers?
    • What is the underlying Bitmovin Player Android / iOS SDK version?

Introduction

Suggest Edits

Updated 10 months ago