목차

encodings 조정

encodings 배열은 비디오 품질 계층을 정의합니다. 각 계층의 maxBitrate를 조정해 서버 및 네트워크 부하를 줄이고 클라이언트 성능에 따라 적합한 품질을 선택해야합니다.

const PRODUCER_OPTIONS: ProducerOptions = {
  encodings: [
    {
      rid: 'r0', // 저해상도 계층 (모든 유저가 처리 가능)
      maxBitrate: 50000, // 50kbps
      scalabilityMode: 'S1T3',
    },
    {
      rid: 'r1', // 중간 해상도 계층 (중간 사양 유저용)
      maxBitrate: 150000, // 150kbps
      scalabilityMode: 'S1T3',
    },
  ],
  codecOptions: {
    videoGoogleStartBitrate: 300, // 초기 비트레이트를 낮춰 대역폭 점유 감소
  },
};

scalabilityMode

scalabilityMode는 단일 스트림에 대해 여러 레이어를 인코딩하여 네트워크 상황에 따라 선택적으로 레이어를 활성화하거나 비활성화할 수 있는 기능을 제공합니다. 하나의 스트림을 기반으로 여러 품질 레벨을 제공하며, 네트워크 상황에 맞게 적절한 레이어만 전송할 수 있습니다.

공간 계층 (Spatial Layer, Simulcast)

시간 계층 (Temporal Layer, Temporal Scalability)