트랜스코딩 & 패키징 서비스 가이드
이 문서는 PallyCon의 새로운 SaaS 기반 트랜스코딩 & 패키징(T&P)
서비스를 사용하기 위한 단계를 담은 사용자 매뉴얼입니다.
개요
PallyCon의 트랜스코딩 & 패키징(T&P)
서비스는 단일 워크플로에서 트랜스코딩과 멀티DRM 암호화 및 포렌식 워터마크 적용을 할 수 있는 SaaS 기반 솔루션입니다.
이 솔루션은 사용하기 쉽고 경제적이며 비디오 콘텐츠의 품질을 손상시키지 않으면서 콘텐츠 보안 도입에 걸리는 시간을 단축합니다. 따라서 별도의 트랜스코딩 및 패키징 서버 구축 없이 빠르게 콘텐츠 보안을 적용하려는 콘텐츠 서비스 업체를 주요 대상으로 합니다.
필요 조건
T&P 서비스는 다음과 같이 3가지 작업 유형을 지원하며, 해당 서비스를 사용하려면 기본적으로 PallyCon 멀티 DRM과 포렌식 워터마킹 서비스 중 하나 이상에 가입해야 합니다.
- 트랜스코딩, 포렌식 워터마크 및 DRM 적용
- 트랜스코딩 및 DRM 적용
- 트랜스코딩 및 포렌식 워터마크 적용
동영상 튜토리얼
단계 별 가이드
트랜스코딩 & 패키징 서비스의 이용 단계는 다음과 같습니다.
- 1단계: 트랜스코딩 작업을 위한 AWS 리전 선택
- 2단계: 입력 및 출력용 Amazon S3 스토리지 등록
- 3단계: 다양한 콘텐츠 보호 옵션으로 작업 생성
- 4단계: 작업 상태 및 기록 보기
1단계: 트랜스코딩 리전 선택
PallyCon 콘솔 로그인 후 트랜스코딩 & 패키징
메뉴의 설정
화면으로 이동합니다.
- 연필 모양 아이콘을 클릭하여 트랜스코딩이 처리될 AWS 리전을 설정합니다.
- 드롭다운 목록에서 트랜스코딩 작업에 사용할 지역을 선택합니다. 트라이얼 계정의 경우에는 현재
오레곤
,서울
,싱가포르
지역이 지원됩니다.
이 단계는 3가지 작업 유형 모두에 공통으로 적용됩니다.
2단계: S3 스토리지 등록
트랜스코딩 리전이 설정되면 다음 단계는 입력 및 출력 비디오 파일이 저장될 Amazon S3 버킷 세부 정보를 설정하는 것입니다.
트랜스코딩 & 패키징
메뉴의저장소 목록
화면으로 이동합니다.등록
버튼을 클릭하여 스토리지 등록 화면을 엽니다.
Tip: 스토리지를 처음 등록하는 경우, 위와 같이
입력
과출력
체크박스를 모두 선택합니다. 두 스토리지의 AWS 액세스 키와 보안 키가 동일한 경우동일한 자격 증명 사용
을 선택합니다.
- 내용을 입력한 후 화면 하단의
등록
버튼을 클릭합니다. - 입력된 정보로 해당 S3 버킷에 접근하는데 문제가 없다면, 스토리지 등록이 성공하고 아래와 같이 목록이 채워집니다.
3단계: 작업 생성
이 단계는 트랜스코딩 작업을 생성하고 콘텐츠 보호를 적용하는 주요 단계입니다. PallyCon 서비스의 구독 유형 및 콘텐츠 보안 요구 사항에 따라 포렌식 워터마킹과 멀티 DRM을 적용할 수 있습니다.
이 단계를 진행하기 전에 먼저 등록된 S3 버킷에 작업할 콘텐츠를 업로드한 다음 작업 생성
하위 메뉴를 클릭합니다.
3.1 트랜스코딩 및 포렌식 워터마킹 + DRM 적용
이 옵션은 PallyCon의 멀티 DRM과 포렌식 워터마킹 서비스에 모두 가입한 고객에게만 유효합니다.
- S3 버킷에 트랜스코딩 및 콘텐츠 보안을 적용할 원본 콘텐츠를 복사합니다.
- PallyCon 콘솔의
트랜스코딩 & 패키징
메뉴에서작업 생성
화면으로 이동합니다. - 작업 유형을
트랜스코딩 & 포렌식 워터마크 & DRM
으로 선택합니다. - 섹션 3.4에 언급된 대로 5단계를 모두 완료하여 필요한 입력을 제공합니다.
- PallyCon SaaS 서비스는 콘텐츠의 트랜스코딩과 포렌식 워터마킹을 위한 전처리, 멀티 DRM 암호화 및 DASH/HLS/CMAF 패키징을 수행합니다. 모든 과정이 완료되면 결과물을 등록된 S3의 출력 폴더에 업로드합니다.
- 작업이 등록되면 진행 상태와 이력을 확인할 수 있습니다.
지원 규격
입력 포맷 및 코덱
포맷 | 비디오 코덱 | 오디오 코덱 |
---|---|---|
MPEG-4 | AVC(H.264), HEVC(H.265) | AAC, AAC_LC,AC3, EAC3, HEAAC_V2 |
출력 포맷 및 코덱
포맷 | 비디오 코덱 | 오디오 코덱 |
---|---|---|
DASH, HLS, CMAF | AVC(H.264), HEVC(H.265) | AAC, AAC_LC,AC3, EAC3, HEAAC_V2 |
3.2 트랜스코딩 및 DRM 적용
- S3 버킷에 트랜스코딩 및 콘텐츠 보호를 적용할 원본 콘텐츠를 복사합니다.
- PallyCon 콘솔의
트랜스코딩 & 패키징
메뉴에서작업 생성
화면으로 이동합니다. - 작업 유형을
트랜스코딩 & DRM
으로 선택합니다. - 섹션 3.4에 언급된 대로 5단계를 모두 완료하여 필요한 입력을 제공합니다.
- PallyCon SaaS 서비스는 콘텐츠를 트랜스코딩하고 멀티 DRM 암호화 및 DASH/HLS/CMAF 패키징을 처리한 후, 마지막으로 등록된 S3의 출력 폴더에 최종 결과물을 업로드합니다.
- 작업이 등록되면 진행 상태와 이력을 확인할 수 있습니다.
지원 규격
입력 포맷 및 코덱
포맷 | 비디오 코덱 | 오디오 코덱 |
---|---|---|
IMF | Apple ProRes, JPEG 2000 (J2K) | aac_lc,aac, heaac_v1, heaac_v2,eac3, ac3, mp3, wav |
Matroska (MKV) | AVC (H.264), PCM, MPEG-2, MPEG-4 part 2, VP9 | aac_lc,aac, heaac_v1, heaac_v2,eac3, ac3, mp3, wav |
MPEG Program Streams (MPEG-PS) | MPEG-2 | aac_lc,aac, heaac_v1, heaac_v2,eac3, ac3, mp3, wav |
MPEG Transport Streams (MPEG-TS) | AVC (H.264), HEVC (H.265), MPEG-2 | aac_lc,aac, heaac_v1, heaac_v2,eac3, ac3, mp3, wav |
MPEG-1 System Streams | MPEG-1, MPEG-2 | aac_lc,aac, heaac_v1, heaac_v2,eac3, ac3, mp3, wav |
MPEG-4 | Uncompressed, AVC Intra 50/100, H.261, H.262, H.263, AVC (H.264), HEVC (H.265), JPEG 2000, MPEG-2, MPEG-4 part 2 | aac_lc,aac, heaac_v1, heaac_v2,eac3, ac3, mp3, wav |
MXF | Uncompressed, Apple ProRes , AVC Intra 50/100, VC-3, DV/DVCPRO, DV25, DV50, DVCPro HD, AVC (H.264), JPEG 2000 (J2K), MPEG-2, SonyXDCam, SonyXDCam MPEG-4 Proxy | aac_lc,aac, heaac_v1, heaac_v2,eac3, ac3, mp3, wav |
QuickTime | Uncompressed, Apple ProRes , AVC Intra 50/100, DV/DVCPRO, H.263, AVC (H.264), HEVC (H.265), JPEG 2000 (J2K), MJPEG, MPEG-2, MPEG-4 part 2, QuickTime Animation (RLE), DNxHD | aac_lc,aac, heaac_v1, heaac_v2,eac3, ac3, mp3, wav |
출력 포맷 및 코덱
포맷 | 비디오 코덱 | 오디오 코덱 |
---|---|---|
DASH, HLS, CMAF | AVC(H.264), HEVC(H.265) | AAC, AAC_LC,AC3, EAC3, HEAAC_V2 |
3.3 트랜스코딩 및 포렌식 워터마킹 적용
- S3 버킷에 트랜스코딩 및 콘텐츠 보안을 적용할 원본 콘텐츠를 복사합니다.
- PallyCon 콘솔의
트랜스코딩 & 패키징
메뉴에서작업 생성
화면으로 이동합니다. - 작업 유형을
트랜스코딩 & 포렌식 워터마크
로 선택합니다. - 섹션 3.4에 언급된 대로 5단계를 모두 완료하여 필요한 입력을 제공합니다.
- PallyCon SaaS 서비스는 콘텐츠를 트랜스코딩과 포렌식 워터마킹을 위한 전처리 및 DASH/HLS/CMAF 패키징을 처리합니다. 모든 작업이 완료되면 최종 결과물을 등록된 S3의 출력 폴더에 업로드합니다.
- 작업이 등록되면 진행 상태와 이력을 확인할 수 있습니다.
지원 규격
입력 포맷 및 코덱
포맷 | 비디오 코덱 | 오디오 코덱 |
---|---|---|
MPEG-4 | AVC(H.264), HEVC(H.265) | AAC, AAC_LC,AC3, EAC3, HEAAC_V2 |
출력 포맷 및 코덱
포맷 | 비디오 코덱 | 오디오 코덱 |
---|---|---|
DASH, HLS, CMAF | AVC(H.264), HEVC(H.265) | AAC, AAC_LC,AC3, EAC3, HEAAC_V2 |
3.4 작업 생성 세부 단계
이 섹션에서는 작업 생성 과정의 세부 단계에 대해 설명합니다.
작업 생성 단계 1/5: 작업 유형 선택
콘텐츠 보안 요구 사항에 따라 작업 유형을 선택합니다.
작업 생성 단계 2/5: 입력 및 출력 스토리지 설정
작업 이름
: 작업을 구분하기 위해 임의의 이름을 입력합니다. (특수문자 및 공백 사용 불가, 최대 50바이트)콘텐츠 ID
: 패키징할 콘텐츠의 고유 ID를 입력합니다. (특수문자 사용 불가, 최대 200바이트)입력 저장소 이름
: 이전 단계에서 등록한 목록 중에 입력 저장소를 선택합니다.비디오 경로
: 버킷 이름을 제외하고 저장소에 있는 소스 비디오 파일(mp4)의 경로를 입력합니다. (예:source/test1.mp4
여기서source
는 폴더 이름)추가 오디오
: 추가적인 오디오 트랙의 경로를 입력할 수 있습니다.자막 또는 캡션 파일 경로
: 자막과 함께 패키징하는 경우, 소스 영상과 동일한 입력 저장소에 언어별 자막 파일을 업로드한 후 해당 경로를 입력합니다. (WebVTT 자막만 지원)출력 저장소 이름
: 목록에서 이전 단계에서 등록한 출력 저장소를 선택합니다.출력 디렉터리 경로
: 최종 결과물이 업로드될 출력 폴더의 경로를 입력합니다.Notification Name
: TNP 작업 상태 알림을 위해 구성된 알림 이름을 입력하세요.
트라이얼 계정의 경우 다음 조건이 적용됩니다.
- 비디오 코덱: H.264
- 컨테이너 포맷: MP4
- 오디오 코덱: 컨테이너에 포함된 AAC
- 최대 동영상 길이: 10분
- 출력: ABR 형태의 DASH/HLS/CMAF 콘텐츠, DRM 암호화 적용 가능
- 최대 2개의 작업만 허용
- MP4 컨테이너에 1개의 오디오 트랙이 있는 1개의 비디오 입력. 분리된 오디오 또는 캡션 파일 입력은 허용되지 않음. 입력된 비디오 파일에 다중 오디오 트랙이 있는 경우 오류 메시지가 표시됩니다.
상용 계정의 제한 사항은 다음과 같습니다.
- 비디오 코덱: H.264/H.265
- 컨테이너: 포렌식 워터마크 관련 작업의 경우, 현재
MP4
와MOV
만 지원- 최대 오디오 수: 10
- 최대 자막 수: 10
- 지원 가능한 비디오 프레임레이트: [23.98 , 24.0 , 25.0 , 29.97 , 30.0]
- 포렌식 워터마킹 관련 작업의 경우 고정 프레임레이트 (Constant Frame Rate, CFR) 콘텐츠만 지원 가능
- 현재 16:9 화면비만 지원됨
비디오 경로
, 추가 오디오
및 캡션 파일 경로
값은 대소문자를 구분합니다. 오류가 발생하지 않도록 정확한 값을 입력해 주시기 바랍니다.
작업 생성 단계 3/5: 비디오 설정
이 단계에서는 다음과 같은 비디오 관련 설정을 입력합니다.
스트리밍 형식
: 패키징할 스트리밍 형식을 선택합니다. (DASH/HLS/CMAF)코덱
: H.264 및 H.265 지원프레임 레이트
: 입력 영상의 프레임 레이트 (현재 최대 30fps 지원)비디오 해상도
: 기본적으로 5가지 해상도 프리셋을 사용할 수 있습니다. 해상도는 다음과 같은 방법으로 수정 가능합니다.- 특정 해상도 트랙을 삭제하려면 해상도 앞의
X
를 클릭합니다. 해상도 추가
버튼을 클릭하여 새 해상도 트랙를 추가할 수 있습니다.- 추가할 비디오 트랙의 해상도 너비, 높이 및 비트레이트 값을 입력합니다.
- 지원되는 입력값 범위:
- 너비: 최소 416, 최대 3840
- 높이: 최소 234, 최대 2160
- 비트레이트(kbps) : 최소 10kbps, 최대 100Mbps
- 특정 해상도 트랙을 삭제하려면 해상도 앞의
평균 대역폭 활성화
: 평균 대역폭을 mpd에 적용해야 하는 경우 이 옵션을 선택합니다.최소 버퍼 시간:
원활한 재생을 위해 필요한 초기 버퍼링의 최소 시간입니다. (기본값: 2)
각 작업에 지원되는 최대 해상도 수에 대한 제한은 다음과 같습니다.
DRM 전용 작업 유형:
- H.264 코덱 : 최대 6개 해상도
예: [2HD, 2FHD, 2 UHD] 또는 [1SD, 2HD, 2FHD, 1UHD]- H.265 코덱 : 최대 3개 해상도
예: [2UHD, 1FHD] 또는 [1UHD, 1FHD, 1HD]
FWM/FWM+DRM 작업 유형:
- H.264 코덱 : UHD가 있는 경우 최대 3개 해상도
예: [1UHD, 1FHD, 1HD]- H.264 코덱 : UHD가 없는 경우 최대 5개 해상도
예: [2FHD, 2HD, 1SD]- H.265 코덱 및 FWM/FWM+DRM 작업 유형: 최대 3개 해상도
예: [2UHD,1 FHD] 또는 [1UHD,1FHD,1HD]
작업 생성 단계 4/5: 오디오 및 자막 설정
이 단계에서는 다음과 같은 오디오 관련 설정을 입력합니다. 오디오의 코덱과 비트레이트는 원본 오디오 값을 그대로 사용합니다.
2/5단계에서 추가 오디오 또는 자막 파일이 제공된 경우 여기에 표시됩니다.
오디오
언어 및 트랙
: 오디오 트랙 레이블 및 오디오 언어 코드를 입력할 수 있습니다. (예:lang=en:name=English Audio)
자막 및 캡션
자막 포맷 옵션
: 3/5 단계에서 설정한 스트리밍 형식별 출력 자막 형식을 설정할 수 있습니다.
WebVTT in Text, TTML in MP4, WebVTT in MP4
작업 생성 단계 5/5: 작업 시작
오디오 트랙 암호화
: 오디오 트랙의 암호화 활성화 또는 비활성화 선택멀티 키
: 각 트랙에 대해 여러 암호화 키 세트를 적용합니다. 비디오 트랙 유형에 대한 해상도를 설정할 수 있습니다. (SD, HD, UHD1)멀티 매니페스트
: 멀티 키 패키징 시 여러 매니페스트(재생 목록) 파일을 만듭니다. SD부터 UHD까지의 비디오 트랙을 포함하는 적응형 스트림의 경우SD_ONLY
,SD_HD
및SD_UHD
의 세 가지 매니페스트가 생성됩니다.DRM 비활성화 섹션
: 패키징된 콘텐츠의 시작 부분에 암호화되지 않은 구간을 적용합니다. 기본값: 0(초)
작업 유형이 트랜스코딩 & 포렌식 워터마크
인 경우 DRM 설정 옵션이 생략됩니다.
4단계: 작업 상태 및 기록
작업이 시작되면 작업 상태 및 기록
페이지에서 해당 작업의 세부 정보를 볼 수 있습니다.
검색 조건
이 페이지에서는 다음과 같은 조건으로 작업 이력을 검색할 수 있습니다.
날짜
: 주간, 월간, 연간 및 사용자 지정 기간작업 상태
: 전체, 실패, 진행, 성공, 중지, 대기 중스트리밍 형식
: DASH, HLS, CMAF보안 유형
: DRM, 포렌식 워터마크항목
: 작업 이름, 작업 ID, 콘텐츠 ID
작업 정보 항목
작업 ID
: 작업 생성 시 입력한 작업 ID작업 이름
: 작업 생성 시 입력한 작업 이름작업 유형
: 콘텐츠 보안 옵션에 따른 작업 유형(워터마크, DRM)콘텐츠 ID
: 작업 생성 시 입력한 콘텐츠 ID상태
: ‘대기 중’, ‘진행 중’, ‘성공’, ‘실패’, ‘중지’스트리밍 형식
: DASH/HLS 또는 DASH, HLS, CMAF 스트리밍 형식생성일
: 작업 등록/생성 날짜 및 시간(UTC)완료일
: 작업 완료 날짜 및 시간(UTC). 작업이 진행 중이거나 대기 중인 경우 비어 있습니다.상세 정보
: 작업의 세부 정보를 제공합니다.
상세 정보 페이지
작업 이력 목록에서 특정 항목의 작업 이름을 클릭하면 다음과 같은 상세 정보를 확인할 수 있습니다.
코덱 및 해상도와 같은 출력 세부 정보를 보려면 출력
탭을 클릭합니다.
AWS SNS를 이용한 작업 알림기능 설정
TNP 서비스는 AWS SNS를 이용한 작업상태 알림을 지원합니다. 아래 설명은 AWS SNS로 lambda에게 알림을 전달하는 예시입니다. 작업 알림을 설정하는 단계는 다음과 같습니다.
Step 1: AWS 설정
- AWS 콘솔에 로그인 합니다
- SNS로 이동합니다.
- Topic을 생성합니다. (Amazon SNS > topic > Create Topic > Select Standard option)
- ARN과 Topic 이름을 기록합니다
- lambda를 생성합니다.
- lambda가 생성되면 lambda의 ARN을 기록합니다.
- lambda에 샘플 코드를 추가합니다.
export const handler = async (event) => {
console.log("!!!$$!======Event Received=====$$!!!")
console.log('Received event:', JSON.stringify(event, null, 2));
console.log("==============END============")
};
- SNS 토픽 페이지로 돌아가서 구독생성을 클릭합니다.
- 프로토콜을 AWS lambda로 입력합니다.
- 6번에서 기록한 lambda의 ARN을 입력합니다.
- 구독을 생성합니다.
- 구독이 생성되면 람다에서 연결을 확인합니다.
- Pallycon에서 설정할때 필요한 SNS 항목의 ARN을 복사합니다. AWS SNS에 대한 보다 자세한 내용은 해당 페이지를 참고하세요: https://docs.aws.amazon.com/sns/latest/dg/welcome.html
Step 2: SNS setup on PallyCon console
- PallyCon 콘솔에서 로그인합니다.
- 트랜스코딩 및 패키징->알림 설정 탭으로 이동합니다.
- 등록 버튼을 클릭하여 새 알림을 만듭니다.
- 알림 등록 페이지에서 세부 정보를 입력합니다.
알림 이름
: 알림 이름을 입력합니다.알림 유형
: SNS로 설정되어 있으며, 수정이 불가능합니다. (추후에 다른 유형 업데이트).알림 상태
: 알림 받을 상태를 선택합니다.알림 인증 정보
:
AWS URL 엔드포인트
: AWS SNS 알람을 받을 엔드포인트 URL을 입력하세요.AWS 엑세스 키
: AWS access key를 입력하세요.AWS 비밀 엑세스키
: AWS secret key를 입력하세요.설정 테스트
: 설정 테스트 버튼을 클릭하여 입력한 자격 증명과 세부정보가 올바른지 확인합니다.
등록
:
변경사항을 확인하려면 등록버튼을 클릭하고 취소하려면 이전 버튼을 클릭합니다.
작업 알림 삭제
삭제할 알림 아이디를 선택합니다.
삭제 버튼을 클릭합니다.
등록되어있는 작업 알림 수정
- 수정하려고 하는 작업 알림 이름을 클릭합니다.
- 알림 정보와 알림 인증정보 옆에 위치한 수정 아이콘 (연필)을 클릭합니다
- 입력한 정보를 수정하고 확인하려면 체크 아이콘을 클릭 합니다.
- 변경사항을 취소하려면 x 아이콘을 클릭합니다.
수정이 완료되면 설정 테스트을 클릭하여 설정이 올바르게 변경되었는지 확인합니다. 다시 목록으로 돌아가려면 이전 버튼을 클릭 합니다.
팁과 요령
시작된 작업의 중지
작업을 중지하려면 작업 상태 및 기록
페이지에서 작업 ID를 클릭합니다. 그런 다음 중지
버튼을 클릭하여 작업을 중지합니다.
중지된 작업 재시작
중지된 작업은 세부 정보 페이지에서 다시 시작
버튼을 클릭하여 다시 시작할 수 있습니다.
작업 복제
여러 원본 콘텐츠에 대해 동일한 설정으로 작업을 생성하려는 경우, 최초 등록한 작업의 세부 정보 페이지에서 복제
버튼을 클릭하고 2/5단계에서 입출력 파일을 변경합니다. 이후 단계에서는 복제된 설정이 자동 적용되어 다음
버튼을 클릭하기만 하면 새로운 콘텐츠에 대한 작업을 생성할 수 있습니다.
다음 단계
T&P 작업이 완료된 DASH, HLS 또는 CMAF 콘텐츠를 클라이언트 기기에서 재생하려면, 적용된 보안 옵션에 따라 다음과 같은 가이드를 참고해 연동 작업을 진행해야 합니다.
- 멀티 DRM 적용 시: 라이선스 연동 가이드와 클라이언트 연동 가이드
- 포렌식 워터마킹 적용 시: 워터마크 임베딩 가이드