본문 바로가기

소프트웨어 이야기/아키텍처

동영상 플랫폼 이해하기 (2) - AWS MediaConvert

AWS 미디어 컨버트란?

파일기반 콘텐츠를 여러 디바이스에 송출할 할 수 있도록 파일을 변환해주는 프로그램이다. 

 

File based Transcoding이란?

영상 콘텐츠 파일에 영상 변환과 압축, 패키징, 접근 권한 제어를 수행한다. 

 

영상 변환

  • 영상 파일의 해상도를 낮춰서 파일을 압축하거나, 파일을 여러개로 분할해주는 역할을 수행한다.
  • Adative Streaming을 위하여, 네트워크 대역폭별로 내려줄 영상 파일을 지정할 수 있다.
  • 영상의 썸네일 이미지를 추출할 수 있다. 
  • 영상 음성 파일을 추출해준다.
  • 영상 파일 포맷을 변환해준다.
    • 예를 들어, m2ts 포맷 영상 파일을 hsl, mp4 파일으로 변환해준다.

패키징

디바이스 유형별로 지원해야하는 영상 포맷과 메타 데이터를 패키징해준다. 

여러 디바이스 타입에서 영상파일을 사용할 수 있도록 영상 파일을 패키징을 한다.

 

접근 

  • 파일의 접근 권한을 제한하는 DRM 솔루션을 적용할 수도 있다. 

 

AWS Media Convert를 사용하는 이유

  1. AWS의 완전관리형 클라우드 솔루션의 장점 때문에 사용한다. 

    • 서비스 운영을 AWS에서 해주기 때문에 관리 비용을 줄일 수 있다. 

    • File Transcoding 기술에 대한 진입장벽이 낮아진다.

      • File Transcoding 기반지식과 프로그램 설정에 대해 DeepDive를 하지 않아도 된다.

      • AWS Media Convert 사용방법만 알면 된다.

    • 서비스를 쉽게 확장할 수 있다. 

    • 비용 예측을 쉽게 할 수 있다.

  2. 즉, File Transcoding 기능을 쉽게 도입하고, 유지보수할 수 있다는 게 장점이다. 

 

AWS Media Convert 플로우 

스튜디오 영상 관리 플로우

영상 제작자가 만든 고화질 영상 원본 파일이 영상 소비자에게 전달되는 플로우는 다음과 같다. 

 

원본 영상을 S3에 업로드를 하고, CMS 툴을 활용하여 Aws Mediaconvert에서 파일 변환 작업을 수행한다. 

이 때, 영상 보안 설정 / 영상 압축 / 오디오 파일 분리 등의 작업들이 수행된다.

 

이렇게 변환된 파일은 다시 S3에 저장된다.

그리고 이 영상은 유료 TV 방송 채널 혹은 OTT (인터넷 TV 서비스)으로 송출된다. 

 

인터넷 영상 제공 플로우  

일반적인 인터넷 서비스에서 영상을 업로드하고, 송출하는 플로우는 다음과 같다.

영상을 S3에 업로드하면, 이 이벤트가 트리거가 되어 AWS lambda가 AWS Mediaconvert를 실행한다.

이렇게 변환된 데이터는 S3에 저장되고, Cloud Front에 캐싱되어 여러 디바이스에 송출된다. 

 

 

AWS Media Convert JOB 구성요소 

 

 

AWS Mediaconvert에서 File Transcoding을 실제로 수행하는 작업을 JOB이라고 부른다. 

INPUT은 원본 리소스를 의미하며, OUTPUT은 변환된 파일을 의미한다.

OUTPUT 결과는 여러개의 그룹으로 묶어서 지정할 수 있다.

위의 그림은 원본 리소스를 HLS 그룹과 DASH그룹으로 나눠서 변환하는 케이스를 의미한다. 

각 그룹 안에서 원하는 해상도와 Adaptive Streaming을 위한 대역폭 설정등을 할 수 있다. 

 

 

참고

https://www.aws.training/Details/Video?id=23285

https://aws.amazon.com/ko/mediaconvert/getting-started/

https://www.qwiklabs.com/focuses/3570?parent=catalog&search_id=1930990