Content Security (DRM) with the Native Player SDKs

The page you are looking for doesn't live here anymore -- redirecting you to in 3 seconds.

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

Digital rights management (DRM) protects your video content by encrypting the video data and unlocking it based on license policies.

DRM solutions

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

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 already DRM-enabled, then contact your account manager to have it enabled.

  2. Create a custom ingest profile with defined packages for each DRM type, in this case, Apple FairPlay Streaming.

  3. In Studio, in the Upload module, you should now see your custom DRM profiles in the Ingest Profile dropdown menu. Here is an example of what your menu might look like:
    DRM profiles with FairPlay selected
    DRM profiles with FairPlay selected
  4. Upload your content using the DRM ingest profile.

  5. For existing content in Video Cloud, you can use the Retranscode button in the Media module and select your desired ingest profile. Retranscoding works only if you initially used the new Studio's Upload module or Dynamic Ingest.
    Retranscode in Studio
    Retranscode in Studio
  6. Now, you are ready to integrate Brightcove's FairPlay plugin with your app. For details as well as a sample app, see the FairPlay plugin information.

For more information, see the Protecting Your Content using Apple FairPlay document.

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 already DRM-enabled, then contact your account manager to have it enabled.

  2. Create a custom ingest profile with defined packages for each DRM type, in this case, Google Widevine Modular.

  3. In Studio, in the Upload module, you should now see your custom DRM profiles in the Ingest Profile dropdown menu. Here is an example of what your menu might look like:
    DRM profiles with Widevine selected
    DRM profiles with Widevine selected
  4. Upload your content using the DRM ingest profile.

  5. For existing content in Video Cloud, you can use the Retranscode button in the Media module and select your desired ingest profile. Retranscoding works only if you initially used the new Studio's Upload module or Dynamic Ingest.
    Retranscode in Studio
    Retranscode in Studio
  6. 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 details as well as a sample app, see the Widevine Modular information in the Integrations table.

For more information, see the Protecting Your Content using Google Widevine document.

Perform 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 will need to produce DRM-protected content which uses HLS manifests with segmented and encrypted videos.
  2. Now, you are ready to integrate Brightcove's FairPlay plugin with your app. For details as well as a sample app, see the FairPlay plugin information.

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 will 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 will 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. To view Widevine Modular content, you will need to use the ExoPlayer video view. For details as well as a sample app, see the Widevine Modular information in the Integrations table.