Lab
  • DRM 패키징 튜토리얼코스
  • 멀티 DRM 기술에 대해 알아야 할 5가지코스
  • DoveRunner Anti Piracy 시작하기코스
  • DoveRunner 포렌식 워터마킹 시작하기코스
  • DoveRunner 모바일 앱 보안 시작하기코스
  • DoveRunner 멀티DRM 시작하기코스
  • DoveRunner Transcoding & Packaging 시작하기코스
  • DRM CLI Packager로 콘텐츠 패키징하기레슨 · DRM 패키징 튜토리얼
EN

AWS Elemental MediaConvert로 멀티DRM 패키징하기

AWS Elemental MediaConvert 작업 하나로 DoveRunner 멀티DRM이 적용된 DASH와 HLS를 만드는 방법을 실제 작업 과정으로 보여줍니다.

레슨 25분

DRM: —상태: 대기 중

만들어 볼 것

이미 AWS Elemental MediaConvert로 영상을 패키징하고 있다면, 같은 작업에 DoveRunner 멀티DRM을 추가할 수 있습니다. MediaConvert는 S3의 원본 파일을 읽고, 출력마다 SPEKE 프로토콜로 DoveRunner 키 서버에 암호화 키를 요청합니다. 그런 다음 암호화된 DASH와 HLS를 S3에 씁니다. DASH는 PlayReady와 Widevine, HLS는 FairPlay를 지원하며, 플레이어는 DoveRunner에서 라이선스를 받습니다. 위 영상은 이 레슨의 작업으로 만든 결과물입니다.

시작하기 전에

  • AWS 계정: IAM, S3, MediaConvert를 사용할 수 있어야 합니다
  • DoveRunner Console 계정 (console.doverunner.com): KMS 토큰 확인용
  • 콘텐츠 ID(CID): 원하는 값을 정합니다. MediaConvert에서는 Resource ID로 입력하며, 라이선스 연동에도 같은 CID를 씁니다
  • S3에 올려 둔 원본 영상
  • MediaConvert의 DRM 암호화는 MediaConvert 작업 설정의 Pro 기능입니다
DRM 시스템 System ID
PlayReady 9a04f079-9840-4286-ab92-e65be0885f95
Widevine edef8ba9-79d6-4ace-a3c8-27dcd51d21ed
FairPlay 94ce86fb-07ff-4f43-adb8-93d2fa968ca2

1. KMS 토큰 확인하기

DoveRunner Console에서 Multi DRM > Settings로 이동해 Retrieve Secret Information을 선택합니다. KMS Token 행에 KMS 토큰이 표시됩니다. 비밀번호처럼 다루세요. MediaConvert 작업의 Key provider URL 외에는 입력하지 않습니다.

Key provider URL은 다음 형식입니다.

https://drm-kms.doverunner.com/v1/cpix/getKey?enc-token=<KMS token>

2. IAM 역할 만들기

MediaConvert가 S3 버킷을 사용할 수 있도록 권한을 줍니다. AWS IAM 콘솔에서 Roles > Create role로 이동해 AWS service를 선택하고 사용 사례로 MediaConvert를 고릅니다. 이 사용 사례는 AmazonS3FullAccess와 AmazonAPIGatewayInvokeFullAccess를 미리 연결해 두므로 따로 고를 것이 없습니다. 역할 이름을 MediaConvert-role로 입력하고 생성합니다.

3. 작업 만들기와 입력 지정

MediaConvert 콘솔에서 Jobs > Create job으로 이동합니다. Input에 원본 영상의 S3 URL을 입력합니다. 출력이 원본의 해상도와 화면 비율을 그대로 유지하도록 Follow source는 켜 둡니다.

4. DASH 출력 그룹 (PlayReady + Widevine)

  1. Add output group을 선택하고 DASH ISO를 고릅니다.
  2. 그룹 이름을 입력하고, Destination을 출력 버킷의 경로로 지정합니다. 예: s3://<bucket>/lab-contents/<cid>/dash/stream
  3. 기본으로 생성된 출력 두 개(H.264 비디오, AAC 오디오)를 그대로 둡니다. Widevine은 비디오와 오디오가 별도 파일이어야 합니다.
  4. DRM encryption을 켜고 다음을 설정합니다.
    • Resource ID: CID
    • SPEKE version: 1.0
    • System ID: PlayReady와 Widevine ID를 한 줄에 하나씩 입력(최대 2개)
    • Key provider URL: 1단계의 URL
    • Certificate ARN: 비워 둠
    • Playback device compatibility: CENC v1

5. HLS 출력 그룹 (FairPlay)

두 번째 출력 그룹으로 Apple HLS를 추가하고 별도의 Destination(예: .../<cid>/hls/master)을 지정합니다. DRM encryption을 켜고 암호화 방식은 Sample AES, 키 제공자 유형은 SPEKE를 선택합니다. Resource ID와 Key provider URL은 같은 값을 쓰고, System ID에는 FairPlay ID를 입력합니다.

이 HLS 출력은 CENC가 아니라 FairPlay(Sample AES)로 보호됩니다. FairPlay 재생에는 Safari/Apple 클라이언트와, DoveRunner 쪽 FairPlay 설정이 필요합니다.

6. 서비스 역할과 자주 만나는 오류 두 가지

AWS integration에서 Use an existing service role을 선택하고 MediaConvert-role을 고른 뒤 Create를 선택합니다. 다음 검증 오류가 날 수 있습니다.

  • maxBitrate is a required property: 각 H.264 출력에 Max bitrate를 설정합니다(이 레슨은 5,000,000 bits/s)
  • nameModifier is a required property: HLS 출력에 Name modifier(예: _1080p)를 설정합니다

두 가지를 고친 뒤 작업을 다시 생성합니다.

7. 작업 실행

작업 상태가 Submitted, Progressing, Complete 순서로 바뀝니다. 12분 길이의 원본을 트랜스코딩하는 데 약 5분이 걸렸습니다. 원본에 색상 메타데이터가 없다는 경고 두 개(230001, 230005)가 보일 수 있지만 작업은 중단되지 않습니다.

8. 출력 확인하기

출력 버킷에 dash/와 hls/ 폴더가 생성됩니다.

  • DASH (dash/stream.mpd): PlayReady와 Widevine의 ContentProtection 항목과 cenc 스킴
  • HLS (hls/master.m3u8): #EXT-X-KEY:METHOD=SAMPLE-AES와 FairPlay 키 형식 com.apple.streamingkeydelivery

9. DoveRunner 라이선스로 재생하기

DoveRunner Lab의 Playground > DRM Tools > DRM playback tester를 엽니다. Custom content를 선택하고, 출력의 DASH 매니페스트 URL과 같은 콘텐츠 ID의 라이선스 토큰을 입력한 뒤 Load custom content를 선택합니다. Chrome에서는 Widevine으로 재생되며, 인스펙터에서 라이선스 요청과 키 상태를 확인할 수 있습니다.

다음 단계

  • 하나의 출력 그룹에서 DASH와 HLS를 함께 만들려면 AES-CBC(CBCS) 암호화를 적용한 CMAF 출력 그룹을 사용하세요. 가장 다양한 클라이언트 환경을 지원합니다.
  • 모든 필드와 옵션은 DoveRunner Docs의 AWS Elemental MediaConvert 가이드를 참고하세요.