이두잉의 AWS 세상

AWS Elemental MediaConevert

2018.05.14 18:29 - leedoing leedoing

1. 개요

VOD 컨텐츠에 대한 AWS의 Media 트랜스코더(Live는 MediaLive)


2. 기능

브로드캐스트

- 오버레이, 콘텐츠 보호(DRM), 다국어 오디오, 자막, 광고(SCTE-35) 등 여러 옵션 존재

입출력

- MPEG-2/HEVC 코덱 지원, 색상 샘플링(Color Space), Adaptive packaging(HLS, DASH ISO), 4K Resoultion, HDR

자동화

- API를 통해 자동화가 가능하며, Managed Service(확장/축소, 장애처리, 최적화, 모니터링 등)

안정성

- AZ를 통해 이중화 되어있음


3. Elastic Transcoder(ETS)와 차이점

- Elastic Transcoder는 브로드캐스트 기능이 없음. Video, Audio에 대한 스트림 Preset / Water mark를 제공

- MediaConver의 경우 ETS 없는 오버레이, DRM, 다국어 오디오, 자막, 광고(SCTE-35) 등 추가적인 옵션 및 HEVC 지원

- 따라서 VOD에 대한 트랜스코딩이라면 먼저 Convert를 고려. 그러나 WebM 비디오, MP3 오디오, GIF 파일 생성, KMS(암호화)의 기능이 필요하다면 Elastic Transcoder 사용 권장

- ETS와 MediaConvert 모두 출력 영상 길이에 따라 비용이 발생

- MediaConvert는 베이직 티어와 고급 옵션을 지원하는 프로페셔널 티어가 있음

- 베이직 티어는 ETS와 같은 수준의 기능을 제공하며 비용은 ETS보다 저렴, 프로페셔널 티어는 ETS보다 약 두 배 이상 비쌈

  (ETS HD 기준 분당 $0.030, MediaConvert HD 기준(Frame 30 ~ 60) 분당 베이직 $0.0212, 프로페셔널 $0.068)

ETS 비용 참고: https://aws.amazon.com/ko/elastictranscoder/pricing/

MediaConvert 비용 참고: https://aws.amazon.com/ko/mediaconvert/pricing/


4. 테스트

아래와 같은 원본 4K의 고화질의 영상을 트랜스코딩 해보자(인터넷에 떠도는 LG UHD(HDR) 4K 데모 영상)

먼저 간단하게 원본을 SD, HD(AVC) 형태로 트랜스코딩 및 패킷타이징(HLS) 해보자


4-1. 영상을 S3에 업로드

4-2. IAM Role 생성

AWS Console -> IAM -> Role -> Create Role -> MediaConvert 선택 -> Next -> Next(자동적으로 필요한 Policy가 생성) -> Role 이름 입력

4-3. AWS Console -> MediaConvert -> Get started

4-4. Job

4-4-1. Inputs Add

Input 1: Input S3 버킷명 및 Path, File 명 입력(ex. s3://lee-etc/test.ts)

Video: Color Space 등 비디오 트랜스코딩 관련 설정

Audio: Audio 관련 옵션

4-4-2. Ouput groups Add

Apple HLS group settings -> Destination(ex. s3://lee-etc/HLS/) -> Segmented files(4, 2)

(Minimum Segment Length 설정은 필요에 따라 Segment에 키프레임을 추가시켜주는 옵션)

(https://docs.aws.amazon.com/ko_kr/mediaconvert/latest/apireference/jobtemplates-name.html)

Add output -> HD, SD(AVC)

Elastic Transcoder와 같이 Preset을 Custom하게 설정 가능


준비된 Preset을 통해 HD/SD를 구성


Ouput 1 -> Preset -> 1080p / Output 2 -> Preset -> 720p

4-4-3. Settings -> IAM role -> 기존에 생성한 MediaConvert Role 등록



4-5. 결과

4-5-1. 소요시간 2분 12초(영상 4K, 약 1분)

4-5.2. 기존 미디어 파일 정보(448MB, 1분 13초 영상)


4-5.3. HD, SD 청크 파일 정보(6MB, 6초 영상 / 3.8MB, 6초 영상)


Output S3 경로에는 아래와 같이 playlist 및 청크 파일이 저장(Segement length는 설정한 4초, 2초 합산된 6초)


*확인이 필요한 부분

Segement Legnth를 줄이기 위해 1로 설정하고, Minimum Segment Length는 0으로 하고 다시 트랜스코딩 했으나, Segement Legnth는 4초로 확인됨.. 이 부분은 AWS Case Open을 통해 확인이 필요함



간단한 테스트를 통해 MediaConvert를 확인해봤으며, 자동화는 Lambda API 호출로 EST와 같이 사용 가능하다.

오버레이, DRM, 자막, HEVC 등 고오급 옵션은 추후 테스트가 더 필요하다.


DRM의 경우, 이미 잉카 사의 Pallycon 멀티 DRM 솔루션(Widevine, FiairPlay 등) 연동이 가능하다고 한다.

참고: https://www.pallycon.com/?lang=ko

참고: https://docs.pallycon.com/ko/

'Media Services > MediaConvert' 카테고리의 다른 글

AWS Elemental MediaConevert  (0) 2018.05.14