Meta가 Messenger와 WhatsApp의 실시간 영상 통화(RTC)에 AV1 코덱을 적용한 다년간의 엔지니어링 여정을 다룬다. 저사양·중급 기기에서 H.264/AVC 대비 최소 20% 비트레이트 절감을 달성했고, 현재 Meta RTC 모바일 기기의 대다수에 AV1이 적용됐다.
핵심 포인트- AV1은 H.264/AVC 대비 저사양/중급 기기에서 20% 이상 비트레이트를 절감하지만, Pixel 8 기준 오픈소스 AV1 인코더가 H.264 대비 전력 소비를 14% 증가시킨다.
- ML 기반 기기 적격성 프레임워크(V1.1, V2 두 세대)로 정적 스펙 대신 실제 성능 데이터를 분석해 AV1 지원 기기 범위를 단계적으로 확대했다.
- 비대칭 코덱 설계: 중급 기기는 H.264로 인코딩하고 AV1로 디코딩해 인코딩 부하를 줄이는 전략을 채택했다.
- RTC 목표 지연: 300ms 미만. VBV(Video Buffering Verifier) 딜레이 임계값 200ms 미만으로 비트레이트 스파이크를 막아 화면 멈춤을 방지한다.
- 패킷 손실 복원: Temporal Layers(2계층 구조)로 기본 계층 연속성 유지, LTR(Long-Term Reference) 프레임으로 고속 복구 가능.
상세 정리- 배경: 대역폭이 제한된 네트워크에서 통화 품질 향상 목표. H.264 대비 AV1의 효율성은 높지만 인코딩 복잡도가 문제.
- 저복잡도 인코더 프리셋: H.264/AVC 수준의 연산량에 맞춘 저복잡도 인코더 프리셋 채택. 인코딩 지연 모니터링 기반 프리셋 동적 조정.
- 기기 적격성 ML 모델: V1.1(2025년 8월)과 V2(2단계 차별화)로 두 번의 세대 개선. 정적 기기 스펙 대신 실제 성능 데이터로 판정해 지원 범위를 현실적으로 확대.
- 바이너리 크기: AV1 추가로 약 600KB 증가(압축 기준). 정량화 매트릭스 도구로 약 60KB 절감, dav1d 디코더 프로젝트 기여로 추가 최적화.
- dav1d 선택: 대안 대비 A/B 테스트에서 전력 효율과 신뢰성이 우수해 디코더로 선택. 통화 시간 개선 확인.
- VBV Rate Control: 비트레이트 스파이크 방지를 위한 VBV 딜레이 200ms 임계값 모니터링. 키프레임 품질 부스트를 줄여 일관된 비트레이트 유지.
- Temporal Layers(TL): 2계층 구조로 기본 계층은 패킷 손실에도 연속성 유지, 향상 계층은 고품질 제공. 높은 손실 상황에서 적응적 활성화.
- LTR(Long-Term Reference) 프레임: 저장된 레퍼런스를 통해 LTRP 예측으로 빠른 복구. 독자적인 RTP 헤더 확장으로 조율.
- 향후 과제: 그룹 통화로 확대, 기기 티어 전반에 AV1 하드웨어 가속 채택 독려.
왜 읽나실시간 영상 통화(RTC) 시스템에서 차세대 코덱 도입 전략, 기기 이질성 처리, 대역폭/전력/지연 트레이드오프를 실제 수억 사용자 규모로 경험한 Meta의 엔지니어링 판단을 참고하고 싶은 미디어/네트워크 엔지니어에게.