Births are fascinating and life-changing events, even when they refer to the creation of products, not people. We at Vidyo have experienced more than our fair share of exciting births over the years – product-babies of all temperaments and talents have been created by the minds of our engineers, and the hearts of everyone involved in taking a set of ideas and converting them into the software you use every day. This month, we are experiencing a new birth: the introduction of Vidyo.io, our Communications Platform-as-a-Service (CPaaS) offering. But this is not a traditional birth – what we are doing is making our DNA available to the world, to be used by developers to graft enterprise-grade multipoint video, audio, chat, and application sharing to their applications.
Vidyo.io is the culmination of a long journey. Vidyo first started offering an SDK in December 2005 (several months after it was founded). Over the years, the company has always had customers that took our SDKs and embedded our multipoint video communication technology in their own applications. Doing so, however, required an involved and time-consuming process between business and technology people. It could therefore be done only for selective cases – Alibaba, Bloomberg, Google, Hitachi, Ricoh, among hundreds of others. The industry has transformed over the past 12 years. Today, we can easily host servers in the cloud, our most used devices are mobile phones and tablets, and web browsers can now natively deal with real-time video and audio using WebRTC. What was previously available to select corporations can now be used by any developer with an email address.
The beauty of a CPaaS offering like Vidyo.io is that it enables a developer to use a system of supreme sophistication, without having to understand anything that is going on behind the scenes. Vidyo.io takes it to the next level, in that it provides a proven, enterprise-grade API that is consistent across the full array of today’s platforms: native (macOS, Windows, iOS, Android), WebRTC-based, or browser plug-in. What is interesting, however, is what’s under the hood (and what’s behind the clouds).
Vidyo pioneered the use of scalable video coding, and has developed very advanced techniques for optimizing encoding and offering error resilience, for both H.264 and VP9. Our error resilience techniques allow us to operate on extremely challenging network environments, under packet loss rates in excess of 20%, and enable us to offer an unmatched quality experience – even over mobile. These tools, including ones for wide band audio and screen sharing, are incorporated in our native code packages. Vidyo has, in fact, collaborated with Google to add scalability to VP9. The first release of VP9 for WebRTC was in Chrome 48, and announced by Google in December 2015. The implementation available in the open source VP9 codec and WebRTC packages incorporates some, but not all, of the techniques present in our native code, although of course they are all compatible with each other – and are accessed through the exact same APIs.
The most significant tool, however, is our server design. Vidyo introduced the concept of the Selective Forwarding Unit (SFU), an architecture that exploits scalable video so that it can adapt it without having to process it. By selectively forwarding layers of video, it can accommodate bandwidth fluctuations, heterogenous endpoints, differing user preferences, etc., with a design that requires no signal processing and incurs minimal (10ms) delay. Vidyo.io offers a global network of servers that automatically route calls to the nearest data center, optimize traffic by selectively forwarding video only when needed, and offer firewall traversal using ICE and websockets. The servers allow the use of automated voice-activated layouts, as well as fully customized layouts, without compromising their ability to optimize traffic. Beyond native applications, I have written about the significance of scalability and our SFU design specifically for WebRTC and VP9 in a guest post at BlogGeek.
We give the tools of our trade away, and can’t wait to see what our developers will build with them!
On a personal note, Vidyo.io constitutes for me a déjà vu moment, from a point back in 1992, something I came to realize only while writing this blog post. Back then, as a Ph.D. student at Columbia University, I built a software package for Sun workstations called Xphone, which was probably the first to offer interactive, point-to-point, synchronized real-time video and audio communication over IP. The software was actually constructed as a library, called Xphone Library (xpl), where Xphone was just a sample application. The library had a fully documented API – the motivation was that the library could be used by any developer that wanted to add two-way video and audio in their application!
The Xphone software can still be downloaded here. The figure below shows the documentation (‘man’) page of the main Xphone program:
Figure: “Man” (manual) page from the Xphone software package (October 30, 1992).
Please read more about Vidyo.io on Eran Westman’s Blog (President and CEO of Vidyo, Inc.).