WebRTC Video Quality: Bitrate, Resolution, and Frame Rates – Part 2
Video is an essential part of online communication and the success of a video call depends on the media quality. Real-time video streaming is difficult but WebRTC makes it a cakewalk.
Three factors affect video quality. Categorized as – Out of our control, Service-related, and Device-related. We discussed these three in detail in the first part of the article. Moving on to touch base on other important things concerning media quality.
Read part 1
Bitrate, Resolution, and Frame Rates are the three pillars of WebRTC video quality. You can tweak and work with them for better results. This is what you have at your disposal dynamically in real-time in the middle of a session.
Establishing some facts – bitrate is a more important aspect. The other two (frame rate and resolution) are dependent on one another. A change in one forces a change in the other to keep the image quality. The bitrate increase or decrease can cause a change in both frame rate and resolution.
Start with the bitrate
Developers usually start tweaking frame rates or resolutions. This is reasonable at times, but fundamentally, it is the wrong place to begin.
Start with the bitrate in WebRTC. Figure out and understand how much bitrate is there in the budget. Then decide on allocation. For instance:
- Full HD quality with a budget of 300kbps in the bitrate isn’t doable. Stay clear of such expectations.
- In case you have 800kbps, you’ll need to decide whether to invest in resolution or frame rate.
Tip: Start with bitrate and then figure out the constraints of resolution and frame rate based on CPU, devices, screen resolution, content type, etc. Resolution and frame rate will follow.
The right course of action here would be to “hint” WebRTC on the type of content you have and let WebRTC figure out everything. It is good at that else why would be the point of using it in the first place?
What is left would be choosing between resolution and frame rate…
Once you have the bitrate sorted – should you go for a higher resolution or a higher frame rate? For that, here are a few guidelines:
- For a slide deck or similar static content aim for higher resolution and a lower frame rate.
- In WebRTC, go for VBR instead of the default CBR.
- In the talking-heads domain, a higher frame rate is the better option. 30fps is the aim, but if the bitrate is low, you will need to lower the frame rate as well.
- For generic video content from YouTube and more, the frame rate is more important than resolution.
- Want to show 9 or more participants on the screen? Lower the frame rate to 15fps and make sure video resolution is not higher than what you’re displaying.
- Aim for resolution and sacrifice on frame rate to sharpen the quality of the content shared.
Know WebRTC better
Most of the vendors working with WebRTC do not have enough understanding of WebRTC video quality. Not knowing what is considered good media quality and wrong assumptions or bad optimizations can backfire. If you want to use WebRTC or are already using it, then you must know it better.
If you want ready-made support in regards to WebRTC, RTCWeb.in is here with impeccable WebRTC services. Right from complete WebRTC development to additional WebRTC support, we got you all covered. Contact RTCWeb.in here!