AWS MediaConvert를 사용한 서버리스 비디오 처리 파이프라인
비디오 플랫폼은 업로드가 적은 한가한 기간부터 수백 개의 동시 작업이 발생하는 피크 시간까지, 가변적인 인코딩 워크로드를 처리할 수 있는 확장 가능하고 비용 효율적인 방법이 필요했습니다.
프로젝트 상담하기
과제
고정 용량 인코딩 인프라는 과도하게 프로비저닝(비용 소모적)되거나 불충분하게 프로비저닝(느림)되었습니다.
- 인코딩 워크로드는 변동성이 매우 크고 예측 불가능했습니다.
- 콘텐츠 출시 기간 동안 피크 기간에는 평소 대비 100배의 볼륨을 보일 수 있었습니다.
- 전용 인코딩 서버를 24시간 연중무휴로 운영하는 것은 한가한 기간 동안 비용이 많이 들었습니다.
- 작업 실패 시 수동 개입 없이 자동 감지 및 재시도가 필요했습니다.
우리의 솔루션
우리는 유연하고 사용량 기반의 비디오 처리를 위해 AWS Lambda 트리거와 AWS MediaConvert를 사용하는 서버리스 인코딩 파이프라인을 구현했습니다.
아키텍처
- 트리거: S3 업로드 이벤트를 모니터링하는 AWS Lambda 함수
- 인코딩: 파트너별 작업 템플릿이 적용된 AWS MediaConvert
- 메시징: 비동기 작업 상태 업데이트를 위한 ActiveMQ/STOMP
- 모니터링: 작업 진행 상황을 추적하는 NestJS 인코더 백엔드
- 스토리지: 입력/출력 애셋을 위한 AWS S3
파이프라인 흐름
- S3 이벤트 - 비디오 업로드 시 Lambda 함수 트리거
- 작업 구성 - Lambda가 파트너 프로필을 읽고 MediaConvert 작업 구성
- 제출 - 적절한 출력 설정으로 MediaConvert 작업 제출
- 진행 상황 추적 - STOMP 메시지가 인코더 백엔드로 상태 전달
- 완료 - 출력 애셋은 S3에 저장되고, 메타데이터는 MongoDB에 업데이트됨
- 오류 처리 - 실패한 작업은 지수 백오프(exponential backoff)로 재시도 대기열에 추가됨
주요 기능
- 유휴 비용 없음 - Lambda와 MediaConvert는 실제 사용량에 대해서만 요금 부과
- 탄력적 확장 - 1개에서 1000개 이상의 동시 인코딩 작업 처리
- 파트너 템플릿 - 파트너별 사전 구성된 MediaConvert 작업 템플릿
- 이벤트 기반 - S3 이벤트가 자동으로 인코딩 워크플로우를 트리거
- 포괄적인 모니터링 - 작업 상태, 기간 및 오류 추적
결과
기술 스택
caseStudyDetail.more 사례 연구
더 많은 기술 구현 사례를 살펴보세요
SCTE-35 마커 파싱 및 다중 플랫폼 플레이어 통합을 통한 클라이언트 측 광고 삽입(CSAI)
한 비디오 스트리밍 플랫폼은 웹, 모바일 및 커넥티드 TV 앱 전반에 걸쳐 Client-Side Ad Insertion (CSAI)을 구현해야 했습니다. 이는 서버 측 삽입으로는 제공할 수 없는, 클릭 가능한 오버레이, 컴패니언 배너, 건너뛰기 버튼 등 완전한 광고 상호작용 지원을 통해 개인화된 기기 수준의 광고 경험을 가능하게 합니다.
SCTE-35 광고 마커 신호 및 미디어 트레일러 삽입 파이프라인
한 스트리밍 미디어 회사는 라이브 및 VOD 스트림에 SCTE-35 광고 마커를 삽입하고, 프로모션 트레일러(pre-roll, mid-roll, post-roll)를 정확한 시점에 삽입할 수 있는 견고하고 자동화된 파이프라인이 필요했습니다. 이는 FAST 채널, 라이브 이벤트 및 주문형 콘텐츠 라이브러리 전반에 걸쳐 수익을 창출하기 위함이었습니다.
자주 묻는 질문
MicrocosmWorks는 Step Functions가 파이프라인을 오케스트레이션하는 세그먼트화된 처리 아키텍처를 설계했습니다. Lambda 함수는 원본 비디오를 세그먼트로 분할하고, AWS MediaConvert는 Lambda 타임아웃 제약 없이 실제 트랜스코딩을 처리하며, 최종 Lambda가 출력을 결합합니다. 이 하이브리드 접근 방식은 모든 길이의 비디오를 지원하면서 서버리스 비용 모델을 유지합니다.
MicrocosmWorks는 전용 EC2 인코딩 인스턴스를 실행하는 것과 비교하여 burtsy 비디오 처리 워크로드에서 70-85%의 비용 절감 효과를 측정했습니다. 서버리스 파이프라인은 유휴 상태일 때 비용이 전혀 발생하지 않으며, 피크 기간에는 수백 개의 동시 작업을 처리할 수 있도록 확장됩니다. AWS MediaConvert의 분당 요금제를 통해 최대 용량을 위한 프로비저닝 필요성이 제거됩니다.
MicrocosmWorks는 AWS Step Functions를 단계별 재시도 정책과 지수 백오프 방식으로 구성하여, 실패한 트랜스코딩 단계가 전체 파이프라인을 다시 시작하지 않고 자동으로 재시도되도록 보장합니다. 각 단계는 중간 결과물을 S3에 기록하므로, 복구는 원본 파일부터 재처리하는 대신 마지막으로 성공한 체크포인트부터 재개됩니다.
MicrocosmWorks는 중요한 Lambda 함수에 프로비저닝된 동시성과 MediaConvert 예약된 트랜스코딩 슬롯을 활용한 콜드 스타트 완화를 통해 준실시간 사용 사례에 맞게 파이프라인을 최적화했습니다. 라이브 워크플로우의 경우, 파이프라인은 업로드부터 전송까지 2-5분의 종단 간 지연 시간을 달성하며, 이는 클립 추출 및 하이라이트 배포에 적합합니다.
MicrocosmWorks는 시간당 $25~$45의 요율로 서버리스 비디오 인프라를 구축하며, Step Functions 오케스트레이션, S3 수명 주기 관리 및 모니터링을 포함하는 완전한 MediaConvert 기반 파이프라인은 일반적으로 250-400 개발 시간이 소요됩니다. 해당 아키텍처의 pay-per-use 모델은 고객이 실제 처리량에 비례하여 AWS 비용만 지불한다는 것을 의미합니다.