메타가 FFmpeg을 요리하는 기술: AI 모델보다 중요한 데이터 파이프
페이스북이나 인스타그램에서 고화질 영상을 끊김 없이 볼 수 있는 비결, 궁금하지 않으셨나요? 오늘은 논문 대신 블로그를 하나 소개할까 해요. 최근 메타(Meta) 엔지니어링 블로그에 올라온 "FFmpeg at Meta: Media Processing at Scale" 글은 우리가 매일 즐기는 영상 뒤에 숨겨진 거대한 기술적 여정을 소개하고 있습니다.
먼저 FFmpeg이 무엇인지 알아야 합니다. FFmpeg은 영상의 포맷을 바꾸고, 편집하고, 압축하는 등 영상 처리에 필요한 거의 모든 기능을 갖춘 '오픈 소스 소프트웨어'입니다. 메타는 이 도구를 사용해 매일 수십억 건의 영상 분석과 10억 건 이상의 업로드를 처리하고 있죠.
메타는 워낙 처리해야 할 영상이 많다 보니, 표준 FFmpeg만으로는 부족했습니다. 그래서 수년 동안 자신들만의 기능을 추가한 내부 수정 버전(Fork)을 따로 만들어 사용해 왔습니다.
하지만 기술이 발전하면서 표준 버전과 메타 버전의 차이가 너무 커졌고, 새로운 기능을 업데이트하기가 점점 힘들어졌죠. 그래서 메타는 결단을 내립니다. 우리가 만든 기능을 아예 오픈 소스(표준 버전)에 기여해서 합쳐버리자!
메타는 FFmpeg 커뮤니티와 협력하여 다음 두 가지 혁신을 표준 버전에 녹여냈습니다.
멀티 레인 인코딩: 한 번에 여러 개 만들기
우리가 영상을 올리면 인스타그램은 네트워크 상태에 따라 고화질부터 저화질까지 여러 버전을 만듭니다. 예전에는 이걸 하나씩 순서대로 만들거나 따로 처리해서 시간이 오래 걸렸지만, 이제는 한 번의 처리 과정에서 여러 해상도의 결과물을 동시에 뽑아내는 방식을 표준화했습니다.
실시간 화질 측정: 지금 방송 잘 나가고 있나?
라이브 방송의 경우, 영상이 압축되면서 화질이 얼마나 나빠졌는지 실시간으로 확인하는 것이 매우 중요합니다. 메타는 인코딩 과정 중간에 화질 점수(VMAF 등)를 즉시 계산하는 기술을 FFmpeg 표준에 탑재했습니다. 덕분에 라이브 방송 중에도 화질 저하를 즉시 감지할 수 있게 되었죠.
메타는 영상 처리를 더 효율적으로 하기 위해 직접 설계한 반도체인 MSVP(Meta Scalable Video Processor)를 사용합니다. 이 칩이 표준 FFmpeg 명령어와도 잘 맞물려 돌아가도록 설계를 최적화하여, 소프트웨어와 하드웨어가 찰떡궁합을 자랑하게 만들었습니다.
메타는 자신들만의 '비밀 레시피'를 꽁꽁 숨겨두는 대신, 전 세계 개발자들이 쓰는 표준 도구(FFmpeg)에 직접 기여함으로써 기술 생태계를 발전시키는 동시에 자신들의 운영 효율성도 높였습니다.
결국 우리가 인스타그램에서 릴스를 부드럽게 감상할 수 있는 이유는, 수만 명의 오픈 소스 개발자들과 메타 엔지니어들이 힘을 합쳐 FFmpeg이라는 도구를 전설적인 수준으로 갈고닦았기 때문이라고 할 수 있습니다!