#Backend

넷플릭스의 카메라 파일 처리 확장 전략

넷플릭스의 카메라 파일 처리 확장 전략
01

Summary

넷플릭스가 수만 개의 카메라 파일을 클라우드에서 요리하는 법: MPS와 FilmLight의 만남

창작자에게 더 많은 시간을, 기술팀에는 더 높은 신뢰를 선사하는 클라우드 네이티브 미디어 팩토리 구축기

넷플릭스는 전 세계 제작 현장에서 쏟아지는 방대한 미디어 데이터를 효율적으로 관리하기 위해 독자적인 미디어 제작 스위트(MPS)를 구축했습니다. 업계 표준인 FilmLight의 기술력을 클라우드 인프라에 결합하여 메타데이터 추출부터 VFX 워크플로우까지 자동화함으로써, 기술적 복잡성을 줄이고 창의적인 협업에 집중할 수 있는 환경을 조성한 사례를 소개합니다.

  • 01FilmLight API(FLAPI)를 활용한 업계 최고 수준의 이미지 프로세싱 엔진 내재화
  • 02서버리스 Docker 컨테이너 기반으로 CPU 인스턴스에서 구동되는 탄력적 컴퓨팅 환경 구현
  • 03메타데이터 파싱 및 정규화를 통해 수천 개의 파일을 검색 가능하고 재사용 가능한 데이터로 변환
  • 04ACES 및 ASC FDL 등 개방형 표준을 준수하여 제작-포스트-VFX 간의 매끄러운 컬러 파이프라인 유지
  • 05Cosmos 플랫폼의 확장성을 활용해 수천 개의 병렬 렌더링 작업을 처리하는 클라우드 팩토리 모델

RECOMMENDATION

대규모 미디어 자산을 다루거나 복잡한 데이터 파이프라인을 운영하는 엔지니어들에게 추천합니다. 특히 고성능 하드웨어 중심의 기존 워크플로우를 어떻게 클라우드 네이티브 환경으로 성공적으로 이전할 수 있는지에 대한 훌륭한 청사진을 제시합니다.

The Problem

넷플릭스 제작 콘텐츠의 규모가 커지면서 수백 시간 분량의 카메라 원본 데이터와 테라바이트급 용량을 처리하는 과정에서 수동 작업으로 인한 오류, 비일관적인 미디어 핸들링, 비효율적인 파일 관리 문제가 발생했습니다.

The Solution

기존의 검증된 솔루션인 FilmLight API(FLAPI)를 넷플릭스의 미디어 제작 스위트(MPS)와 통합하고, 이를 서버리스 함수 형태의 Docker 이미지로 패키징하여 자사 Cosmos 컴퓨팅 플랫폼 위에서 구동하는 클라우드 기반 미디어 처리 엔진을 구축했습니다.

The Result

CPU 전용 인스턴스를 활용한 대규모 병렬 처리를 통해 '스파이키'한 제작 수요에 탄력적으로 대응할 수 있게 되었으며, 전 세계 제작 현장에서 일관된 컬러 과학 및 메타데이터 표준을 유지하며 VFX 플레이트 생성 시간을 단축했습니다.

Trade-off

클라우드 가용성을 극대화하기 위해 GPU 대신 CPU 인스턴스를 선택함으로써 단일 작업의 처리 속도보다는 수천 개의 작업을 동시 처리하는 병렬성에 집중했으며, 이는 특수한 GPU 가속 기능이 필요한 일부 워크로드에 제한이 있을 수 있음을 시사합니다.

03

Key Concepts

Concept · 01

Media Production Suite (MPS)

넷플릭스 제작 현장의 반복적인 작업을 자동화하고 워크플로우를 표준화하기 위해 구축된 도구 및 서비스 에코시스템입니다.

  • 카메라 원본 파일의 검사, 트리밍, 트랜스코딩 작업의 중추 역할을 수행함
  • 전 세계 제작진이 창의적인 작업에 집중할 수 있도록 파일 관리 부담을 제거함
Concept · 02

FilmLight API (FLAPI)

업계 표준 컬러 그레이딩 시스템인 Baselight와 Daylight의 미디어 처리 엔진을 백엔드 API 형태로 노출한 인터페이스입니다.

  • 넷플릭스 MPS 내에서 카메라 메타데이터 파싱 및 이미지 데베이어링(Debayering) 핵심 엔진으로 활용됨
  • 서버리스 환경에서 구동될 수 있도록 Linux Docker 이미지로 패키징되어 사용됨
Concept · 03

Netflix Cosmos

넷플릭스의 미디어 마이크로서비스를 위한 컴퓨팅 플랫폼으로, 복잡한 워크플로우 오케스트레이션과 확장성을 지원합니다.

  • Stratum Functions를 통해 개별 클립 단위의 병렬 처리 및 자원 할당을 자동화함
  • 상태 비저장(Stateless) 방식으로 운영되어 클라우드 환경에서의 운영 안정성을 확보함