피드로 돌아가기
Two-pass loudness normalization with FFmpeg loudnorm (the right way)
Dev.toDev.to
Infrastructure

Two-pass loudnorm 도입을 통한 VOD 오디오 일관성 확보 및 Dynamic Pumping 제거

Two-pass loudness normalization with FFmpeg loudnorm (the right way)

Mason K2026년 6월 3일7intermediate

Context

단일 패스(Single-pass) loudnorm 적용 시 실시간 동적 압축으로 인한 오디오 펌핑 현상 발생. Peak Normalization으로는 인지한 소리 크기(Perceived Loudness)의 불일치를 해결할 수 없는 한계 존재.

Technical Solution

  • EBU R128 표준 기반의 Two-pass 처리 구조를 통한 Linear Gain 적용 설계
  • Pass 1에서 JSON 포맷으로 Integrated Loudness, True Peak, LRA 등 정량적 메트릭 측정
  • Pass 2에서 측정된 값을 measured_I, measured_TP 등에 주입하고 linear=true 설정을 통해 일관된 이득값 적용
  • 내부 192kHz 리샘플링으로 인한 의도치 않은 출력 방지를 위해 -ar 48000으로 Sample Rate 고정
  • ABR(Adaptive Bitrate) 래더 구축 시 오디오를 1회만 정규화한 후 각 비디오 렌디션에 Muxing 하는 파이프라인 최적화
  • -70 LUFS 이하의 저소음 입력값에 대한 증폭 제외 로직을 통한 Noise Floor 부스팅 방지

1. VOD 처리 시 Single-pass loudnorm 사용 금지

2. Pass 1 결과(JSON)를 Pass 2의 파라미터로 정확히 매핑하는 자동화 스크립트 구현

3. 출력 파일의 Sample Rate(-ar) 명시적 지정 확인

4. ABR 래더 구성 시 '1회 정규화 후 다중 Muxing' 전략으로 연산 비용 절감

원문 읽기