Multi DRM 콘텐츠 서비스 플로우
이 가이드는 Multi DRM이 적용된 콘텐츠를 배포하고 재생하기 위한 전체 프로세스를 설명합니다. 다양한 재생 환경에서 글로벌 표준 보안 규격을 적용하여 콘텐츠를 안전하게 배포할 때 아래 서비스 플로우를 참조하세요.
Multi DRM에 대한 상세 설명은 아래 문서를 참고하세요.
핵심 프로세스 요약
- 콘텐츠 업로드: 고객사 관리자가 Kollus 업로드 서버로 콘텐츠 파일을 전송합니다. (Multi DRM 적용 시 [암호화] 옵션 선택 안 함)
- 포스터 추출: 업로드 완료 후, 시스템은 플레이어 초기 화면에 노출될 포스터(대표 이미지)를 추출합니다.
- 트랜스코딩: 재생 환경에 최적화된 해상도와 비트레이트로 변환하는 인코딩 프로세스를 진행합니다. 고객사 관리자는 Kollus VOD 콘솔의 [라이브러리]에서 진행 상태를 확인할 수 있습니다.
- 콘텐츠 암호화 (Multi DRM): 트랜스코딩 완료된 미디어 데이터를 글로벌 표준 DRM(Widevine, FairPlay, PlayReady) 규격으로 암호화합 니다. 콘텐츠의 무단 복제 및 유출 방지를 위한 필수 단계이며, 해당 콘텐츠는 라이선스 인증을 거쳐 안전하게 재생됩니다.
- 섬네일 추출: 시스템은 플레이어의 프로그레스 바(Progress Bar)에서 미리보기 화면에 사용될 섬네일 이미지를 추출합니다.
- 업로드 파일 키 발급: 트랜스코딩 완료 시, 시스템은 해당 콘텐츠 식별을 위한 업로드 파일 키를 발급합니다.
- 채널 등록 및 미디어 콘텐츠 키 발급: 고객사 관리자가 콘텐츠를 특정 채널에 등록하면, 시스템은 배포용 식별 키인 미디어 콘텐츠 키(Media Content Key)를 발급합니다.
- 재생 URL 생성 및 확인: 고객사 관리자는 미디어 콘텐츠 키와 보안 토큰을 결합하여 재생 URL(S링크)을 생성합니다. 생성된 URL을 통해 콘텐츠의 정상 재생 여부를 최종 확인합니다.
튜토리얼
1단계: Kollus VOD 콘솔 로그인
Kollus VOD 콘솔에 접속하여 로그인합니다.
2단계: 콘텐츠 업로드
로그인 후 나타나는 [라이브러리] 메뉴에서 콘텐츠 파일을 관리하고 카테고리별로 분류할 수 있습니다.
- 화면 우측 상단의 [콘텐츠 업로드]를 클릭합니다.
- 파일을 업로드 영역으로 드래그 앤 드롭하거나 [파일 선택하기]를 클릭하여 파일을 선택합니다.
- 이모지 사용 제한: 파일 이름에 이모지가 포함되면 업로드할 수 없습니다.
- 지원 파일 확장자: 아래의 확장자만 업로드할 수 있습니다. 지원되지 않는 확장자의 파일은 업로드 목록에서 제외되거나 실패할 수 있습니다.
- 비디오:
.3gp,.asf,.avi,.dv,.flv,.webm,.m4v,.mov,.mp4,.mpeg,.mpg,.wmv,.3g2,.3gpp,.f4v,.m2v,.ogm,.ogv,.wm - 오디오:
.aac,.flac,.m4a,.mp3,.ogg,.wav,.amr,.wma
- 비디오:
- 최대 업로드 개수: 한 번에 최대 20개까지 선택할 수 있습니다. 21개 이상의 파일을 업로드하려면 Kollus Uploader를 이용해 주세요.
- 업로드 완료 시 시스템이 자동으로 트랜스코딩(Transcoding)을 시작합니다.
- 트랜스코딩: 원본 영상을 다양한 시청 환경에 최적화된 해상도와 비트레이트로 변환하는 필수 과정입니다.
- 진행 상태: 콘텐츠 포스터 위의 퍼센트(%) 수치로 확인할 수 있습니다.
3단계: 배포 채널 생성
트랜스코딩이 완료된 콘텐츠를 시청자에게 제공하기 위해 배포 채널을 생성해야 합니다.
채널(Channel)은 콘텐츠 배포의 기본 단위이며, 각 채널별로 독립적인 보안 및 재생 정책 설정이 가능합니다.
- 좌측 메뉴에서 [채널]을 선택합니다.
- 좌측 채널 목록 또는 우측 상단의 [채널 추가]를 클릭합니다.
- 각 항목을 설정한 후 [저장]을 클릭합니다. (이 가이드는 Multi DRM 콘텐츠 재생 테스트를 목적으로 하므로, [공유 채널로 사용]을 선택하세요.)
채널 설정 항목 설명 공유 채널로 사용 외부 배포를 위한 공유 URL 및 임베드 코드가 제공됩니다. 암호화 콘텐츠 전용 채널로 사용 Kollus DRM이 적용된 암호화 콘텐츠만 등록 가능합니다. (참고 문서: 콘텐츠 암호화 (DRM))
4단계: 콘텐츠 등록
생성한 채널에 콘텐츠를 등록합니다.
- 채널 목록에서 채널 이름 우측 [더보기 (⋮)] > [채널에 콘텐츠 추가]를 클릭하거나, 채널 카드 클릭 > 우측 상단 [채널에 콘텐츠 추가]를 클릭합니다.
- 등록할 콘텐츠를 선택한 후 [추가]를 클릭합니다.
- 등록 완료 시 콘텐츠별로 고유한 미디어 콘텐츠 키(Media Content Key)가 발급됩니다. 해당 키는 채널별 배포 식별자로 활용됩니다.
5단계: JWT 생성
Multi DRM 콘텐츠는 보안 강화를 위해 라이선스 요청 정보를 포함한 JWT(JSON Web Token) 인증 방식이 필수입니다. Kollus VOD는 글로벌 DRM 솔루션인 PallyCon과 연동하여 Widevine(Android/Chrome), FairPlay(iOS/Safari), PlayReady(Windows/Edge) DRM을 단일한 JWT 인 증 규격으로 관리할 수 있습니다.
JWT Payload에는 워터마크, 자막 설정, 재생 제어 등 다양한 보안 및 편의 기능을 정의할 수 있습니다. Multi DRM 콘텐츠 재생을 위한 필수 Payload 구성은 다음과 같습니다.
{
"cuid": "{END_USER_ID}",
"expt": 1703980800,
"mc": [{
"mckey": "{MEDIA_CONTENT_KEY}",
"drm_policy": {
"kind": "inka",
"streaming_type": "dash",
"data": {
"license_url": "https://license.pallycon.com/ri/licenseManager.do",
"certificate_url": "https://license.pallycon.com/ri/fpsKeyManager.do?siteId={YOUR_SITE_ID}",
"custom_header": {
"key": "pallycon-customdata-v2",
"value": "{BASE64_ENCODED_TOKEN}"
}
}
}
}]
}
위 Payload 예시의 파라미터 설명은 아래 표를 참고하세요.
| 옵션 | 타입 | 설명 |
|---|---|---|
cuid | string | 시청자 ID
|
expt | integer | JWT 만료 일시 (Unix Timestamp)
|
mc | array | 재생할 콘텐츠 정보를 포함하는 배열 |
mckey | string | 미디어 콘텐츠 키 |
drm_policy | object | Multi DRM 정책 데이터 |
kind | string | DRM 솔루션 종류. 고정값 "inka" 입력 (DoveRunner의 구 사명) |
streaming_type | string | 스트리밍 프로토콜 종류
|
data | object | 라이선스 인증 및 발급에 필요한 데이터 |
license_url | string | (Widevine, PlayReady 사용 시 필수) 라이선스 서버 주소 |
certificate_url | string | (FairPlay 사용 시 필수) FairPlay 인증서 주소. siteId 파라미터에 PallyCon 콘솔에서 발급받은 ID를 입력하세요. |
custom_header | object | 라이선스 요청 시 전달할 커스텀 헤더 |
custom_header.key | string | 헤더 키 이름 ("pallycon-customdata-v2" 고정) |
custom_header.value | string | PallyCon 라이선스 토큰 값 (Base64 인코딩 필수) |
플레이어 호출을 위한 식별 정보는 아래 문서를 참고하세요.
- 키(Key/ID) 정보: 인증 및 주요 키
- JWT(JSON Web Token) 규격: Multi DRM 전용 JWT 규격
6단계: 보안 재생 URL 구성
인증된 사용자만 플레이어를 호출할 수 있도록 보안 URL(S링크) 규격으로 재생 URL을 구성합니다.
플레이어 호출 방식에 대한 상세 설명은 아래 문서를 참고하세요.
재생 URL 규격
https://v.kr.kollus.com/s?jwt={JWT}&custom_key={CUSTOM_KEY}
파라미터 상세 설명
| 파라미터 | 설명 |
|---|---|
jwt | 인증 및 보안 설정 토큰 (5단계에서 생성한 JWT) |
custom_key | 사용자 키
|