Search code examples
webrtclatencyrtcmulticonnection

WebRTC settings for Low Latency


i searched already in Stack Overflow, but i was not able to get the Answer i searched for. I am currently developing a Remote Control App with WebRTC.

I played around with the WebRTC Settings. Like Resolution, Bitrate, Codec. But after a bit of trying, my experience was that it works best when i leave the default Settings.

I want to ask what the best Settings are for the lowest Latency possible. The Quality is not really important. The Resolution could also be changed.

i have the following Settings in Mind:

videoConstraints 
frameRate
bitrate
codec

Solution

  • WebRTC is optimized for low latency by itself, because it's targeted for conferencing applications, so - yes - you could just use default settings. WebRTC will automatically decrease quality in favor of lowest latency - you don't need to worry about it.

    Here, however, are few pointers from my experience:

    • VP8 codec has lower latency than H264.
    • Framerate should be 25-30 fps, not lower (if you try 10-15 fps then you can see higher latency).
    • Use moderate frame sizes and bitrates (like 800x600 or 640x480 and 800-1000 kbps), because a. Encoding large frame sizes like HD takes a lot of CPU and may overload it, resulting in increasing latency; b. High bitrate can slow things down if your bandwidth is not sufficient.