소개
Brightcove의 PAS(Playback Authorization Service)는 DRM 보호 또는 HLSe(HTTP 라이브 스트리밍 암호화) 콘텐츠와 함께 Dynamic Delivery를 사용할 때 추가 보안 수준을 제공합니다. PAS를 사용하면 라이센스 요청이 서명된 JSON 웹 토큰(JWT) . 토큰은 비디오가 플레이어에 로드되고 소스가 선택되면 비디오 라이선스를 요청할 때 사용됩니다.
이 문서는 Brightcove Player와 함께 PAS를 사용하는 데 중점을 둡니다. 일반적인 PAS에 대한 자세한 내용은 다음을 참조하십시오. 개요: 재생 권한 부여 서비스가 포함된 DRM문서.
개요
PAS를 사용하도록 Brightcove Player를 구성하려면 비디오에 대한 카탈로그를 요청할 때 토큰 매개변수를 전달하십시오. 코드는 다음 섹션에 표시됩니다. 코드를 이해하기 위한 전제 조건이 있는지 확인하려면 다음 문서의 개념이 빌드 기반을 제공하는 데 도움이 됩니다.
카탈로그 매개변수에서 토큰 사용
이 섹션에서는 PAS를 사용하도록 플레이어를 구성하는 데 필요한 코드를 자세히 설명합니다. 이렇게 하려면 문자열 토큰을카탈로그 매개변수객체, 속성 이름 사용bcovAuthToken
.
이 접근 방식은 DRM과 HLSe 모두에서 작동합니다. 플레이어는 Playback API에서 로드되는 소스 유형을 감지하고 해당 소스에 대한 올바른 구현을 제공합니다.
이 샘플 구현 코드는카탈로그.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를 사용하려는 경우 수행해야 하는 작은 구성 추가가 하나 있습니다. 카탈로그 매개변수 개체에 추가 매개변수를 추가해야 합니다. 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
값을 설정하려면카탈로그.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>