DoveRunner Console에서 Transcoding & Packaging 사용하기
S3 스토리지를 등록하고 DoveRunner Console에서 Transcoding & Packaging 작업을 만들어, DRM으로 보호된 스트림을 처음부터 끝까지 만들어 봅니다.
Transcoding & Packaging이란?
Transcoding & Packaging(TnP)은 보호된 스트리밍용 영상을 준비해 주는 DoveRunner의 관리형 서비스입니다. 작업 하나로 원본 영상을 적응형 비트레이트 래더로 트랜스코딩하고, 스트리밍용으로 패키징하며, Multi-DRM을 적용하고, 선택하면 포렌식 워터마킹 전처리까지 처리합니다. 인코더를 직접 실행할 필요 없이 S3 스토리지를 등록하고 DoveRunner Console에서 작업을 하나 만들면, DRM으로 보호되어 바로 재생할 수 있는 스트림이 만들어집니다.
이 레슨에서는 DoveRunner Console에서 작업을 만드는 과정을 따라갑니다. 다음 레슨에서는 같은 작업을 TnP API로 실행합니다. 위 영상은 이 레슨의 콘솔 작업으로 만든 스트림이며, Lab에서 세션별 워터마크가 적용되어 재생됩니다.
시작하기 전에
- DoveRunner 계정: Transcoding & Packaging, Multi-DRM, Forensic Watermarking 서비스의 체험판 또는 유료 플랜
- AWS S3 버킷: 서울(ap-northeast-2) 또는 오레곤(us-west-2) 리전에 생성하며, 버킷 읽기/쓰기 권한이 있는 액세스 키 ID와 시크릿 키가 필요
- 원본 영상: 5분 이상 길이의 MP4 파일로, 비디오는 H.264(AVC) 또는 H.265(HEVC), 오디오는 AAC 또는 AC3 코덱이어야 함
1. 서비스 리전 선택
DoveRunner Console에 로그인한 뒤 Content Security > Transcoding & Packaging > Settings 메뉴로 이동합니다. Packaging Service Region은 서울과 오레곤 중 사용하는 AWS 리전에 가까운 쪽을 선택합니다. TnP 작업은 이 리전에서 실행되며, 다른 리전이 필요한 경우 DoveRunner 고객지원에 문의하시기 바랍니다.
2. S3 버킷 생성 및 원본 업로드
AWS 계정에서 다음 작업을 진행합니다.
- TnP 서비스 리전과 같은 리전에 입력용과 출력용 S3 버킷을 각각 생성합니다(이 레슨에서는
dr-lab-input,dr-lab-output사용). - 원본 MP4 파일을 입력 버킷에 업로드합니다.
- 두 버킷에 대한 읽기/쓰기 권한을 가진 IAM 사용자를 만들고 액세스 키를 발급합니다.
3. 입력/출력 스토리지 등록
DoveRunner Console의 Transcoding & Packaging > Storages 메뉴에서 앞서 발급한 IAM 사용자의 액세스 키 ID와 시크릿 키로 입력 버킷과 출력 버킷을 등록합니다. 등록이 끝나면 스토리지 목록에 두 버킷이 리전 정보와 함께 표시됩니다.
4. 작업 생성
TnP Job Create 페이지로 이동합니다. 작업 생성은 6단계로 진행됩니다.
1단계: 작업 유형
Transcode & Forensic Watermark & DRM을 선택합니다. 포렌식 워터마킹 전처리와 Multi-DRM 패키징이 함께 적용되기 때문에, 결과물을 DRM 연동과 포렌식 워터마킹 연동에 모두 사용할 수 있습니다.
2단계: 입력과 출력
작업 이름과 콘텐츠 ID를 입력하고, 입력 스토리지와 원본 영상 경로를 지정한 다음 출력 스토리지를 선택합니다.
Output Directory Path는 필수 항목입니다. 별도의 폴더 구조가 필요 없더라도 output처럼 짧은 폴더 이름을 입력해야 합니다. TnP가 이 폴더 아래에 콘텐츠 ID 폴더를 자동으로 추가하기 때문에, 여기에 콘텐츠 ID를 입력하면 경로에 콘텐츠 ID가 두 번 들어가게 됩니다.
3단계: 비디오
스트리밍 포맷으로 DASH와 HLS를 선택합니다. TnP가 원본 영상을 기준으로 ABR 래더(렌디션별 비트레이트와 해상도)를 자동으로 제안하며, 이 레슨에서는 기본값을 그대로 사용합니다.
두 포맷을 함께 패키징하면 주요 브라우저를 모두 지원할 수 있습니다.
- DASH: Chrome과 Edge에서 Widevine, PlayReady 지원
- HLS: Safari에서 FairPlay 지원
CMAF를 사용하면 하나의 패키지로 세 가지 DRM을 모두 지원할 수 있는데, 이 구성은 별도의 튜토리얼에서 다루도록 하겠습니다.
4단계: 오디오와 자막
TnP가 원본 파일에 포함된 트랙을 자동으로 감지합니다. AAC 오디오 트랙이 하나인 MP4 파일이라면 해당 트랙의 언어(예: English)를 선택합니다.
5단계: DRM 옵션
Audio Track Encryption, Multi-Key, Multi-Manifest는 비활성화 상태로 두고 Clear Lead는 0초로 유지합니다. 이러한 고급 옵션은 이후 레슨에서 다룹니다.
6단계: 검토 및 시작
검토 화면에서 앞 단계의 설정을 모두 확인한 뒤 Start Job을 클릭합니다.
5. 작업 진행 확인
작업은 생성 즉시 작업 ID와 함께 Job History에 표시됩니다. 상태는 Queued에서 시작해 트랜스코딩, 세그먼트 분할, 복사 단계를 거치며, 작업 상세 페이지에서 단계별 진행 상황을 확인할 수 있습니다.
6. 패키징 결과 확인
작업이 끝나면 S3 콘솔에서 출력 버킷을 열어 봅니다. 결과물은 다음과 같은 경로에 저장됩니다.
wm-contents/
└── <Output Directory Path>/
└── <콘텐츠 ID>/
├── 0/
│ ├── dash/stream.mpd
│ └── hls/master.m3u8
└── 1/
├── dash/stream.mpd
└── hls/master.m3u8
0과 1 폴더가 두 가지 워터마크 버전(A/B variant)이며, 각 폴더에는 DRM 패키징된 DASH와 HLS 스트림이 들어 있습니다. 포렌식 워터마킹이 없는 작업 유형을 선택했다면 DRM 패키징된 스트림이 하나만 만들어집니다. 같은 작업을 코드로 실행하려면 다음 레슨으로 이어서 진행하세요.
전체 콘텐츠 보안 제품 연동 방법은 DoveRunner Docs를 참고하시기 바랍니다.