How is Phenix real-time streaming different from off the shelf WebRTC?
WebRTC is an open standard that defines a transport protocol and browser API for real-time communications including audio, video and data streams. The initial use case was one-to-one, and few-to-few browser-based video chat applications. Similar to other standards like HTTP, it is a building block designed to be used within a website or application and not an application or complete solution to any specific use case by itself.
Phenix's central mission has been to provide high-quality video distribution to millions of concurrent viewers in real-time. In order to achieve these high goals and tight tolerances, we have taken a ground up, end-to-end approach to our system design, video encoding and network architecture. We chose a WebRTC compliant protocol in our overall design because of its widespread browser support, which means viewers don’t have to download or install any sort of software or browser plug-in.
However, as with other video transport standards such as HLS and DASH, WebRTC does not address many of the critical design decisions required to build a complete video experience. These critical components are left out of the standard entirely, such as encoding configurations, player behavior, bitrate selection and switching logic, startup strategies and more. Even if there was consensus on those player based topics, there is still more required to create a system that can deliver a high-quality video experience to millions of concurrent viewers in real-time, such as real-time automatic scaling to handle flash crowds, real-time encoding, viewer access control, resiliency in the face of outages and degradation and recovery, analytics, advertising, and other features and challenges.
In summary, WebRTC is a great component on which to build and provides significant benefits in browser compatibility, but it's not enough. Phenix’s patented technology and unique system architecture is a result of our end-to-end approach and dedication to solving the problem of delivering high-quality video to broadcast-sized audiences with real-time (< 500ms) latency.