Inefficient Simulcast detected
outboundvideo
The encoder implementation is using multiple singlecast encoders which is less efficient than using a single libvpx encoder for simulcasting.
Description
When using simulcast in WebRTC, the browser can implement it in different ways. The most efficient approach is to use a single libvpx encoder that can handle multiple simulcast layers simultaneously. However, when the resolution of the different layers doesn't follow a strict 4:2:1 ratio, this requires several libvpx encoders to handle each stream separately.
This adapter approach is less efficient because:
- It requires multiple encoder instances instead of one
- It increases CPU usage and memory consumption
- It may introduce additional latency in the encoding pipeline
What do we do here?
We check the encoderImplementation property in the outbound video RTP statistics. When we detect that the encoder implementation is set to "SimulcastEncoderAdapter", we mark this as an observation.