サポート サポート問い合わせ先 | システムステータス システムステータス
ページ内容

    DASH DRMマニフェストの作成 Brightcove Player

    このトピックでは、DRM保護を備えたMPEG-DASHマニフェスト(.MPDファイル)を作成する方法を学習します。 Brightcove Player.

    概要

    MPEG-DASHマニフェスト(.MPDファイル)は、共通暗号化(CENC)を使用して暗号化されたMPEG-DASHレンディションを含むビデオを記述し、Playready、Widevine、およびMarlinコンテンツ復号化モジュール(CDM)と互換性があります。 PlayreadyとWidevineのみがサポートされています Brightcoveのウェブ player、使用するブラウザに応じて。

    ブラウザサポート

    再生は、サポートされているデスクトップMacintoshおよびWindowsブラウザでのみ機能します。

    ブラウザタイプ 再生技術 DRMタイプ
    クローム34 + Shaka-を使用したネイティブMSE / EME再生Player* ワイドヴァイン
    IE 11 on Windows 8メトロ、MS Edge on Windows 10 Shaka-を使用したネイティブMSE / EME再生Player* Playready
    Safari、IE、Firefoxを含む他のすべてのブラウザ Silverlightプラグイン Playready

    外部DRMコンテンツ

    外部で作成されたDRMコンテンツの要件 Brightcove Video Cloud

    DRM保護を適用してビデオコンテンツを再生するには、 Brightcove Player これらのガイドラインに従ってビデオをエンコードする必要があります。

    1. MPEG-DASHでなければなりません Live プロフィール(「hbbtv」ではなく「オンデマンド」ではなく)
    2. すべてのレンディションのキーフレーム間隔とフレームレートが同じでなければなりません(Silverlightプラグインとの互換性のため)
    3. 共通暗号化(CENC)を使用して暗号化され、PlayreadyおよびWidevineサポートが有効になっている
    4. PlayreadyとWidevineライセンスサーバーURLを提供する必要があります。 PlayreadyライセンスサーバーのURLは、マニフェストファイル(.mpd)に含める必要があります。 WidevineライセンスサーバーのURLは、マニフェストまたはJavascriptのパラメータとして提供されます
    5. Playready初期化ベクトルは8バイトである必要があります。

    サンプルマニフェスト

    以下は、MPEG-DASHマニフェスト(.MPDファイル)の例です。 Video Cloud.

    <?xml version="1.0" ?>
    <MPD mediaPresentationDuration="PT1M28S" minBufferTime="PT2.00S" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:mspr="urn:microsoft:playready" xmlns:mas="urn:marlin:mas:1-0:services:schemas:mpd">
       <Period>
          <AdaptationSet mimeType="audio/mp4" segmentAlignment="true" startWithSAP="1">
             <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="5d97af80-2442-4fe9-b1aafc24ecb6fa28" xmlns:cenc="urn:mpeg:cenc:2013"/>
             <ContentProtection schemeIdUri="urn:uuid:5E629AF5-38DA-4063-8977-97FFBD9902D4">
                <mas:MarlinContentIds>
                   <mas:MarlinContentId>urn:marlin:kid:5d97af8024424fe9b1aafc24ecb6fa28</mas:MarlinContentId>
                </mas:MarlinContentIds>
             </ContentProtection>
             <ContentProtection schemeIdUri="urn:uuid:79f0049a-4098-8642-ab92-e65be0885f95">
                <mspr:pro>jAIAAAEAAQCCAjwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AZwBLACsAWABYAFUASQBrADYAVQArAHgAcQB2AHcAawA3AEwAYgA2AEsAQQA9AD0APAAvAEsASQBEAD4APABDAEgARQBDAEsAUwBVAE0APgBVAGQAawBLAGIASQBBAHgAbgBOAGcAPQA8AC8AQwBIAEUAQwBLAFMAVQBNAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAHIAbABpAGMALgBiAHIAaQBnAGgAdABjAG8AdgBlAC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC8AMwA3ADIAMwA0ADkANgAyADcANwAwADAAMQA8AC8ATABBAF8AVQBSAEwAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</mspr:pro>
             </ContentProtection>
             <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed" bc:licenseAcquisitionUrl="https://wvlic.brightcove.com/proxy/4324249227001" xmlns:bc="urn:brightcove:2015"/>
             <SegmentTemplate duration="2000" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/seg-$Number$.m4f" startNumber="0" timescale="1000"/>
             <Representation bandwidth="43241" id="4324360320001/audio/und" codecs="mp4a.40.5" audioSamplingRate="22050">
                <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
             </Representation>
          </AdaptationSet>
          <AdaptationSet mimeType="video/mp4" segmentAlignment="true" startWithSAP="1" scanType="progressive">
             <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="5d97af80-2442-4fe9-b1aafc24ecb6fa28" xmlns:cenc="urn:mpeg:cenc:2013"/>
             <ContentProtection schemeIdUri="urn:uuid:5E629AF5-38DA-4063-8977-97FFBD9902D4">
                <mas:MarlinContentIds>
                   <mas:MarlinContentId>urn:marlin:kid:5d97af8024424fe9b1aafc24ecb6fa28</mas:MarlinContentId>
                </mas:MarlinContentIds>
             </ContentProtection>
             <ContentProtection schemeIdUri="urn:uuid:79f0049a-4098-8642-ab92-e65be0885f95">
                <mspr:pro>jAIAAAEAAQCCAjwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AZwBLACsAWABYAFUASQBrADYAVQArAHgAcQB2AHcAawA3AEwAYgA2AEsAQQA9AD0APAAvAEsASQBEAD4APABDAEgARQBDAEsAUwBVAE0APgBVAGQAawBLAGIASQBBAHgAbgBOAGcAPQA8AC8AQwBIAEUAQwBLAFMAVQBNAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAHIAbABpAGMALgBiAHIAaQBnAGgAdABjAG8AdgBlAC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC8AMwA3ADIAMwA0ADkANgAyADcANwAwADAAMQA8AC8ATABBAF8AVQBSAEwAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</mspr:pro>
             </ContentProtection>
             <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed" bc:licenseAcquisitionUrl="https://wvlic.brightcove.com/proxy/4324249227001" xmlns:bc="urn:brightcove:2015"/>
             <SegmentTemplate duration="2000" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/seg-$Number$.m4f" startNumber="0" timescale="1000"/>
             <Representation bandwidth="237182" id="4324360320001/video/1" codecs="avc1.42c015" frameRate="30" width="400" height="300"/>
             <Representation bandwidth="601518" id="4324360321001/video/1" codecs="avc1.42c015" frameRate="30" width="400" height="300"/>
             <Representation bandwidth="981387" id="4324360323001/video/1" codecs="avc1.42c016" frameRate="30" width="480" height="360"/>
             <Representation bandwidth="1507704" id="4324360324001/video/1" codecs="avc1.42c01e" frameRate="30" width="640" height="480"/>
             <Representation bandwidth="2102387" id="4324360325001/video/1" codecs="avc1.42c01e" frameRate="30" width="640" height="480"/>
             <Representation bandwidth="2991373" id="4324360326001/video/1" codecs="avc1.42c01e" frameRate="30" width="640" height="480"/>
          </AdaptationSet>
       </Period>
    </MPD>
    

    ライセンス情報

    と互換性のある独自のDASH-DRMストリームを作成するには Brightcove Player エンコーディングシステムは、DRMライセンスに関する情報を含む、上記と同様のマニフェスト(MPD)を作成する必要があります。 あなたのMPDは、あなたのMPDによって使用されていないマーリンセクションを省略することができます。 Brightcove Player 今日。

    PlayReadyライセンスキーの指定

    Brightcove Player PlayReadyライセンス情報をbase-64エンコード文字列としてMPDに埋め込む必要があります。 この例の値は <mspr:pro> 上記のタグ。 エンコードされたキー情報を以下にデコードして示します。 PlayReadyヘッダーの形式に関する情報は、次の場所にあります。 http://www.microsoft.com/playready/documents/.

    <WRMHEADER xmlns="http://schemas.microsoft.com/DRM/2007/03/PlayReadyHeader" version="4.0.0.0"><DATA><PROTECTINFO><KEYLEN>16</KEYLEN><ALGID>AESCTR</ALGID></PROTECTINFO><KID>gK+XXUIk6U+xqvwk7Lb6KA==</KID><CHECKSUM>UdkKbIAxnNg=</CHECKSUM><LA_URL>https://prlic.brightcove.com/license/3723496277001</LA_URL></DATA></WRMHEADER>

    WidevineライセンスURLの指定

    ここでは、WidevineライセンスサーバーのURLがMPDの次の行に記載されています。

    <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed" bc:licenseAcquisitionUrl="https://wvlic.brightcove.com/proxy/4324249227001" xmlns:bc="urn:brightcove:2015"/>

    または、WidevineライセンスサーバーのURLをパラメーターとして player 埋め込まれているページのJavaScript。 を呼び出す方法の例を次に示します Brightcove Player ソースURLを持つライセンスサーバーを指定する:

    myPlayer.src({
      "src": sourceUrl,
      "type": "application/dash+xml",
      "keySystemOptions": [{
        "name": "com.widevine.alpha",
        "options": {"licenseUrl": licenseServerUrl}
      }]
    });

    プリロード

    ビデオデータのプリロードを制御するためのさまざまな設定があります。 を参照してください Player 構成ガイド、 プリロード セクション 詳細については、 デフォルトの動作は、 Brightcove Player 数秒のビデオデータとともに、ビデオメタデータ(タイトルや再生時間など)をプリロードします。 プリロードの動作を変更したい場合は、次のオプションを player 構成:

    "preload": "none"

    ここでは、 player その設定での構成:

    {
      "account_id": "3723496277001",
      "autoadvance": 0,
      "embed_id": "default",
      "player": {
        "template": {
          "name": "single-video-template",
          "version": "1.14.26"
        }
      },
      "player_id": "82f443bc-82f5-4074-bf9c-de2920c89b24",
      "player_name": "DRM Demo",
      "preload": "none",
      "scripts": [
        "https://players.brightcove.net/videojs-dash/videojs-dash.min.js"
      ],
      "stylesheets": [
        "https://players.brightcove.net/videojs-dash/videojs-dash.css"
      ],
      "video_cloud": {
        "policy_key": "BCpkADawqM2ENcgyE-9inavnwhb7UdI2lOWO-at96gPIdABCVZPuXWJkv6ddgIUTCbe3iyoKKI5hyVkjKkhRve9eOhJ7e5G6433DkB5DS2ilfROKA8hN07KKYt6k6MqCbqvL5N-KGYcYDEFGSP8b5dC",
        "video": null
      }
    }

    ページの最終更新日:28年2020月XNUMX日