This Friday, October 27, 2017, the Kranky Geek team will be hosting for the 4th consecutive year our #webrtc event at Google San...
4k video and WebRTC
Is 4K video viable for a WebRTC web application?Chris Koehncke
A number of folks have contacted me asking about using 4K and WebRTC. Vendors of various equipment/services have shown up touting how they support 4K video. Good for them. But let me stop the madness.
Does WebRTC support 4k video? The short answer is yes (the desktop version of Chrome at least supports a GetUser media request for 4k video). It is practical to consider? No.
4k video has a resolution of 4096 x 2160 (or 3840 × 2160). To stream 4k video you need an Internet connection of at least 15 Mbps and preferably 20 Mbps to support a frame rate 30 fps. For a video conference, you’ll need an Internet connection that runs bi-directionally at this speed for long periods of time over a long haul connection. It gets worse for multiple party. So you got a fancy high speed Internet connection?
Odds are in my favor that you don’t.
In practice, few of us have this capability. For last-mile Internet Connections, the downstream link generally has the fastest continuous connectivity, but your uplink speed is typically less. ISPs also oversubscribe capacity, which means your speed will vary depending on how they’re feeling at the moment.
My own Google Internet service has 100 Mbps of service, in practice, it rarely runs greater than 10 Mbps for any periods of time. Sure it can sprint to 40 Mbps but not for long. So the weakness link model applies. Netflix is trying to stream 4k video but this obviously also needs a 20 Mbps downlink but unlike real-time video, Netflix can buffer to smooth out the edges and only needs to send 1-way. Real time video doesn’t have this luxury.
Another obstacle is your Ethernet NIC or WiFi. These may simply run out of steam trying to saturate the network connection with 30-40 Mbps of constant bit rate traffic. Remember you’re on consumer grade equipment where cheap rules.
Can you run 4k video over WebRTC? Yes, Virginia, it can. Indeed a number of people have experimented with this and it does work. Though they were experiments and everyone was on the same LAN. Is it practical to consider 4k WebRTC video for real production use on the public Internet? No.
Over time Internet access speeds will increase and no doubt we’ll be running things faster and perhaps 4k conferencing calling will become a reality for all. But it’s not today.
If you’re looking at doing WebRTC video, here’s an approximation of how much bandwidth you will need per stream:
|VGA (640x480)||500k-1 Mbps|
You can upscale a QVGA to full screen, but it won’t look good and similarly you can downscale 1080p to a tiny box, in which case you used excessive bandwidth and it didn’t look any better..
In summary, 4k for WebRTC is marketing hype at least for the moment. Will higher quality eventually rule the day? Perhaps. But faster isn’t always better and 100 years later we’re still driving 55 MPH.