# licensing-demo **Repository Path**: mirrors_bitmovin/licensing-demo ## Basic Information - **Project Name**: licensing-demo - **Description**: Showcase of how to use the Bitmovin 3rd party licensing in combination with the Adaptive Streaming Player. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-24 - **Last Updated**: 2026-05-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 3rd Party Bitmovin Player Licensing ![Overview Diagram](3rdPartyLicensingDiagram.png) ### This is a simple implementation of a 3rd party licensing server which demonstrates the usage in combination with the Bitmovin Adaptive Streaming Player and our backend application. If a player instance has third-party-license-checking enabled, all license calls are passed to a specified 3rd party license server. To enable third-party-license-checking, two things need to be specified: - An API path which implements a certain behavior as described below. - A failure action which defines what to do if an error or timeout occurs when calling this API path. The 3rd party license server is called by an HTTP/POST request with the following payload: ```json { "domain" :"dummydomain.com", "key" : "your_player_licensekey", "version" : "player_version", "customData": { "thirdPartyKey" :"key1", "param2" :"data2" } } ``` The content of the 'customData' field can be of arbitrary and is specified in the player configuration. Its structure is designed as an array of key/value pairs of type `Object` which is passed through to the 3rd party licensing server. Response-codes: The license of a player instance is allowed or denied based on the following HTTP response codes of the 3rd party licensing server: HTTP code 2xx -> allow license
HTTP code 4xx -> deny license
HTTP code 5xx -> allow or deny based on configured failure action
To make sure the player gets a license decision in any case, a failure action has to be configured. The failure action specifies whether Bitmovin's licensing backend should either allow or deny a license in case the 3rd party licensing server returns a 5xx HTTP error code or the request times out. A timeout happens when the 3rd party licensing server does not respond within 1000ms to a license call. The HTTP response of the 3rd party licensing server can contain a "customData" field which is passed through to the player. ### More information about the 3rd party licensing and the player configuration and API in general, can be found in our [online documentation](https://developer.bitmovin.com/playback).