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ヘッダを作成する方法は次の通りです。
siteId、contentId、drmType、responseFormat、userIdの JSONデータを入力します。フィールド タイプ 必須の有無 説明 siteIdString Required contentIdString Required drmTypeString Required responseFormatString Required userIdString Required - 入力例
{"siteId":"{サイト ID}","contentId":"{コンテンツ ID}","drmType":"{DRMタイプ}","responseFormat":"{レスポンス形式}","userId":"{ユーザーの固有 ID}"}
- 入力例
- 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ライセンスがクライアント(プレイヤー)と連携します。