Content Security (DRM) with the Native SDKs

In this topic, you will learn how to protect your video content.

DRM solutions

Digital rights management (DRM) protects your video content by encrypting the video data and unlocking it based on license policies. For more information on Video Cloud support for DRM, see Overview: Digital Rights Management (DRM) in Video Cloud.

The Brightcove Native Player SDK platforms support the following DRM solutions:

Platform DRM Solution
Native Player SDK for iOS HLS with FairPlay Streaming
Native Player SDK for tvOS HLS with FairPlay Streaming
Native Player SDK for Android DASH with Widevine Modular
HLS with Widevine Modular

Video Cloud customers

In the following steps, you will create DRM-enabled content.

Using Apple FairPlay Streaming

If you are using Widevine Classic with your iOS apps, you can transition to using Apple FairPlay Streaming as follows:

  1. If your account(s) is not DRM-enabled, contact your account manager to have it enabled.

  2. With accounts enabled for Dynamic Delivery and DRM, your videos are automatically packaged for DRM when you ingest them. Since DRM is not retroactively applied to Dynamic Delivery assets, older content needs to be re-transcoded (our Engineering team can help apply DRM to pre-existing content).

  3. Support for FairPlay-protected videos is integrated into the core framework of the Brightcove Player SDK for iOS. For more details see the following documents:

Using Google Widevine Modular

If you are using Widevine Classic with your Android apps, you can transition to using Google Widevine Modular as follows:

  1. If your account(s) is not DRM-enabled, contact your account manager to have it enabled.

  2. With accounts enabled for Dynamic Delivery and DRM, your videos are automatically packaged for DRM when you ingest them. Since DRM is not retroactively applied to Dynamic Delivery assets, older content needs to be re-transcoded (our Engineering team can help apply DRM to pre-existing content).

  3. Now, you are ready to use the Brightcove Native SDK for Android in your app. To view Widevine Modular content, you will need to use the ExoPlayer video view. For more details see the following documents:

Brightcove Player customers

Using Apple FairPlay Streaming

If you are using Widevine Classic with your iOS apps, you can transition to using Apple FairPlay Streaming as follows:

  1. For FairPlay, you need to produce DRM-protected content which uses HLS manifests with segmented and encrypted videos.
  2. Since you will not be using the Brightcove FairPlay license server, you need to define some properties related to the FairPlay license

    Support for FairPlay-protected videos is integrated into the core framework of the Brightcove Player SDK for iOS. For more details see the following documents:

Using Google Widevine Modular

If you are using Widevine Classic with your Android apps, you can transition to using Google Widevine Modular as follows:

  1. For Widevine Modular, you need to produce DRM-protected content which uses MPEG-DASH manifests with segmented and encrypted videos.

  2. The Brightcove Native SDK for Android is configured by default to use Brightcove's Widevine licensing server. Your videos need to be configured to use your Widevine licensing server. Here is an example:

      import com.brightcove.player.display.WidevineMediaDrmCallback;
      import com.brightcove.player.media.DeliveryType;
      import com.brightcove.player.model.Video;
      String performVideoUrl = "http://url.to.your.video";
      String performLicenseUrl = "https://url.to.your.licensing.server";
      Video performVideo = Video.createVideo(performVideoUrl, DeliveryType.DASH);
      performVideo.getProperties().put(WidevineMediaDrmCallback.DEFAULT_URL, performLicenseUrl);
      
      
  3. Now, you are ready to use the Brightcove Native SDK for Android in your app. To view Widevine Modular content, you need to use the ExoPlayer video view. For details see the following: