support Contact Support | system status System Status
Page Contents

    Content Security (DRM) with the Native Player 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

    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).

      If your account does not use Dynamic Delivery, see the Legacy Ingest section below.

    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).

      If your account does not use Dynamic Delivery, see the Legacy Ingest section below.

    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:

       

    For customers using legacy ingestion

    For customers using the legacy ingest system (not Dynamic Delivery), follow the steps below to package your videos for DRM.

    1. Create a custom ingest profile with defined packages for each DRM type, Widevine Modular and Apple FairPlay.

    2. 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
    3. Upload your content using the DRM ingest profile.

    4. 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

    Page last updated on 12 Jun 2020