為DRM配置Brightcove Player

在本主題中,您將學習Brightcove Player如何實現數字版權管理(DRM)。該文檔首先顯示瞭如何實現DRM插件,然後是該插件的詳細信息及其實現方式。

簡介

Brightcove正在採用以下技術,以將受DRM保護的內容提供給盡可能廣泛的瀏覽器和設備:

  • 具有Native / EME支持的CENC DRM的MPEG-DASH
  • HLS 與「公平遊戲」

要將DRM與Brightcove Player一起使用,您必須:

  • 產生啟用DRM的內容
  • 啟用Brightcove Player以使用DRM插件
  • 在某些情況下,將DRM插件配置為使用許可證服務器

術語

查看本文檔中使用的這些關鍵術語。

期限 定義
DRM 從維基百科:數字版權管理(DRM)是一類版權保護技術,硬件和軟件製造商,發行商,版權持有者以及個人為了控製售後數字內容和設備的使用而使用。
長條破折號 從維基百科:HTTP動態自適應流(DASH),也稱為MPEG-DASH,是一種自適應比特率流技術,可通過Internet從常規HTTP Web服務器提供高質量的媒體內容流。類似於Apple的HTTP Live Streaming(HLS)解決方案,MPEG-DASH的工作原理是將內容分成一系列小的基於HTTP的文件段,每個段包含一段短時間間隔的內容播放時間,該內容播放時間可能長達數小時,例如電影或體育賽事的直播。
中國電子學會 根據ISO標準:“ CENC”通用加密方案指定了一種或多種數字版權和密鑰管理系統(DRM系統)可以使用的標準加密和密鑰映射方法,從而可以使用不同的DRM系統解密同一文件。
加密媒體擴展(EME) 從維基百科:EME是W3C規範草案,用於在Web瀏覽器和數字版權管理(DRM)代理軟件之間提供通信通道。這樣就可以使用HTML5視頻播放DRM包裝的內容,而無需第三方媒體插件(例如Microsoft Silverlight)。

使用播放器模組實作

要在Studio中實施DRM插件並根據您的帳戶設置啟用DRM,請按照以下步驟操作:

  1. 打開選手們模塊,然後創建一個新播放器或找到您要向其添加DRM功能的播放器。
  2. 按一下播放程式的連結以開啟播放程式的屬性。
  3. 按一下左側導覽功能表中的「播放」。
  4. 接下來,檢查啟用DRM複選框。
    Studio中的DRM複選框
  5. 要發布播放器,請點擊發布和嵌入>發布更改
  6. 要關閉打開的對話框,請單擊

DRM插件架構

DRM插件( videojs-drm)是兩個插件的包裝:

  • videojs-silverlight
  • videojs-contrib-eme

videojs-drm插件版本5使用了播放器的內置DASH播放功能。這利用了VHS,它是內置的下一個並重命名的版本videojs-contrib-hls插入。

從播放器 6.26.0 播放器支持短跑多期。對於早期版本的播放器,DASH多時段需要Shaka播放器。

如果要使用Shaka Player進行DASH播放,如版本4一樣,則可以將以下腳本與videojs-drm版本5腳本:

https://players.brightcove.net/videojs-shaka/1/videojs-shaka.js
HTML
 

videojs-silverlight該插件允許在某些Internet Explorer瀏覽器上播放DASH內容。

videojs-contrib-eme該插件允許播放FairPlay HLS內容。

使用的播放技術

Brightcove Player通過不同的瀏覽器使用不同的DRM播放技術。以下詳細介紹了Brightcove Player使用的DRM技術:

  • 公平競爭:蘋果的DRM系統
  • PlayReady:微軟的DRM系統
  • Widevine:Google的DRM系統

下表詳細介紹了Brightcove Player中使用的瀏覽器(最新版本),格式和播放技術之間的關係:

瀏覽器 格式 DRM播放技術 使用的翻譯類型
交付DRM內容
Chrome 桌面 帶 Widevine 的 HLS 或 DASH 新興市場經濟體 HLS 或 MPEG-DASH
Chrome移動版1個 帶 Widevine 的 HLS 或 DASH 新興市場經濟體 HLS 或 MPEG-DASH
IE瀏覽器2 帶有 PlayReady 的 HLS 或 DASH 新興市場經濟體 HLS 或 MPEG-DASH
Edge 帶 Widevine 的 HLS 或 DASH 新興市場經濟體 HLS 或 MPEG-DASH
Safari HLS 與「公平遊戲」 本國的 HLS
Firefox 帶 Widevine 的 HLS 或 DASH 新興市場經濟體 HLS 或 MPEG-DASH

1個不支持在iOS上使用Chrome移動版播放DRM。

產生DRM內容

創建支持DRM的內容必須執行兩個步驟:

  1. 與您的客戶經理聯繫以使您的帳戶啟用DRM。然後,您可以使用正確的許可密鑰和攝取配置文件配置帳戶,以啟用受DRM保護的內容的創建。
  2. 產生受DRM保護的內容。您可以選擇上傳新內容或將現有內容重新編碼為DRM。通過選擇攝取資料產生所需的加密技術。

用代碼實現FairPlay播放

如果您希望使用頁內嵌入代碼實現FairPlay播放,則必須按照以下步驟使用DRM插件:

  1. 在您的 HTML 頁面的標題中,包括插件的樣式表:
    <link href="https://players.brightcove.net/videojs-drm/5/videojs-drm.css" rel="stylesheet">
    HTML
  2. 包含外掛程式的指示:
    <script src="https://players.brightcove.net/videojs-drm/5/videojs-drm.min.js"></script>
    HTML
  3. 如果您的帳戶設置為動態投放,只需調用EME插件即可對其進行初始化。

    <script type="text/javascript">
      videojs.getPlayer('myPlayerID').ready(function() {
        var myPlayer = this;
        myPlayer.eme();
    });
    </script>
    HTML

     

    如果您的帳戶未設置為動態投放,那麼您需要使用FairPlay憑據信息調用並配置EME插件。

    videojs.getPlayer('myPlayerID').ready(function() {
      var myPlayer = this;
      myPlayer.eme({
        "applicationId": "YOUR_APPLICATION_ID",
        "publisherId": "YOUR_PUBISHER_ID"
      });
    });
    </script>
    JavaScript

    Brightcove Player將FairPlay憑據信息發送到Video Cloud FairPlay證書路徑。

在代碼中實現Widevine回放

如果您希望使用頁內嵌入代碼實現Widevine播放,則必須按照以下步驟使用DRM插件:

  1. 在您的 HTML 頁面的標題中,包括插件的樣式表:
    <link href="https://players.brightcove.net/videojs-drm/5/videojs-drm.css" rel="stylesheet">
    HTML
  2. 包含外掛程式的指示:
    <script src="https://players.brightcove.net/videojs-drm/5/videojs-drm.min.js"></script>
    HTML
  3. 接下來,只需調用EME插件即可對其進行初始化。
    <script type="text/javascript">
      videojs.getPlayer('myPlayerID').ready(function() {
        var myPlayer = this;
        myPlayer.eme();
      });
    </script>
    HTML

支持其他DRM提供商

該插件已實現了一條路徑,使客戶可以實現對其他DRM提供程序的支持。這對Fairplay最為有用,因為Fairplay需要獲取許可證信息所必需的自定義邏輯。添加一個vendor.name keySystems 在給定源上的訪問將嘗試利用此邏輯,並包括必要的證書和許可證信息。Azure的示例如下:

player.ready(function(){
  player.eme();
  player.src({
  src: 'http://example.com/src-url.m3u8'
  type: '',
  keySystems: {
    'com.apple.fps.1_0': {
    vendor: {
    name: 'azure'
  },
  certificateUri: 'https://example.com/your-certificate-uri.cer',
  licenseUri: 'https://example.com/your-license-uri'
  }
  }
  });
});
JavaScript

這是castLabs的示例:

var player = videojs.getPlayer('myPlayerID');
player.ready(function(){
  player.eme();
  player.src({
    src: 'http://example.com/src-url.m3u8'
    type: '',
    keySystems: {
      'com.apple.fps.1_0': {
      vendor: {
      name: 'castlabs',
      options: {
      authToken: 'your-auth-token',
      customData: 'your-custom-data'
    }
    }
    certificateUri: 'https://example.com/your-certificate-uri.cer',
    licenseUri: 'https://example.com/your-license-uri'
    }
    }
  });
});
JavaScript

此示例加載Widevine和PlayReady源:

player.src({
  type: 'application/dash+xml',
  src: '<some src>',
     keySystems: {
  'com.widevine.alpha': '<license url>',
  'com.microsoft.playready': '<license url>'
  }
});
JavaScript

啟用調試

要為DRM DASH內容啟用調試,請將以下shaka腳本添加到Brightcove Player中:

<!-- Script for the drm plugin -->
<script src="https://players.brightcove.net/videojs-drm/5/videojs-drm.min.js"></script>
<!-- Script for the shaka plugin -->
<script src="https://players.brightcove.net/videojs-shaka/1/videojs-shaka.js"></script>
<!-- Script for shaka debug plugin  -->
<script src="https://players.brightcove.net/videojs-shaka/1/videojs-shaka.debug.js"></script>
JavaScript

以下是在播放器加載時進行調試的示例:

啟動時在控制台中進行調試

以下是視頻開始播放後的調試示例:

播放後在控制台中進行調試

達世幣

Brightcove Player支持DASH行業論壇(DASH-IF)資產,將Brightcove數據傳遞到Native / EME。看到http://dashif.org有關DASH-IF的更多信息。使用DASH時,以下DASH-IF鏈接也很有幫助:

播放限制

要將 Brightcove Player 配置為使用播放限制,請參閱這裡 .

已知問題

  • 默認(自動顯示)字幕設置 媒體模塊的文字追踪與DRM和清單內字幕結合使用時,不支持此部分。例如,資訊清單內註解可與 Brightcove 產品「動態傳遞」和「SSAI」搭配使用。這個問題的解決方法是將<track>標籤與進階 Brightcove 播放程式實作搭配使用。這在以編程方式向視頻添加字幕文件。請注意,您必須將default屬性與<track>標籤一起使用。
  • DRM資產和Chrome:在DRM插件中使用標準(iframe)播放器實現時,allow="encrypted-media" 才能在Chrome中播放DRM資產。
    <iframe src="https://players.brightcove.net/123456789/BydO6uuuu_default/index.html?videoId=5783262319001"
    allowfullscreen
    width="640" height="360"
    allow="encrypted-media"></iframe>
    HTML
  • Silverlight / IE11的特別活動:在大多數情況下,如果您希望通過編程方式與播放器互動,則可以等待ready 要么loadedmetadata  要調度的事件。但是,如果您希望在IE11中使用Silverlight技術並播放DRM內容時以編程方式與播放器進行交互,則應等待canplay 事件。
  • 在iOS上,僅Safari提供了必需的DRM瀏覽器API(EME),WebView當前不支持EME。因此,Fairplay DRM僅適用於Safari。

變更記錄檔

DRM 插件發行說明 .

有關歷史發行說明,請參閱更新日誌在這裡 .