Story and images by Stanislav Soldatov / TrueConf
WebRTC has been a hot topic in the unified communications industry for several years. For some time now, many people have said that WebRTC technology is a crucial change for the video conferencing market which signals the end of flash-based video conferencing. In our opinion, WebRTC is far more likely to be a “bubble” which may burst under certain market conditions. Today, we will look at this topic from a fresh perspective.
The main reason we believe WebRTC is a bubble is that corporate users desperately need high-quality video, and their concerns about software or running separate programs tend to be quite secondary to this need. People don’t care if they have to download software or not: they will select based on video quality, and video quality is the weakest spot of WebRTC. This standard is still very “raw” and only supports the VP8 video codec, which severely limits its capabilities and requires deployment of infrastructure to support group video conferencing.
The first thing to understand is that the WebRTC standard only describes how the browser must accept and send one video and one audio stream. The browser doesn’t know whether these streams will be mixed with image and sound from several participants or not. Whether the data is sent from a special server or from another browser is also irrelevant. This means that to support group video conferencing, you must have a server that controls the different streams from each participant.
Short Digression on Group Conferences and WebRTC
The most obvious option is p2p (“star” topology), where each of the browsers sends streams to all other participants. However, this is unfortunately not suitable for WebRTC. A browser using real Internet channels will not be able to adapt to the communication channel quality of remote participants. It also will not be able to reach acceptable synchronization at all points of the communication session.
Instead, we would need a particular server that could define what remote participants will see, as well as dealing with synchronization of each stream. The easiest way to support group conferences in this case is “voice activation”, where the server automatically switches the image to the currently speaking participant. Full duplex communication in such a case is nearly impossible, but you do not have to develop or re-encode anything: you simply select the desired stream on the server. This is the optimal solution for web conferencing. Webex, for example, works on a similar principle.
The next requirement for the functional support of group video conferencing in WebRTC immediately eliminates 95% of manufacturers who have declared their ability to support it. This is because it requires decoding, mixing and encoding multiple streams on the video conferencing server into one stream, which is sent to the browser in real time, and there are not many companies who have such technologies. Implementing this would allow you to see several WebRTC conference participants in a compatible browser and “book” personal layouts on the server side. As a result, we would have full-scale duplex video conferencing… but is it worth it?
Since WebRTC only uses the VP8 video codec, there is no way to avoid transcoding from the most popular H.264. This laborious operation demands MCU or a very powerful PC to support more than 2-3 video conferences simultaneously. WebRTC scaling is a serious problem today, and service providers planning to provide group WebRTC video conferencing should keep that in mind.
It is worth noting that the media servers made by different vendors are incompatible with each other. Yes, it is the same technology, but each server has its own HTML5 client. Everyone will have their own version. Besides that, WebRTC clients cannot communicate directly with standard equipment. They need gateways to other protocols (like H.323 or SIP) and the support of the H.264 video codec on the server, which significantly increases the cost of integrating this technology into an existing video conferencing infrastructure.
Another problem with WebRTC is the list of mandatory audio and video codecs. Major browser vendors have not yet settled on a standard video codec. One thing they have agreed on is that they all believe that WebRTC needs some basic codec which will be supported by all browsers in order to keep true cross-platformity possible. It is still not clear whether H.264 support will be added to the VP8 codec, replace it completely, or whether both of them will be outlived by VP9 SVC.
Corporate users might encounter another difficulty: WebRTC requires an open range of several thousand UDP ports. In other words, WebRTC broadcasts from corporate networks will barely be available. This problem could be solved by TCP tunneling of the WebRTC traffic.
However, these shortcomings do not prevent WebRTC from pushing forward into new horizons and potentially defining the vector of development for interactive web technologies. This is not surprising for three reasons:
- WebRTC support is announced by many leaders of video conferencing industry and they are not going to stop developing solutions;
- WebRTC is a really good and well-planned architecture, lacking the errors and shortcomings identified in the browser plug-ins that existed before it.
- All WebRTC sessions have built-in traffic encryption and connection protection by default.
Today the WebRTC standard is still far from being finished. At the time of writing, it is in an active development stage, and the end of this process is not yet able to be foreseen. The release of an official WebRTC API is still to come.
We think that at the moment WebRTC technology is not able to replace existing products for video conferencing. It will complement them in certain ways and probably will be able to compete with web conferencing systems. All that WebRTC can offer now has been available in dedicated applications for desktops and mobile devices for many years. The only advantage WebRTC has in terms of quality of communication is the speed of “tuning in” to a session.
Most companies will use WebRTC as a safe and easy way to connect external users to video conferences quickly, without having to include them into the corporate video conferencing system and without needing to provide them with detailed instructions.
At the moment, the solutions with full support for WebRTC in group video conferencing are only starting to appear on the market.
There is a risk that WebRTC will not become popular if Apple or Microsoft will not support it. While it is possible that the boundary between web and video conferencing software will disappear in the future, it’s unlikely to replace software designed for group video conferencing systems in conference rooms. Even five years from now, WebRTC will not see wide use in those environments because of their specific needs.
Nevertheless, there are many other applications for WebRTC outside of corporate communication systems because of its easy integration with HTML5/JS applications. It can be used for online games, e-learning, solutions for video broadcasting and much, much more. Users can expect new developments and surprises from manufacturers of WebRTC solutions, but they will have to wait.
Publisher’s Disclaimer: The above article was submitted to TPO News by a TrueConf, a vendor in the space. While we feel the information is valid and informative, we do wish to let our readers know whenever we share third party content from an industry source.