ライセンスクライアント連携

Prev Next

Classic/VPC環境で利用できます。

DRMライセンスをクライアント(プレイヤー)に連携させる例を説明します。

参考
  • DRMタイプによってライセンス発行リクエスト情報が異なります。DRMタイプ別ライセンス発行ガイドをご参照ください。
  • すべてのライセンスリクエストは、DRMコンテンツを再生する端末機器情報とプレイヤーの実装を通じてリクエストする必要があります。
  • One Click Multi DRMサービスは、NAVERクラウドの Video Player Enhancementサービスとの簡単な連携をサポートしています。詳細は、VPEコンテンツ認証をご参照ください。

リクエスト

リクエスト形式を説明します。

リクエストヘッダ

One Click Multi DRM APIで共通して使用されるヘッダの詳細は、One Click Multi DRMのリクエストヘッダをご参照ください。

X-DRM-TOKENヘッダの作成

One Click Multi DRMサービスから APIでライセンスを発行するには、X-DRM-TOKENヘッダが必要です。このヘッダは、リクエストユーザーの権限を検証し、選択したサイトのセキュリティポリシーに基づいて DRMライセンスを発行するのに使用されます。ヘッダ値が無効な場合、ライセンスは発行されません。X-DRM-TOKENヘッダを作成する方法は次の通りです。

  1. siteIdcontentIddrmTyperesponseFormatuserIdの JSONデータを入力します。
    フィールド タイプ 必須の有無 説明
    siteId String Required
    contentId String Required
    drmType String Required
    responseFormat String Required
    userId String Required
    • 入力例
      {"siteId":"{サイト ID}","contentId":"{コンテンツ ID}","drmType":"{DRMタイプ}","responseFormat":"{レスポンス形式}","userId":"{ユーザーの固有 ID}"}
      
  2. JSONデータを Base64文字列に変換します。
    • 変換例
      eyJzaXRlSWQiOiJkcm0tMjAyMzExMTUxNDIzMjYtbkh5TnciLCJjb250ZW50SW...dXNlcklkIjoiZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2UifQ==
      
参考

JSONデータを入力する際、余分な空白や改行が含まれないようにご注意ください。

リクエスト例

リクエストのサンプルコードは次の通りです。

//Widevineライセンスのリクエスト例
'com.widevine.alpha': {
    src: 'https://uz1urqjj2471.beta-edge.naverncp.com/live/video/ls-20231031105925-*****/live.mpd', //DRM暗号化が適用されたコンテンツ再生経路
    licenseUri: 'https://multi-drm.apigw.ntruss.com/api/v1/license', //DRMライセンス発行リクエスト経路
    licenseRequestHeader: {
        'X-NCP-REGION_CODE': 'KR',
        'X-ncp-apigw-timestamp': 1698832564997,
        'X-ncp-iam-access-key': 'ft1GKEpjSc**********',
        'x-ncp-apigw-signature-v2': 'Z0LjTbqFjWtxlRskM8vDj**********************=',
        'X-DRM-TOKEN': 'eyJyZXNwb25zZUZvcm1hdCI6Im9yaWdpbmFsIiwic2l0ZUlkIjoiZHJtLTIwMjMxMTAxMDgyMzE2LWRKREdhIiwiY29udGVudElkIj**************************************************'
    }   //One Click Multi DRMサービス利用のための apigw必須認証と X-DRM-TOKENヘッダ値
},

//PlayReadyライセンスのリクエスト例
'com.microsoft.playready': {
    src: 'https://uz1urqjj2471.beta-edge.naverncp.com/live/video/ls-20231031105925-*****/live.mpd', //DRM暗号化が適用されたコンテンツ再生経路
    licenseUri: 'https://multi-drm.apigw.ntruss.com/api/v1/license',   //DRMライセンス発行リクエスト経路
    licenseRequestHeader: {
        'X-NCP-REGION_CODE': 'KR',
        'X-ncp-apigw-timestamp': 1698832564997,
        'X-ncp-iam-access-key': 'ft1GKEpjSc**********',
        'x-ncp-apigw-signature-v2': 'Z0LjTbqFjWtxlRskM8vDj**********************=',
        'X-DRM-TOKEN': 'eyJyZXNwb25zZUZvcm1hdCI6Im9yaWdpbmFsIiwic2l0ZUlkIjoiZHJtLTIwMjMxMTAxMDgyMzE2LWRKREdhIiwiY29udGVudElkIj**************************************************'
    }   //One Click Multi DRMサービス利用のための apigw必須認証と X-DRM-TOKENヘッダ値
},

//FairPlay Streamingライセンスのリクエスト例
'com.apple.fps': {
    src: 'https://uz1urqjj2471.beta-edge.naverncp.com/live/video/ls-20231031105925-*****/playlist.m3u8', //DRM暗号化が適用されたコンテンツ再生経路
    certificateUri: 'https://multi-drm.apigw.ntruss.com/api/v1/license/fairPlay',  //DRMライセンス発行に必要な FPS証明書リクエスト経路
    certificateRequestHeader: {
        'X-NCP-REGION_CODE': 'KR',
        'X-ncp-apigw-timestamp': 1698832564997,
        'X-ncp-iam-access-key': 'ft1GKEpjSc**********',
        'x-ncp-apigw-signature-v2': 'Z0LjTbqFjWtxlRskM8vDj**********************=',
        'X-DRM-TOKEN': 'eyJyZXNwb25zZUZvcm1hdCI6Im9yaWdpbmFsIiwic2l0ZUlkIjoiZHJtLTIwMjMxMTAxMDgyMzE2LWRKREdhIiwiY29udGVudElkIj**************************************************' 
    }, //One Click Multi DRMサービス利用のための apigw必須認証と X-DRM-TOKENヘッダ値
    licenseUri: 'https://multi-drm.apigw.ntruss.com/api/v1/license', //DRMライセンス発行リクエスト経路
    licenseRequestHeader: {
        'X-NCP-REGION_CODE': 'KR',
        'X-ncp-apigw-timestamp': 1698832564997,
        'X-ncp-iam-access-key': 'ft1GKEpjSc**********',
        'x-ncp-apigw-signature-v2': 'Z0LjTbqFjWtxlRskM8vDj**********************=',
        'X-DRM-TOKEN': 'eyJyZXNwb25zZUZvcm1hdCI6Im9yaWdpbmFsIiwic2l0ZUlkIjoiZHJtLTIwMjMxMTAxMDgyMzE2LWRKREdhIiwiY29udGVudElkIj**************************************************'  
    } //One Click Multi DRMサービス利用のための apigw必須認証と X-DRM-TOKENヘッダ値
}

レスポンス

レスポンス形式を説明します。

レスポンスステータスコード

One Click Multi DRM APIで共通して使用されるレスポンスステータスコードの詳細は、One Click Multi DRMのレスポンスステータスコードをご参照ください。

レスポンス例

レスポンス成功時、200 OKとともに DRMライセンスがクライアント(プレイヤー)と連携します。