PallyCon > 콘텐츠 보안  > 멀티 DRM  > PallyCon 멀티 DRM과 Bitmovin HTML5 플레이어 연동하기
PallyCon blog Integration with bitmovin html5 player

PallyCon 멀티 DRM과 Bitmovin HTML5 플레이어 연동하기

개요

 

PallyCon 멀티DRM 서비스는 ‘인크립티드 미디어 익스텐션'(Encrypted Media Extensions, 이하 EME)과 ‘MPEG 공통 암호화'(MPEG Common Encryption, 이하 CENC) 규격을 통해 다양한 HTML5 기반 웹 플레이어들과 쉽게 연동됩니다. HTML5 웹 플레이어를 이용하면 엣지, 크롬, 파이어폭스, 사파리 등 EME 표준을 지원하는 주요 웹 브라우저들에서 별도의 플러그인 없이도 DRM으로 보호된 동영상 또는 오디오 콘텐츠를 스트리밍 재생할 수 있습니다.

 

EME, CENC 등 멀티DRM 관련 HTML5 표준과 오디오 콘텐츠를 멀티DRM으로 보호하는 사례에 대한 자세한 내용은 아래 링크의 자료들을 참고하시기 바랍니다.

 

 

본 자습서에서는 HTML5 기반 플레이어 제품 중에서 국내외 여러 동영상 서비스에서 사용되는 Bitmovin 플레이어를 연동하는 과정을 단계별로 설명합니다. Bitmovin 플레이어는 PC/모바일 웹 브라우저 뿐만 아니라 iOS와 안드로이드를 지원하는 네이티브 앱용 플레이어 SDK를 제공하므로, 웹 브라우저와 모바일 앱, 그리고 스마트TV 등 HTML5 기반 OTT 플랫폼까지 동일한 연동 방식으로 지원 가능합니다.

PallyCon Logo

About PallyCon

PallyCon 포렌식 워터마킹과 멀티DRM 서비스는 잉카엔트웍스에서 개발 및 제공하는 클라우드 기반 콘텐츠 보안 서비스입니다.  PallyCon 멀티DRM은 PlayReady, Widevine, FairPlay Streaming DRM의 라이선스 관리 서비스를 제공하며, 다양한 인코더/트랜스코더 솔루션과 플레이어 솔루션에 연동되어 쉽고 빠르게 온라인 비디오 콘텐츠를 멀티DRM으로 보호할 수 있습니다.

Bitmovin Logo

About Bitmovin

Bitmovin은 동영상 인코더, 플레이어, 분석 등의 동영상 관련 소프트웨어 솔루션을 제공하는 글로벌 솔루션 업체입니다. Bitmovin 플레이어는 웹 브라우저와 모바일, 스마트TV 등 다양한 플랫폼에서 HLS와 MPEG-DASH 형식의 스트리밍 재생을 지원합니다.

본 자습서는 아래와 같은 세 가지 단계로 구성되어 있습니다. 가장 간단하고 빠르게 따라할 수 있도록, PallyCon CLI 패키져와 라이선스 토큰 연동으로 DRM 콘텐츠를 플레이어에서 재생하는 방법을 설명합니다.

 

  • 1단계: PallyCon, Bitmovin 트라이얼 계정 가입
  • 2단계: PallyCon CLI 패키져를 이용한 DRM 콘텐츠 패키징
  • 3단계: Bitmovin 플레이어와 PallyCon 라이선스 토큰 연동을 통한 DRM 콘텐츠 재생

 

PallyCon CLI 패키져와 라이선스 토큰 연동에 대한 상세 설명은 다음 링크를 참고하시기 바랍니다.

 

1단계: PallyCon, Bitmovin 트라이얼 계정 가입

 

자습서 진행을 위해서는 PallyCon과 Bitmovin 사이트에 각각 트라이얼 계정이 있어야 합니다. 다음과 같은 과정을 통해 계정을 생성합니다.

 

1-1. PallyCon 멀티DRM 트라이얼 가입

PallyCon 콘솔 사이트 로그인 페이지에 접속해 ‘회원 가입’ 버튼을 클릭합니다. 아래와 같이 가입 양식을 입력하고 ‘회원 가입’ 버튼을 클릭합니다.

PallyCon 콘솔 - 무료 멀티DRM 트라이얼 회원가입

 

1-2. PallyCon 계정 이메일 인증 및 트라이얼 사이트 생성

가입 시 입력한 이메일로 가입 환영 메일이 발송됩니다. 해당 메일의 ‘인증하기’ 링크를 클릭해 이메일 인증을 수행합니다. 이메일 인증 후에는 트라이얼을 위한 사이트 정보가 자동으로 생성됩니다.

 

1-3. 트라이얼 사이트 정보 확인

PallyCon 콘솔 사이트에 로그인 하여 ‘사이트 설정’ 메뉴의 ‘연동 설정’ 화면으로 이동합니다. 아래와 같은 화면에 표시되는 ‘사이트ID’, ‘사이트 키’와 ‘액세스 키’ 값을 메모장과 같은 곳에 별도로 복사해 둡니다. 이 값들은 이후 단계에서 DRM 연동에 사용됩니다.

PallyCon 콘솔 - 트라이얼 사이트 정보 확인

 

1-4. Bitmovin 사이트 트라이얼 가입

Bitmovin 사이트에 접속해 ‘Sign up’ 링크를 클릭합니다. 아래와 같은 가입 양식을 통해 트라이얼 계정을 생성합니다.

 

PallyCon과 마찬가지로 가입 환영 메일이 발송됩니다. 해당 메일의 ‘Activate your account’ 버튼을 클릭해 이메일 인증을 수행합니다.

 

1-5. 플레이어 라이선스 설정에 테스트용 도메인 추가

3단계의 재생 테스트에서 사용될 테스트 웹 서버의 도메인을 Bitmovin 플레이어의 라이선스 설정에 추가합니다.

  • 생성된 트라이얼 계정으로 Bitmovin 사이트에 로그인해 ‘Player > Licenses’ 화면으로 이동합니다.
  • 트라이얼용으로 생성된 라이선스키 링크를 클릭해 라이선스 상세 정보 화면으로 이동합니다.
  • 테스트용 웹 서버 도메인을 아래와 같이 입력하고 ‘Add’ 버튼을 클릭해 추가합니다.

추가된 도메인 정보가 적용되려면 몇 분 정도 걸릴 수 있습니다.

2단계: PallyCon CLI 패키져를 이용한 DRM 콘텐츠 패키징

 

플레이어에서 DRM 콘텐츠 재생을 테스트하기 위해서는 우선 원본 영상에 DRM을 적용하는 패키징 과정이 필요합니다. 다음과 같은 과정을 통해 DRM 콘텐츠 패키징을 수행합니다.

 

2-1. CLI 패키져 다운로드 및 설치

PallyCon 개발자 가이드 사이트의 패키져 / 샘플 다운로드 페이지에서 ‘PallyCon Packager 다운로드’ 버튼을 클릭해 CLI 패키저를 다운로드 합니다. 콘텐츠 패키징을 수행할 테스트 PC 또는 서버에 임의의 폴더를 생성하고, 다운받은 패키져 압축파일 내 ‘bin’ 폴더의 OS별 실행 파일을 복사합니다. (예: ~/pallycon-test/PallyConPackager )

PallyCon CLI 패키져는 64비트 기반의 윈도우즈와 리눅스(Ubuntu, CentOS) CLI(Command Line Interface) 환경을 지원합니다. 리눅스 환경의 경우, gcc와 g++ 라이브러리 6.0 버전 이상이 설치되어 있어야 합니다.

 

2-2. 원본 MP4 영상을 MPEG-DASH로 패키징

DRM 패키징과 재생 테스트에 사용할 MP4 (H264 AVC) 동영상 파일을 패키져 실행 파일이 저장된 폴더에 복사합니다. 아래 링크된 PallyCon 소개 영상을 다운로드 받아 사용하셔도 됩니다.

PallyCon 소개 영상 : https://pallycon.com/docs/files/pallycon-intro.mp4
PallyCon CLI 패키져는 멀티DRM용 DASH-CENC(Widevine, PlayReady), HLS-AES(FairPlay) 패키징과 NCG(Netsync Content Guard) DRM을 위한 NCG, NCG-HLS 패키징 기능을 지원합니다. 본 자습서에서는 간략한 테스트를 위해 DASH-CENC 패키징만 진행합니다.

아래와 같은 명령을 실행해 DASH 패키징을 수행합니다. 패키징 명령의 각종 입력값들에 대한 설명은 아래 표를 참고하시기 바랍니다.
./PallyConPackager --site_id --access_key --content_id --dash -i -o

패키징 명령의 각종 입력값
파라미터 입력 값 규격 예시
--site_id 1단계에서 PallyCon 콘솔 사이트의 ‘연동 설정’ 화면에 표시된 트라이얼 사이트 ID 네자리 영대문자 ABCD
--access_key PallyCon 콘솔 사이트의 ‘연동 설정’ 화면에 표시된 액세스 키 32자리 문자열 H24FS8wdo3C7CWrSjcIhPYWpYaFu6Lh3
--content_id DRM 패키징과 라이선스 발급 시 각 콘텐츠를 구분할 콘텐츠의 고유 아이디. 해당 아이디를 기준으로 DRM 암호화 키와 라이선스가 관리되며, 일반적으로 CMS (Content Management System) 에서 관리하는 콘텐츠 아이디가 입력되도록 연동 구현함. 최대 200 자리 영문/숫자 문자열 pallycon-intro
-i 패키징할 원본 MP4 파일명. 패키져 실행 파일과 다른 경로에 있는 경우, 해당 경로를 포함한 파일명 입력 파일 경로 규격 ~/pallycon-test/input/pallycon-intro.mp4
-o 패키징된 결과물이 저장될 경로 폴더 경로 규격 ~/pallycon-test/output/pallycon-intro/
파라미터: –site_id
입력값: 1단계에서 PallyCon 콘솔 사이트의 ‘연동 설정’ 화면에 표시된 트라이얼 사이트 ID
규격: 네자리 영대문자
예시: ABCD
파라미터: –access_key
입력값: PallyCon 콘솔 사이트의 ‘연동 설정’ 화면에 표시된 액세스 키
규격: 32자리 문자열
예시: H24FS8wdo3C7CWrSjcIhPYWpYaFu6Lh3
파라미터: –content_id
입력값: DRM 패키징과 라이선스 발급 시 각 콘텐츠를 구분할 콘텐츠의 고유 아이디. 해당 아이디를 기준으로 DRM 암호화 키와 라이선스가 관리되며, 일반적으로 CMS (Content Management System) 에서 관리하는 콘텐츠 아이디가 입력되도록 연동 구현함.
규격: 최대 200 자리 영문/숫자 문자열
예시: pallycon-intro
파라미터: -i
입력값: 패키징할 원본 MP4 파일명. 패키져 실행 파일과 다른 경로에 있는 경우, 해당 경로를 포함한 파일명 입력
규격: 파일 경로 규격
예시: ~/pallycon-test/input/pallycon-intro.mp4
파라미터: -o
입력값: 패키징된 결과물이 저장될 경로
규격: 폴더 경로 규격
예시: ~/pallycon-test/output/pallycon-intro/

위 예시된 입력값에 따라 명령을 구성하면 아래와 같습니다. 예시로 표기된 사이트ID와 액세스 키는 실제로는 동작하지 않으며 1단계에서 가입한 계정에 해당되는 값으로 교체하셔야 합니다.
./PallyConPackager --site_id ABCD --access_key H24FS8wdo3C7CWrSjcIhPYWpYaFu6Lh3 --content_id pallycon-intro --dash -i ~/pallycon-test/input/pallycon-intro.mp4 -o ~/pallycon-test/output/pallycon-intro/

패키징이 성공적으로 완료되면 PallyCon 콘솔 사이트의 ‘DRM 패키징 이력’ 페이지에 해당 이력이 아래와 같이 표시됩니다.

PallyCon 콘솔 DRM 패키징 이력

 

2-3. 테스트용 웹 서버에 패키징된 DASH 콘텐츠 업로드

패키징이 완료되면 아웃풋 폴더 내 ‘dash’ 폴더에 mpd 매니페스트 파일과 오디오/비디오 트랙으로 구성된 MPEG-DASH 형태의 결과물이 생성됩니다. 3단계의 DRM 콘텐츠 재생 테스트를 위해서는 해당 폴더를 테스트용 웹 서버에 업로드해야 합니다. CDN과 연결된 스토리지 또는 일반적인 웹 서버에 DASH 콘텐츠를 업로드 합니다.

크롬과 파이어폭스 등의 브라우저는 보안을 위해 미디어 스트리밍과 관련된 모든 URL에 필수적으로 HTTPS를 적용하도록 강제하고 있습니다. 3단계 재생 테스트를 위해서는 테스트용 웹 서버에도 SSL 인증서를 적용해 HTTPS URL을 사용해야 합니다.

3단계: Bitmovin 플레이어와 PallyCon 라이선스 토큰 연동을 통한 DRM 콘텐츠 재생

 

2단계에서 패키징한 DASH 콘텐츠를 Bitmovin 플레이어를 이용해 재생합니다. 다음과 같은 과정을 통해 DRM 라이선스 연동 및 콘텐츠 재생을 수행합니다.

 

3-1. Bitmovin 플레이어 샘플 다운로드 및 소스 수정

Bitmovin 사이트에 로그인한 후 ‘Player > Web SDK’ 화면으로 이동합니다. ‘Player Embedding’ 부분의 ‘Sample Page’ 탭을 클릭하고 아래 이미지에 표시된 ‘click here’ 링크를 클릭해 샘플 html 파일을 다운로드합니다.

Integration with Bitmovin Player Download web sdk sample html

다운로드 받은 ‘bitmovin-player-samplepage.html’ 샘플 파일을 텍스트 에디터로 열어 수정합니다. 우선 검색 기능으로 ‘.mpd’ 문자열을 검색하면 아래와 같은 부분으로 이동합니다.

var source = {
dash: 'https://bitmovin-a.akamaihd.net/content/MI201109210084_1/mpds/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.mpd',
hls: 'https://bitmovin-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8',
progressive: 'https://bitmovin-a.akamaihd.net/content/MI201109210084_1/MI201109210084_mpeg-4_hd_high_1080p25_10mbits.mp4',
poster: 'https://bitmovin-a.akamaihd.net/content/MI201109210084_1/poster.jpg'
};

 

위 소스의 내용을 테스트 환경에 맞도록 아래와 같이 수정합니다.


var source = {
dash: 'https://test-web-server-url/pallycon-intro/dash/stream.mpd',
drm: {
widevine: {
LA_URL: "https://license.pallycon.com/ri/licenseManager.do",
headers: {
"pallycon-customdata-v2" : "CUSTOM_HEADER_VALUE"
}
},
playready: {
LA_URL: "https://license.pallycon.com/ri/licenseManager.do",
headers: {
"pallycon-customdata-v2" : "CUSTOM_HEADER_VALUE"
}
}
}
};

  • 위 소스 코드의 mpd 파일 URL은 2단계에서 테스트용 웹 서버에 업로드한 DASH 콘텐츠에 해당되는 URL로 교체되어야 합니다.
  • ‘CUSTOM_HEADER_VALUE’ 값은 나중에 아래 과정에서 생성되는 라이선스 토큰 값으로 교체되어야 합니다.

 

3-2. DRM 라이선스 발급을 위한 라이선스 토큰 생성 및 설정

패키징된 콘텐츠를 재생하기 위해서는 DRM 라이선스 연동을 통해 플레이어에 해당 콘텐츠의 라이선스가 발급되어야 합니다. PallyCon 멀티DRM은 콜백 방식과 토큰 방식의 라이선스 연동을 지원하며, 본 자습서에서는 토큰 방식의 라이선스 연동으로 진행합니다.

라이선스 발급 방식에 대한 상세 설명은 아래 링크된 온라인 가이드를 참고하시기 바랍니다.

 

라이선스 요청에 사용되는 토큰은 PallyCon멀티DRM이 적용될 동영상 서비스의 서버 사이드(백엔드)에서 정해진 규격에 따라 생성되어 클라이언트의 플레이어 코드에 적용되어야 합니다. 본 자습서에서는 빠른 테스트 진행을 위해 PallyCon 사이트의 ‘개발자 콘솔’ 페이지에서 제공되는 ‘토큰 생성’ 기능을 이용합니다. 아래 링크의 개발자 콘솔 페이지로 접속하여 각 항목들을 입력합니다.

Create and set the token for DRM license acquisition
패키징 명령의 각종 입력값
항목 입력 값 규격 예시
USER ID 콘텐츠 서비스 사용자의 권한 확인에 사용되는 고유한 사용자 ID. 토큰 방식의 연동에서는 콘텐츠 서비스 백엔드와 클라이언트 간에 직접 권한 확인이 완료된 후 토큰을 생성해야 함. 최대 200자 영문/숫자 문자열 test-user (임의로 입력)
Token Rule 라이선스 발급 시 적용될 각종 DRM 관련 룰 데이터 (상세 내용은 토큰 가이드 참조) JSON 문자열 {
"playback_policy": {
"limit": true,
"persistent": false,
"duration" : 300
}
}
Time stamp 토큰의 유효성 발효 시간. 일반적으로 토큰 생성 시점으로 설정하며, 해당 시점 이후 기본 600초 동안 토큰이 유효함.
(PallyCon 콘솔 사이트에서 설정 가능)
yyyy-mm-ddThh:mm:ssZ
(GMT 시간대 기준)
2019-04-03T08:30:00Z
SITE Key PallyCon 콘솔 사이트의 ‘연동 설정’ 화면에 표시된 사이트 키 32자리 문자열 3H24FS8wdo3C7CWrSjcIhPYWpYaFu6Lh
SITE ID 1단계에서 PallyCon 콘솔 사이트의 ‘연동 설정’ 화면에 표시된 트라이얼 사이트 ID 4자리 영대문자 ABCD
DRM Type 재생할 클라이언트(브라우저)에서 지원되는 DRM을 입력 widevine / playready / fairplay 크롬 / 파이어폭스: widevine, IE11 / 엣지: playready
CID 2단계에서 CLI 패키져에 입력한 콘텐츠 ID 최대 200자 영문/숫자 문자열 pallycon-intro
ACCESS Key PallyCon 콘솔 사이트의 ‘연동 설정’ 화면에 표시된 액세스 키 32자리 문자열 gktt7xArRiSrWXEvrommuBdUD6Ktk3cP
항목: USER ID
입력 값: 콘텐츠 서비스 사용자의 권한 확인에 사용되는 고유한 사용자 ID.
토큰 방식의 연동에서는 콘텐츠 서비스 백엔드와 클라이언트 간에 직접 권한 확인이 완료된 후 토큰을 생성해야 함.
규격: 최대 200자 영문/숫자 문자열
예시: test-user (임의로 입력)
항목: Token Rule
입력 값: 라이선스 발급 시 적용될 각종 DRM 관련 룰 데이터 (상세 내용은 토큰 가이드 참조)
규격: JSON 문자열
예시: {
"playback_policy": {
"limit": true,
"persistent": false,
"duration" : 300
}
}
항목: Time stamp
입력 값: 토큰의 유효성 발효 시간. 일반적으로 토큰 생성 시점으로 설정하며, 해당 시점 이후 기본 600초 동안 토큰이 유효함.
(PallyCon 콘솔 사이트에서 설정 가능)
규격: yyyy-mm-ddThh:mm:ssZ(GMT 시간대 기준)
예시: 2019-04-03T08:30:00Z
항목: SITE Key
입력 값: PallyCon 콘솔 사이트의 ‘연동 설정’ 화면에 표시된 사이트 키
규격: 32자리 문자열
예시: 3H24FS8wdo3C7CWrSjcIhPYWpYaFu6Lh
항목: SITE ID
입력 값: 1단계에서 PallyCon 콘솔 사이트의 ‘연동 설정’ 화면에 표시된 트라이얼 사이트 ID
규격: 4자리 영대문자
예시: ABCD
항목: DRM Type
입력 값: 재생할 클라이언트(브라우저)에서 지원되는 DRM을 입력
규격: widevine / playready / fairplay
예시: 크롬 / 파이어폭스: widevine, IE11 / 엣지: playready
항목: CID
입력 값: 2단계에서 CLI 패키져에 입력한 콘텐츠 ID
규격: 최대 200자 영문/숫자 문자열
예시: pallycon-intro
항목: ACCESS Key
입력 값: PallyCon 콘솔 사이트의 ‘연동 설정’ 화면에 표시된 액세스 키
규격: 32자리 문자열
예시: gktt7xArRiSrWXEvrommuBdUD6Ktk3cP

위와 같이 토큰 생성에 필요한 값들을 입력하고 ‘REQUEST TOKEN’ 버튼을 클릭하면 페이지 하단에 토큰 문자열이 생성됩니다. 해당 문자열을 복사해 3-2 단계에서 수정한 Bitmovin 플레이어 샘플 파일의 각 DRM별 ‘CUSTOM_HEADER_VALUE’ 부분에 붙여넣습니다. 최종적인 html 소스의 내용은 아래와 같습니다.


var source = {
dash: 'https://test-web-server-url/pallycon-intro/dash/stream.mpd',
drm: {
widevine: {
LA_URL: "https://license.pallycon.com/ri/licenseManager.do",
headers: {
"pallycon-customdata-v2" : "eyJ0aW1lc3RhbXAiOiIyMDE5LTA0LTAzVDA5OjA4OjAwWiIsImhhc2giOiJRTEUzOGxPQjVJUzZ3cUlYOSt6eWpUR1oxOXVrXC9BVVdFQkxkSjRQZVNiaz0iLCJ0b2tlbiI6IkhCOHVvRXBaTTZ2dEFIVXFLSTQyM0s0amNHTzltU1A5YjJWM2IzaTNEd21cL3dpS1wvSlV2WTVWVVQ4WVNZTUVLZm5PXC9PXC9yTU9hUlZrR0JuQXI0RStSM1FFUVJZandldlNRaGN2cWR6QWN6THFcL1VhaXhRK1J5Z21EMnRDWDFXdFwvdmQ5d1JpeWd4RFgyckt6VWwxeUZyUT09Iiwic2l0ZV9pZCI6IjE3WUwiLCJkcm1fdHlwZSI6IndpZGV2aW5lIiwidXNlcl9pZCI6InRlc3QtdXNlciIsImNpZCI6InBhbGx5Y29uLWludHJvIn0="
}
},
playready: {
LA_URL: "https://license.pallycon.com/ri/licenseManager.do",
headers: {
"pallycon-customdata-v2" : "eyJ0aW1lc3RhbXAiOiIyMDE5LTA0LTAzVDA5OjA4OjAwWiIsImhhc2giOiI2S0t6dVY2NWFwSnpDSmJxdDRhK1NRUjZJM0ZFRlB4amdJaHNCc3g4OXNJPSIsInRva2VuIjoiSEI4dW9FcFpNNnZ0QUhVcUtJNDIzSzRqY0dPOW1TUDliMlYzYjNpM0R3bVwvd2lLXC9KVXZZNVZVVDhZU1lNRUtmbk9cL09cL3JNT2FSVmtHQm5BcjRFK1IzUUVRUllqd2V2U1FoY3ZxZHpBY3pMcVwvVWFpeFErUnlnbUQydENYMVd0XC92ZDl3Uml5Z3hEWDJyS3pVbDF5RnJRPT0iLCJzaXRlX2lkIjoiMTdZTCIsImRybV90eXBlIjoicGxheXJlYWR5IiwidXNlcl9pZCI6InRlc3QtdXNlciIsImNpZCI6InBhbGx5Y29uLWludHJvIn0="
}
}
}
};

  • 위 샘플 코드의 토큰 문자열은 자습서를 직접 생성한 값으로 대체해야 합니다.
  • 크롬/파이어폭스(Widevine DRM)와 IE11/엣지(PlayReady DRM) 모두에서 재생 테스트를 하려면, 위와 같이 토큰 생성 페이지의 입력 값 중에 ‘DRM Type’ 부분을 각각 ‘widevine’과 ‘playready’로 생성한 두 개의 토큰 문자열을 해당 부분에 입력해야 합니다.

 

3-3. 수정된 플레이어 샘플 업로드 및 재생 확인

라이선스 토큰 문자열까지 설정이 완료된 플레이어 샘플 html 파일을 2단계에서 DASH 콘텐츠를 업로드한 테스트 용 웹 서버에 업로드합니다. 크롬, 파이어폭스, IE11, 엣지 등 PlayReady 또는 Widevine DRM을 지원하는 웹 브라우저를 실행해 해당 html 파일의 URL로 접속하면 아래와 같은 플레이어 화면이 표시됩니다.

Integration with Bitmovin Player bitmovin player playchecking

정상적으로 라이선스 토큰이 설정된 경우, 플레이어의 재생 버튼을 클릭하면 해당 토큰을 이용해 PallyCon 클라우드 서버에서 라이선스가 발급되어 콘텐츠가 재생됩니다. 토큰 방식의 라이선스 연동을 실제 서비스에 적용하기 위해서는, 콘텐츠 서비스 사이트의 서버(백엔드)에서 사용자 인증과 콘텐츠 권한 확인 과정 후에 실시간으로 토큰이 생성되어야 합니다. 아래 ‘패키져 / 샘플 다운로드’ 페이지의 ‘토큰 방식 DRM 연동 샘플’과 토큰 연동 가이드를 참고해 주시기 바랍니다.

 

다음과 같은 경우 콘텐츠 재생이 실패할 수 있습니다.

  • 토큰 유효 기간 만료: PallyCon 콘솔에서 설정된 토큰 유효 기간(기본 10분) 이내에 재생이 시작될 수 있도록 유효 기간을 늘리거나 현재 GMT 시간을 기준으로 토큰을 새로 생성해 주시기 바랍니다. (토큰의 Timestamp 값은 현지 시간대가 아닌 GMT 기준 시간을 입력해야 합니다.)
  • CORS 오류: 플레이어 html 파일과 DASH 콘텐츠 파일이 서로 다른 도메인에 위치한 경우, Cross-Origin Resource Sharing (CORS) 오류가 발생합니다. 해당 오류를 해결하려면 동일 도메인으로 파일을 옮기거나 해당 웹 서버에서 응답 헤더에 Access-Control-Allow-Origin 설정을 해주어야 합니다.

이상으로 PallyCon 멀티DRM과 Bitmovin 플레이어 연동 자습서를 마칩니다. 자습서 내용 진행에 어려움이 있으면 PallyCon 트라이얼 가입 시 생성된 헬프데스크 계정을 이용해 문의하시기 바랍니다.

감사합니다.

본 자습서에서 사용한 CLI 패키져와 Bitmovin 플레이어 외에도 PallyCon 멀티DRM 서비스는 아래와 같이 다양한 파트너 솔루션들과 연동되어 있습니다.

  • 인코더, 트랜스코더, 스트리밍 서버 연동: AWS Elemental (SPEKE API 연동), Harmonic, Anevia, Flussonic Media Server, Wowza Streaming Engine (CPIX API 연동)
  • HTML5 플레이어 연동: Shaka Player, Bitmovin Player, Viblast Player, THEO Player, VideoJS, NexPlayer
  • 네이티브 플레이어 연동: Android ExoPlayer(Widevine, NCG DRM), iOS AVPlayer(FairPlay, NCG DRM), UWP MediaPlayer(PlayReady)

PallyCon 멀티DRM과 각종 연동 솔루션에 대한 보다 자세한 내용은 PallyCon 개발자 가이드 사이트를 참고하시기 바랍니다.