콘텐츠 인증
- 인쇄
- PDF
콘텐츠 인증
- 인쇄
- PDF
Article Summary
Share feedback
Thanks for sharing your feedback!
Classic/VPC 환경에서 이용 가능합니다.
콘텐츠 인증에서는 스크립트 코드를 수정하여 재생 소스에 Secure Token을 적용하는 방법과 MultiDRM을 설정하는 방법을 설명합니다.
Secure Token
token
속성으로 재생 소스에 Secure Token을 적용하여 OneTimeUrl을 지원할 수 있습니다. 또한, player.tokenChange
속성으로 동영상 재생 중 중단 없이 Secure Token을 교체할 수 있습니다.
참고
Secure Token에 관한 자세한 내용은 CDN+ 사용 가이드를 참고해 주십시오.
예제는 다음과 같습니다.
// NCP 동영상(MP4)
new ncplayer('video1', {
autostart: true,
playlist: [
{
file: 'https://CDN도메인/example_video_01.mp4',
},
],
token: 'token=st=1675320871~exp=1675320901~acl=....', //Secure Token
});
// 토큰 교체
player.tokenChange('token=st=1675320871~exp=1675320901~acl=....') // 재생 중 신규 토큰으로 교체
MultiDRM
playlist.drm
속성으로 MultiDRM을 설정할 수 있습니다. 예제는 다음과 같습니다.
let player;
document.addEventListener('DOMContentLoaded', async ()=> {
await ncplayerDRM('video1',{
playlist: [
{
drm:{
'com.apple.fps':{
certificateUrl: '{Certificate URL}',
licenseUri : 'https://license-global.pallycon.com/ri/licenseManager.do',
licenseRequestHeader:{
'Content-type': 'application/x-www-form-urlencoded',
'pallycon-customdata-v2':'{페어플레이용 Token}'
},
src : '{hls url}'
},
'com.widevine.alpha':{
licenseUri : 'https://license-global.pallycon.com/ri/licenseManager.do',
licenseRequestHeader:{
'pallycon-customdata-v2':'{와이드바인 Token}'
},
src : '{dash url}'
},
'com.microsoft.playready':{
licenseUri : 'https://license-global.pallycon.com/ri/licenseManager.do',
licenseRequestHeader:{
'pallycon-customdata-v2':'{플레이레디 Token}'
},
src : '{dash url}'
},
},
poster: 'https://nnbkegvqsbcu5297614.cdn.ntruss.com/profile/202207/ae73f3a32b49205fafdc3303c7f0c0b8.png',
description: {
title: "네이버클라우드",
create_at: "2022-12-31",
profile_name: "Naver Cloud Platform",
profile_image: "https://nnbkegvqsbcu5297614.cdn.ntruss.com/profile/202207/ae73f3a32b49205fafdc3303c7f0c0b8.png
},
}
],
controlBtn: {
play: true,
fullscreen: true,
volume: true,
times: true,
pictureInPicture: true,
setting: true,
subtitle: true
},
autostart: false
});
});
참고
- MultiDRM을 사용하려면 HLS, DASH 두 가지를 모두 지원하도록 VOD Station을 두 개의 채널로 구성해야 합니다.
- MultiDRM은 SSL/TSL이 적용된 https 환경에서만 작동합니다.
- MultiDRM은 Widevine, PlayReady, FairPlay(FPS)를 지원합니다.
- Video Player Enhancement는 Pallycon MultiDRM을 공식 지원합니다.
- DRM 기능을 사용하려면 사전에 외부 DRM 공급사와 계약해야 합니다.
- DRM 유형
- Widevine: Google에서 제공하는 DRM 기술 규격으로, Common Encryption 규격에 따라 AES-128 방식으로 암호화합니다.
- PlayReady: Microsoft에서 제공하는 DRM 기술 규격으로, Common Encryption 규격에 따라 AES-128 방식으로 암호화합니다.
- FairPlay: Apple에서 제공하는 DRM 기술 규격으로, 각각의 HLS 세그먼트를 Sample-AES 방식으로 암호화합니다.
- 지원 현황
브라우저 Widevine PlayReady FairPlay 인터넷 익스플로러(11+ on Windows 8.1+) X O
(MPEG-DASH)X 마이크로소프트 엣지(Windows 10+) X O
(MPEG-DASH)X 크롬(35+ on Windows 7.0+, 57+ on Android 4.4+) O
(MPEG-DASH)X X 파이어폭스(47+ on Windows 7.0+) O
MPEG=DASHX X 사파리(8+ on Mac OS 10.10+, 11.2+ on iOS 11.2+) X X O
(HLS)
- DRM 유형
- Video Player Enhancement는 사용 중인 브라우저가 지원하는 DRM에 따라 상황에 맞는 재생 소스(HLS 또는 DASH)를 자동으로 선택합니다.
콘솔 DRM 테스트
DRM 테스트는 별도의 실행 스크립트를 이용해야합니다.
//DRM 전용 실행코드를 이용합니다.
//DOM이 완전히 로드되고 실행해야 DRM이 에러없이 실행됩니다.
document.addEventListener('DOMContentLoaded', async ()=> {
await ncplayerDRM('video1',{});
})
1. Widevine / PlayReady
참고
- dash URL 필요
- 토큰키 입력 필요
⚠️ Token : 윈도우 Edge 에서는 PlayReady Token 입력 , 그밖에 Chrome 계열에서는 Widevine Token 입력
document.addEventListener('DOMContentLoaded', async ()=> {
await ncplayerDRM('video1',{
playlist: [
{
drm:{
'com.widevine.alpha':{
licenseUri : 'https://license-global.pallycon.com/ri/licenseManager.do',
licenseRequestHeader:{
'pallycon-customdata-v2':'{Token}'
},
src : '{dash url}'
},
'com.microsoft.playready':{
licenseUri : 'https://license-global.pallycon.com/ri/licenseManager.do',
licenseRequestHeader:{
'pallycon-customdata-v2':'{Token}'
},
src : '{dash url}'
},
},
poster: 'https://nnbkegvqsbcu5297614.cdn.ntruss.com/profile/202207/ae73f3a32b49205fafdc3303c7f0c0b8.png',
}
],
});
});
2. FairPlay(FPS)
참고
- HLS URL 필요
- Certificate URL (인증 URL)
- 토큰키 입력 필요
document.addEventListener('DOMContentLoaded', async ()=> {
await ncplayerDRM('video1',{
playlist: [
{
drm:{
'com.apple.fps':{
certificateUrl: '{Certificate URL}',
licenseUri : 'https://license-global.pallycon.com/ri/licenseManager.do',
licenseRequestHeader:{
'Content-type': 'application/x-www-form-urlencoded',
'pallycon-customdata-v2':'{Token}'
},
src : '{hls url}'
},
},
poster: 'https://nnbkegvqsbcu5297614.cdn.ntruss.com/profile/202207/ae73f3a32b49205fafdc3303c7f0c0b8.png',
}
],
});
});
이 문서가 도움이 되었습니까?