Skip to content

THEOplayer/react-native-theoplayer-drm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Dec 13, 2024
9ec8725 · Dec 13, 2024
May 10, 2023
Sep 11, 2024
Dec 13, 2024
Feb 1, 2023
Sep 24, 2023
Feb 1, 2023
Nov 8, 2024
Feb 1, 2023
Feb 1, 2023
Dec 13, 2024
May 23, 2024
Apr 3, 2024
Feb 1, 2023
Nov 8, 2024
Dec 13, 2024
Dec 13, 2024
Feb 1, 2023
Sep 26, 2023

Repository files navigation

React Native THEOplayer DRM

The @theoplayer/react-native-drm package provides a set of connectors for react-native-theoplayer, allowing playback of DRM-protected content.

Installation

npm install @theoplayer/react-native-drm

Usage

The connector needs to be registered to the ContentProtectionRegistry, providing both integrationId and keySystemId:

import { ContentProtectionRegistry } from 'react-native-theoplayer';
import { EzdrmFairplayContentProtectionIntegrationFactory } from 'react-native-theoplayer-drm';

ContentProtectionRegistry.registerContentProtectionIntegration(
  'ezdrm',   // integrationId
  'fairplay', // keySystemId
  new EzdrmFairplayContentProtectionIntegrationFactory()
);

The combination of both integrationId and keySystemId points the player towards the connector for a specific source, in this case the ezdrm connector for fairplay:

const source = {
  "sources": {
    "src": "<source_url>",
    "contentProtection": {
      "integration": "ezdrm",
      "fairplay": {
        "certificate": "<base64encoded_certificate>",
        "licenseAcquisitionURL": "<license_url>"
      },
    }
  }
};

Connectors

The THEOplayer DRM integrations repository contains a list of integrations for native Web, Android & iOS THEOplayer SDKs.

As the content protection API of react-native-theoplayer is very similar to that of THEOplayer's native Web SDK, the available Web connectors can mostly be reused as-is. These connectors are not available as npm packages however, and sometimes have dependencies on web-specific utilities. Because of this, the @theoplayer/react-native-drm package provides the following connectors, readily available to be used by react-native-theoplayer:

Vendor Widevine Playready FairPlay
BuyDRM KeyOS
EZDRM ✓ (*) ✓ (*)
Verimatrix MultiDRM Core DRM
Anvato
Axinom
CastLabs
PallyCon

(*) No connector is needed for these DRM vendors; it is handled by the player's default DRM flow.