AWS Elemental 미디어 서비스 연동 가이드
도브러너 KMS는 AWS Elemental MediaConvert와 MediaPackage 서비스에 멀티 DRM 패키징에 필요한 키를 발급해주는 SPEKE (Secure Packager and Encoder Key Exchange) API를 지원합니다.
도브러너 KMS URL을 DRM encryption 설정 항목의 URL에 세팅하면 SPEKE API를 통해 간단하게 연동이 완료됩니다. 이 가이드는 AWS Elemental MediaConvert 또는 MediaPackage 서비스와 도브러너 멀티DRM을 연동하는 방법을 설명합니다.
MediaConvert 연동
Section titled “MediaConvert 연동”MediaConvert 튜토리얼 비디오
Section titled “MediaConvert 튜토리얼 비디오”AWS Elemental MediaConvert를 통한 VOD 콘텐츠 DRM 패키징 연동 방법을 설명하는 영상입니다.
MediaConvert IAM 권한 생성
Section titled “MediaConvert IAM 권한 생성”IAM 설정 AWS Guide 문서를 참조해 아래와 같은 작업을 진행합니다.
-
AWS Console에서 IAM 서비스를 선택합니다.
-
Roles
탭에 들어가create role
을 선택합니다. -
MediaConvert
를 선택 후Next: permission
버튼을 클릭합니다. -
S3접근 권한과 APIGateway 접근 권한이 가능한 부분을 확인하고
Next: Review
버튼을 클릭합니다. -
RoleName을
MediaConvert-role
로 설정 후create role
버튼을 눌러 생성합니다.
MediaConvert 작업 생성 및 IAM 권한 설정
Section titled “MediaConvert 작업 생성 및 IAM 권한 설정”- AWS Console에서 MediaConvert 서비스를 선택합니다.
- Jobs 탭의
create job
버튼을 눌러 job 생성을 시작합니다. - Job settings 화면의 IAM role 설정 부분에 이전 단계에서 생성한
MediaConvert-role
을 선택합니다.
MediaConvert Input 설정
Section titled “MediaConvert Input 설정”- Input 항목에 s3에 있는 패키징할 콘텐츠 경로를 입력합니다.
MediaConvert Output groups 설정
Section titled “MediaConvert Output groups 설정”-
Output groups 에 Add 버튼을 눌러 ouptput을 추가합니다. (PlayReady와 Widevine의 경우는 DASH ISO, FairPlay 또는 NCG-HLS의 경우는 Apple HLS를 선택)
-
Custom group name에는 사용자가 구분하기 편한 이름을 입력합니다.
-
Destination 항목에 패키징이 완료된 파일이 들어갈 s3상의 경로를 입력합니다.
-
DRM encryption 옵션을 선택 후 Resource ID, System ID, URL을 입력합니다.
- Resource ID: DRM 라이선스 토큰 가이드에 나온 연동 규격에서 CID(content id)에 해당 하는 값입니다.
- System ID: Dash System ID에 규정된 DRM 별 system id 값 입니다. DASH 출력에는 아래 화면과 같이 Widevine과 PlayReady ID를 입력하고, HLS 출력은 아래 별도 항목을 참고해 설정합니다.
- PlayReady:
9a04f079-9840-4286-ab92-e65be0885f95
- Widevine:
edef8ba9-79d6-4ace-a3c8-27dcd51d21ed
- PlayReady:
- 키 공급자 URL: 다음과 같은 KMS 연동 URL을 입력합니다. 마지막 부분의
KMS token
은 도브러너 서비스 가입 시 생성되는 API 인증 토큰으로, 도브러너 콘솔 사이트에서 확인할 수 있습니다.- KMS URL 형식:
https://drm-kms.doverunner.com/v1/cpix/getKey?enc-token=YOUR-KMS-TOKEN
- KMS URL 형식:
- 인증서 ARN: 빈칸으로 둡니다.
- 재생 디바이스 호환성: CENC v1
-
Outputs 를 설정후 Create 버튼을 클릭합니다.
- DASH output의 경우, 비디오와 오디오가 하나의 output으로 출력되면 일부 Widevine 환경에서 재생이 안 되므로 비디오와 오디오 트랙을 나눠서 생성해야 합니다. (‘Add output’ 버튼 클릭)
- DASH output의 경우, 비디오와 오디오가 하나의 output으로 출력되면 일부 Widevine 환경에서 재생이 안 되므로 비디오와 오디오 트랙을 나눠서 생성해야 합니다. (‘Add output’ 버튼 클릭)
-
s3 상에 생성된 파일을 재생할 수 있도록 make public 또는 사용권한 설정을 해줍니다.
HLS 출력에 FairPlay 설정
Section titled “HLS 출력에 FairPlay 설정”애플 기기와 다른 플랫폼을 모두 지원하려면 하나의 입력에 대해서 DASH ISO
와 Apple HLS
두 개의 출력 그룹을 생성해야 합니다. Apple HLS
출력 그룹에 FairPlay DRM을 적용하려면 암호화 옵션을 아래와 같이 설정합니다.
- 암호화 방법:
샘플 AES
- 키 공급자 유형:
SPEKE
- Resource ID: DASH 출력 그룹과 동일한 콘텐츠 ID 입력
- System ID: FairPlay DRM system ID (
94ce86fb-07ff-4f43-adb8-93d2fa968ca2
) - 키 공급자 URL: DASH 출력 그룹과 동일한 도브러너 KMS URL
- 그 외 항목: 기본값 그대로 사용
HLS 출력에 NCG-HLS 설정
Section titled “HLS 출력에 NCG-HLS 설정”Apple HLS
출력 그룹을 이용해 FairPlay DRM 대신 도브러너 독자 DRM인 NCG가 적용된 HLS 콘텐츠를 패키징할 수도 있습니다. NCG-HLS
패키징을 위해서는 Apple HLS
출력 그룹을 생성하고 아래와 같이 DRM 암호화 옵션을 설정합니다.
- 암호화 방법:
AES128
- 키 공급자 유형:
SPEKE
- Resource ID: DASH 출력 그룹과 동일한 콘텐츠 ID 입력
- System ID: NCG HLS system ID (
81376844-f976-481e-a84e-cc25d39b0b33
) - 키 공급자 URL: DASH 출력 그룹과 동일한 도브러너 KMS URL
- 그 외 항목: 기본값 그대로 사용
CMAF 패키징 관련 유의 사항
Section titled “CMAF 패키징 관련 유의 사항”DASH-ISO
와 Apple HLS
외에도 SPEKE 연동을 통해 CMAF
(Common Media Application Format) 방식의 출력을 생성할 수도 있습니다.
애플 기기를 포함해 최대한 많은 클라이언트 환경에서 CMAF 콘텐츠가 지원되게 하려면 DRM 암호화
설정의 암호화 방법을 AES-CBC 하위 샘플
로 설정해야 합니다. 또한 키 공급자 URL
항목에 입력하는 KMS URL은 기본 SPEKE v1 URL 대신 CBCS 암호화를 지원하며 경로에 ‘cbcs’가 포함된 아래 URL을 사용해야 합니다.
https://drm-kms.doverunner.com/v1/cpix/cbcs/getKey?enc-token=YOUR-KMS-TOKEN
SPEKE v2의 경우에는 다음과 같이 사용할 수 있습니다.
https://drm-kms.doverunner.com/v2/cpix/getKey?enc-token=YOUR-KMS-TOKEN
SPEKE v2 멀티키 패키징 지원
Section titled “SPEKE v2 멀티키 패키징 지원”MediaConvert 서비스는 오디오를 포함한 모든 출력 트랙을 하나의 키로 암호화(싱글키 패키징)하는 SPEKE v1
과 멀티키 패키징을 지원하는 SPEKE API v2를 모두 지원합니다.
멀티키 패키징은 DRM 암호화 적용 시 출력되는 비디오와 오디오 트랙을 서로 다른 키로 암호화하는 기능이며, PlayReady SL3000 또는 Widevine L1 등의 하드웨어 DRM을 적용하기 위해서는 반드시 필요합니다.
MediaConvert 작업의 Apple-HLS
, DASH-ISO
또는 CMAF
출력 그룹 설정에서 SPEKE Version 2.0
을 선택하면 다음과 같은 옵션을 통해 멀티키 패키징을 적용할 수 있습니다.
SPEKE v2 선택 시 KMS 연동 URL은 다음과 같은 v2 URL을 사용해야 합니다. KMS Token
값은 도브러너 콘솔 사이트에서 확인할 수 있습니다. (멀티DRM > DRM 세팅 > 멀티 DRM 설정)
SPEKE v2 KMS URL 형식: https://drm-kms.doverunner.com/v2/cpix/getKey?enc-token=YOUR-KMS-TOKEN
MediaPackage 연동
Section titled “MediaPackage 연동”AWS MediaPackage 서비스는 라이브 또는 VOD 콘텐츠에 대한 실시간 패키징 및 암호화를 지원합니다.
MediaPackage 튜토리얼 비디오
Section titled “MediaPackage 튜토리얼 비디오”AWS Elemental MediaPackage를 통한 라이브 콘텐츠 DRM 패키징 연동 방법을 설명하는 영상입니다.
MediaPackage IAM 권한 생성
Section titled “MediaPackage IAM 권한 생성”-
MediaConvert IAM 권한 생성 과 동일하게 생성하며 Role Name만 SPEKEAccess 로 생성합니다.
-
Roles 탭에서 SPEKEAccess role을 선택 후 Trust relationships 탭의 Edit trust relationship 버튼을 클릭합니다.
-
Principal.Service의 값을 mediapackage.amazonaws.com 으로 변경 후 Update 버튼을 클릭합니다.
MediaPackage Channel 생성
Section titled “MediaPackage Channel 생성”-
AWS Console에서 MediaPackage 서비스를 선택합니다.
-
Channel을 생성합니다.
-
endpoints 에서 Add 버튼을 눌러 endpoint 설정을 합니다.
-
endpoint name, packager settings 부분 등 원하는 콘텐츠 스펙에 맞게 설정 합니다.
-
MediaConvert Output groups 설정의 4번 과 동일한 방식으로 Encryption과 Output을 설정합니다.
-
Role ARN에 생성한 SPEKEAccess Role을 입력합니다.
-
Save 버튼을 클릭합니다.
SPEKE v2를 통한 멀티키 패키징
Section titled “SPEKE v2를 통한 멀티키 패키징”MediaPackage 서비스는 라이브 DASH 또는 CMAF 출력에 대해서 SPEKE API v2 기반의 멀티키 패키징을 지원합니다. 멀티키 패키징은 DRM 암호화 적용 시 출력되는 비디오와 오디오 트랙을 서로 다른 키로 암호화하는 기능이며, PlayReady SL3000 또는 Widevine L1 등의 하드웨어 DRM을 적용하기 위해서는 반드시 필요합니다.
MediaPackage 라이브 채널의 DASH 또는 CMAF Endpoint 설정에서 SPEKE Version 2.0
을 선택하면 다음과 같은 옵션을 통해 멀티키 패키징을 적용할 수 있습니다.
SPEKE v2 선택 시 KMS 연동 URL은 다음과 같은 v2 URL을 사용해야 합니다. KMS Token
값은 도브러너 콘솔 사이트에서 확인할 수 있습니다. (멀티DRM > DRM 세팅 > 멀티 DRM 설정)
SPEKE v2 KMS URL 형식: https://drm-kms.doverunner.com/v2/cpix/getKey?enc-token=YOUR-KMS-TOKEN
MediaPackage Live v2
Section titled “MediaPackage Live v2”MediaPackage Live v2
는 2023년 5월에 출시된 새 버전의 AWS MediaPackage 서비스입니다. 해당 버전은 기존의 v1 보다 개선된 기능과 UI를 제공하며, 특히 저지연 방식의 HLS(LL-HLS)를 지원하여 라이브 스포츠 이벤트 등 실시간성이 중요한 서비스에 적합합니다.
AWS MediaPackage Live v2와 도브러너 멀티 DRM 서비스 연동 시에는 다음과 같은 사항을 유의하시기 바랍니다.
컨테이너 유형
Section titled “컨테이너 유형”기존의 MediaPackage Live v1
채널에서는 출력용 엔드포인트에 DASH-ISO
, Apple HLS
, Smooth Streaming
, CMAF
등의 패키징 유형
을 선택할 수 있었습니다.
MediaPackage Live v2 서비스 채널의 엔드포인트에는 패키징 유형 대신 다음과 같은 컨테이너 유형
을 선택하도록 되어 있습니다.
TS
: MPEG-TS 컨테이너 적용. AES-128(클리어키 암호화) 또는 Sample AES(FairPlay DRM) 지원CMAF
: fMP4 컨테이너 적용. CENC(PlayReady, Widevine) 또는 CBCS(PlayReady, Widevine, FairPlay) 지원
기존의 패키징 유형
옵션에 해당되는 스트리밍 프로토콜의 경우, v2에서는 DASH
, HLS
또는 LL-HLS
프로토콜 형태의 출력을 생성 가능합니다.
키 로테이션 설정
Section titled “키 로테이션 설정”MediaPackage Live v1과 마찬가지로, v2 채널의 엔드포인트에 DRM 암호화 적용 시 추가 설정(Additional configuration) 항목에서 키 로테이션 주기를 설정할 수 있습니다. (0
이상 주기 설정 시 키 로테이션 적용)
이때 다음과 같은 사항을 유의하시기 바랍니다.
- Key server URL에 키 로테이션 관련 파라미터 추가 필요
Encryption
옵션의Key server URL
에 입력하는 도브러너 KMS SPEKE v2 URL에key-rotation=true
파라미터를 추가 (enc-token
과key-rotation
두 개의 파라미터 입력)- 예시:
https://drm-kms.doverunner.com/v2/cpix/getKey?key-rotation=true&enc-token=YOUR-KMS-TOKEN
- DRM 라이선스 요청 시 토큰 정책에 키 로테이션 활성화 적용
- 키 로테이션이 적용된 콘텐츠에 대한 라이선스 토큰 생성 시, 토큰 JSON 규격의
key_rotation
항목을true
로 설정해야 합니다.
- 키 로테이션이 적용된 콘텐츠에 대한 라이선스 토큰 생성 시, 토큰 JSON 규격의
- 도브러너 멀티 DRM 서비스 계정에 키 로테이션 이용 권환 활성화
- 키 로테이션이 적용된 콘텐츠에 대한 DRM 라이선스 발급을 위해서는 해당 사이트의 도브러너 서비스 계정에 키 로테이션 이용 권한이 활성화 되어야 합니다. (도브러너 콘솔 > 멀티 DRM > DRM 세팅 화면에서 확인 가능)
- 키 로테이션 활성화 요청과 추가 요금 발생에 대한 문의는 헬프데스크 또는 사업팀에 연락해 주시기 바랍니다.