본문 바로가기

Media Services/MediaConvert

AWS Elemental MediaConevert

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 지원

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

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

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

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

ETS 비용 참고

 

 

Amazon Elastic Transcoder 요금 – Amazon Web Services

Amazon Elastic Transcoder 테스트를 지원하기 위해 매월 무료 사용 티어를 제공합니다. 무료 사용 티어는 매월 20분의 무료 오디오 전용 출력, 매월 20분의 무료 SD출력, 그리고 매월 10분의 무료 HD 출력으로 구성됩니다. 프리 티어 내의 시간(분)을 초과하면 우선 적용되는 요금에 따라 청구됩니다. 프리 티어를 사용하더라도 출력 콘텐츠에 워터마크가 추가되거나 서비스의 기능이 제한되지 않으므로 기능을 충분히 확인할 수 있습니다. 자세

aws.amazon.com

 

MediaConvert 비용 참고

 

MediaConvert 요금

AVC 코덱 MPEG-2 코덱 HEVC 코덱 Apple ProRes 코덱

aws.amazon.com

- 따라서 VOD에 대한 트랜스코딩이라면 먼저 MediaConvert를 고려하고, WebM 비디오/MP3 오디오/GIF 파일 생성/KMS(암호화) 기능이 필요하다면 Elastic Transcoder 사용을 권장. 그러나 AWS에서는 MediaConvert를 계속 업데이트 할 것으로 보임

 

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.mp4)

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에 키프레임을 추가시켜주는 옵션이라는데 정확한 내용은 설명되어 있지 않음....)

 

JobTemplates name - AWS Elemental MediaConvert API Reference

 

docs.aws.amazon.com

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초)

(Minimum Segment Length 옵션은 그냥 0으로 사용해도 될 듯)

 

 

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

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

 

AWS SDK를 사용할 경우 End-point를 환경 변수로 넣어줘야 한다.

 

Getting Started with AWS Elemental MediaConvert Using the AWS SDKs or the AWS CLI - AWS Elemental MediaConvert API Refe

The AWS Documentation website is getting a new look! Try it now and let us know what you think. Switch to the new look >> You can return to the original look by selecting English in the language selector above. Getting Started with AWS Elemental MediaConve

docs.aws.amazon.com

 

Lambda를 통한 자동화 참고

 

 

aws-samples/aws-media-services-simple-vod-workflow

Lab that covers video conversion workflow for Video On Demand using AWS MediaConvert. - aws-samples/aws-media-services-simple-vod-workflow

github.com

 

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

참고

 

팰리컨 | 콘텐츠 보안 솔루션 - 멀티DRM & 포렌식 워터마킹

팰리컨은 국내 콘텐츠 보안 솔루션 제공 서비스의 리더 입니다. Google Widevine, Microsoft Playready, OTT, Apple Fairplay 등의 다양한 플랫폼 지원이 가능한 클라우드 기반의 콘텐츠 보안 서비스 입니다.

pallycon.com

참고

 

PallyCon 가이드 :: PallyCon Docs

PallyCon 멀티DRM PallyCon 멀티DRM 서비스는 다양한 클라이언트 환경에서 멀티미디어 콘텐츠를 보호할 수 있도록 PlayReady, Widevine, FairPlay, NCG DRM 등 멀티DRM에 대한 라이선스 발급과 클라이언트 연동 솔루션을 제공합니다. 바로 가기

pallycon.com

 

트러블슈팅

1. 타임코드

MediaConvert에서는 PIC_TIMING_SEI 형식의 타임코드 'HH:MM:SS:FF'를 사용한다.

만약 원본 영상 소스 타임코드 형식이 PTS(Presentation Time Stamp) 방식이라면 문제가 발생될 수 있다.

 

따라서 그럴 경우 임베디드(Embedded)가 아닌 Start from 0 의 값으로 수정하면 해결된다.

 

 

https://docs.aws.amazon.com/ko_kr/mediaconvert/latest/ug/timecode-input.html

입력 타임코드 소스를 사용하여 입력 타임라인 조정

docs.aws.amazon.com

 

 

https://docs.aws.amazon.com/ko_kr/mediaconvert/latest/ug/timecode-jobconfig.html

작업 전체 타임코드 구성을 사용하여 출력 타임라인 조정

docs.aws.amazon.com

2. 프레임 레이트

또한 Variable Frame Rates(VFS)의 경우 MP4, MOV 컨테이너만 지원하기 때문에 이외 컨테이너는 Constant Frame Rate(CFR)로 변경 후 진행해야 한다.

 

3. iOS13

iOS 13버전의 경우 서브 메니페스트에도 아래와 같이 meta 구별 태그가 포함되어야 어댑티브(Adaptive) 재생이 가능하다.

 

#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:9.97667,

 

이 경우는 MediaConvert 설정을 아래와 같이 해주면 해결된다.

그래도 안 되면 Case Open ㄱㄱ...ㅜㅜ

 

4. 표준이 아닌 인코딩 영상들

각 컨텐츠 제공사의 인코딩 방식에 따라서도 에러가 발생되는 경우가 있다. 그럴 경우 케이스오픈  ㄱㄱ...

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

AWS MediaConvert(S3 event lambda)  (0) 2019.10.21