VP9 Asistance

Patrick Cusack patrickcusack at mac.com
Fri Feb 26 22:45:13 UTC 2021


I am using the webrtcbin janusvideoroom demo. I can successfully publish vp9 video to a janus video room. My expectation is that the following VP9 settings should give me a CBR encoding. ‘end-usage=1’ is CBR. I have a defined kreyframe rate. 

What I see is that on average, my bitrate oscillates around +/-25% of the target-bitrate which I understand as true CBR doesn’t exist. However, in scene changes where I go from black to regular content, the encoder bit rate goes up to almost twice the bitrate. The image freezes, because the encoder is sending a flurry of packets, and frames are then dropped (I don’t know if this is the encoder or janus). It is repeatable.  Even when I capture a static frame, the encoder output vacillates wildly - it goes as low as 1800 kbps to as high as 5500 kbps on a parked frame.

Any ideas on how to get a more conistent bitrate?

 ! vp9enc
    target-bitrate=2000000
    undershoot=5
    overshoot=5
    keyframe-max-dist=24
    keyframe-mode=0
    cpu-used=4
    end-usage=1
    tuning=ssim
    deadline=1
    error-resilient=1
    threads=-1
    lag-in-frames=0

Patrick


More information about the gstreamer-devel mailing list