入門
Brightcoveの再生認証サービス (PAS) は、DRM で保護された HTTP ライブストリーミング暗号化 (HLSE) コンテンツでダイナミック配信を使用する場合に、さらに高度なセキュリティを提供します。PAS では、ライセンス要求は署名付き JSON Web トークン (JWT) を使用して認証されます。トークンは、ビデオがプレーヤーにロードされ、ソースが選択されると、ビデオライセンスを要求するときに使用されます。
このドキュメントでは、BrightcovePlayerでPASを使用することに焦点を当てています。一般的なPASの詳細については、概要:再生認証サービス付きDRM ドキュメント。
概要
PASを使用するようにBrightcovePlayerを構成するには、ビデオのカタログ要求を行うときにトークンパラメーターを渡します。コードは次のセクションで示されます。コードを理解するための前提条件があることを確認するために、次のドキュメントの概念は、構築の基礎を提供するのに役立ちます。
カタログパラメータでトークンを使用する
このセクションでは、PASを使用するようにプレーヤーを構成するために必要なコードについて詳しく説明します。これを行うには、文字列トークンをの一部として渡しますカタログパラメータプロパティ名を使用したオブジェクトbcovAuthToken
。
このアプローチは、DRMとHLSeの両方で機能します。プレーヤーは、Playback APIからロードされているソースのタイプを検出し、そのソースの正しい実装を提供します。
このサンプル実装コードは、 catalog.get()トークンの提供中にビデオを要求するメソッド(トークンを置き換える必要があります<BCOV_AUTH_TOKEN>
プレースホルダー)。ビデオIDをに含めないでください<video-js>
タグ。
<video-js id="myPlayerID"
data-account="1507807800001"
data-player="default"
data-embed="default"
controls
data-application-id></video-js>
<script src="//players.brightcove.net/1507807800001/default_default/index.min.js"></script>
<script>
(function() {
var myPlayer = videojs.getPlayer('myPlayerID');
myPlayer.catalog.get({
type: 'video',
id: '6015247091001',
bcovAuthToken: '<BCOV_AUTH_TOKEN>'
})
.then(function(videoReturned){
myPlayer.catalog.load(videoReturned);
})
.catch(function(err){
console.log('err:', err);
});
})();
</script>
SSAI構成
SSAIでPASを使用する場合は、実行する必要のある小さな構成の追加が1つあります。名前付きのカタログパラメータオブジェクトに追加パラメータを追加する必要がありますadConfigId
。
<video-js id="myPlayerID"
data-account="1507807800001"
data-player="default"
data-embed="default"
controls
data-application-id></video-js>
<script src="//players.brightcove.net/1507807800001/default_default/index.min.js"></script>
<script>
(function() {
var myPlayer = videojs.getPlayer('myPlayerID');
myPlayer.catalog.get({
type: 'video',
id: '6015247091001',
bcovAuthToken: 'BCOV_AUTH_TOKEN',
adConfigId: '<YOUR_ADD_CONFIG_ID>'
})
.then(function(videoReturned){
myPlayer.catalog.load(videoReturned);
})
.catch(function(err){
console.log('err:', err);
});
})();
</script>
カスタム実装の使用
を持っていないカスタム実装を使用している可能性がありますbcovAuthToken
で値を設定するにはcatalog.get()メソッドリクエスト。独自のプレーヤーまたはサードパーティのプレーヤーを使用している場合は、次のいずれかの方法を使用して、トークンをライセンス要求に渡すことができます。
-
HTTPヘッダー:
BCOV-Auth
(HLSeではサポートされていません) -
クッキー:
bcov-auth
(HLSeではサポートされていません) -
クエリパラメータ:
bcov-auth
(HLSeでのみサポートされます)ライセンスURLではなく、マスターマニフェストURLに追加する必要があります。
これは、設定する方法を示す例です。source.emeHeaders['BCOV-Auth']
トークンに対するビデオオブジェクトの属性。これにより、emeHeader
カタログリクエスト後の各ソース。
<video-js id="myPlayerID"
data-account="1507807800001"
data-player="default"
data-embed="default"
controls
data-application-id></video-js>
<script src="//players.brightcove.net/1507807800001/default_default/index.min.js"></script>
<script>
(function() {
var myPlayer = videojs.getPlayer('myPlayerID');
myPlayer.catalog.get({
type: 'video',
id: '6015247091001'
})
.then(function(video){
sources=video.sources;
for (let i = 0; i < sources.length; i++) {
const source = sources[i];
// Only add the auth token as an eme header for DRM content
if (BCOV_AUTH_TOKEN && source.key_systems) {
source.emeHeaders = {
'BCOV-Auth': BCOV_AUTH_TOKEN
};
}
}
myPlayer.catalog.load(video);
})
.catch(function(err){
console.log('err:', err);
});
})();
</script>