Kranky Geek 2020 was another conference that was held online this year due to COVID. And another remote conference that, despite that fact, exceeded our expectations. (Read more on Virtual Conferences and Networking in the Pandemic.)
Kranky Geek brings together real-time communication experts from around the globe to discuss the current state and the immediate future of the WebRTC ecosystem. While we missed traveling to a fun city like San Francisco as we did last year, this year turned out to be one of Kranky Geek’s best, and most attended, conferences to date. WebRTC is undoubtedly an in demand technology, and the record-breaking attendance for this year’s conference indicates how it has become even more popular over this past year.
Following the conference online was a slightly different experience. However, the organization, topics, and quality were excellent. It was equally exciting as any previous year and, I would add, more questions were asked than any year I have attended previously.
Scaling video calls
The day started with Li-tal Mashich, Engineering Manager at Facebook. Li-tal talked about how they handled new video scalability at Facebook and shared graphs that illustrated the record increases they saw in live video usage due to the pandemic:
Initially, due to these huge increases in usage every day, they had to add knobs to temporarily reduce quality in their infrastructure in order to handle the demand. Also, they shifted priorities and started to put more effort on optimization of audio and video to support larger rooms. For example, capping media streams that weren’t used.
Other improvements went toward battery consumption, mainly due to video decoding. They achieved this by making improvements to how they use H264 and adding keyframe control mechanisms.
Audio quality in fluctuating networks was also a high priority for Facebook. It was interesting to learn a couple of the mechanisms they used to handle lossy networks: using NACKs (a good approach when there isn’t much latency) or with audio redundancy (which increases bandwidth usage. but can also help in some situations with high packet error).
After this talk, Manik Sachdeva from Vonage spoke about Scaling Multiparty Video Calls for Client Endpoints. With the urgent need for real-time video for the multiparty use case, there has been an increased importance and criticality of client endpoints performing at high levels in group video calls. In his talk, Manik covered some best practices to ensure a great video experience in the browser and mobile applications. These practices can be summarized as:
- Optimize for bitrates
- Using layout management for improved CPU performance
- Active speaker logic
- Audio level calculations
Emil Ivov, Head of Product Video Collaboration at 8×8, spoke about WebRTC End-to-End Encryption (E2EE). He explained how 8×8 leveraged new browser API’s with WebRTC to provide true, always-on E2EE in the open source Jitsi project.
Also, Emil brought up some good points about when it would make sense to use E2EE and its current limitations. There are mainly 2 limitations:
- Advanced features like recording, simulcast, or integration with legacy networks being incompatible with E2EE
- Lack of a 3rd party entity that validates for the user that an application is using E2EE
WebRTC changes and new APIs
Repeating the tradition from last year, there was a panel with lead engineers from each of the major browsers (Chrome, Firefox, Safari, Edge) where they summarized their current status regarding real time media. We learned how much the pandemic influenced their list of priorities, focussing more on video and audio quality and performance.
Each browser team have slightly different philosophies on how browsers should evolve, but we can summarize their current focus as being on:
- Performance (CPU/BW/Battery)
- Building other ways to hint to the browser how we want real time media to behave in different situations, with more granularity with API like WebTransport, WebGPU or WebCodecs
- Integrating new, more efficient codecs
Additionally, each browser engineer had some news to share. Firefox talked about some interesting new features like picture-in-picture video when working on some other app or select audio output. Safari announced their support of MediaRecorder and getUserMedia in WebView. Edge on improving performance, privacy with insertable streams, and also adding audio output selection. Google is also focused on performance, but in addition working on integration with AV1 codec and on relatively new APIs like WebGPU, WebTransport, and insertable Streams.
Since Google is the main browser in charge of the WebRTC framework, they also had a lot to talk about WebRTC Next Version (NV).
Due to the pandemic, Google’s main effort over the past months was on scaling performance, specifically reducing the impact of rendering dozens of videos. But they nonetheless shared the following slides about the future of WebRTC, aiming to give developers more flexibility and enable more use cases.
By the end of this talk, we had some specific dates about new codecs, too. It was great to know that the AV1 will be available in Chrome for 2021. This codec achieves 30% to 50% higher compression than VP9 or H264.
Overall, it was a great conference that once again illustrated the importance of WebRTC in today’s unprecedented times.
Want to talk with the experts?
To learn more about how you can use WebRTC to bring real time communications to your business or to improve your existing application, contact the WebRTC development experts at webRTC.ventures today!