Developers Pay the Pioneer Tax for WebRTC Live Streaming
At this year’s Streaming Media East in New York, a keynote delivered by Netflix’s Chris Fetner and a panel of creatives and tech engineers working on original productions introduced me to the expression “pioneer tax.” This refers to the higher expenses incurred around bleeding-edge technology projects. These higher costs can be due to the cost of equipment or resources necessary to produce a project.
While Netflix’s panel revolved largely around HDR (High Dynamic Range) and discussion of how different it is for creative directors to envision the final product compared to SDR (Standard Dynamic Range), the pioneer tax technology that came to my mind is WebRTC. In short, WebRTC stands as the only real-time communication standard that browsers can use, especially for low-latency live streaming.
In my work, WebRTC represents the first true “Flash replacement” for real-time video. In 2002, Flash introduced RTMP (Real-Time Messaging Protocol) and low-latency video to web browsers. Now, 16 years later, there’s not yet a consistent implementation of a real-time stack or access to capture devices across the major browsers.
And that’s where the pioneer tax comes in—developing a solution with WebRTC is problematic at best. One of my clients recently approached me with an entire first-generation product designed to run only on Chrome, because supporting more browsers would have been expensive and not consistently compatible. As a video solutions architect, I am selective about which tech stacks I’ll use to develop. This is mainly because the time investment for me to learn new programming APIs can be significant and adds cost that clients are not usually willing to pay. So far, WebRTC is the only game in town that will (hopefully) be viable across all browsers at some not-so-distant point in the future.
One of my biggest frustrations with WebRTC is the lack of current, well-maintained online resources. Google searches for WebRTC examples will frequently return code using draft APIs written 3 or more years ago. WebRTC.org has working examples, but even its “Getting Started” tutorial requires Chrome 47 or above, and it makes no mention of what’s compatible with other WebRTC browsers.
Another source of potential pioneer taxation is determining which WebRTC server technology you’ll use to connect real-time users to each other. Commercial and open source WebRTC platform offerings have come and gone as larger tech companies acquired the teams that built those solutions. While Janus Gateway is currently an open source favorite among WebRTC developers, Red5 and Wowza are among the only media servers that offer more universal transmuxing to various input and output formats.
The good news is that WebRTC and related APIs are becoming more widely available across browsers. A quick visit to caniuse.com and searching “webrtc” or “getusermedia” will show that most of the major browsers are supporting common APIs. Despite this availability, I’m still seeing a dearth of WebRTC applications online. To my knowledge, major social media platforms haven’t released WebRTC for any live streaming applications, relying instead on other RTMP/ RTP ingests and DASH or HLS playback streams. I hope that companies are just in the middle of longer development cycles for next-gen products, and that we’ll see more implementation of WebRTC soon.
If this all sounds bleak, WebRTC’s unique capabilities are worth noting. WebRTC’s transport layer is RTP-based and able to use UDP as well as TCP for video and audio transmission. UDP allows for packet loss and lower latency. (RTMP, however, can only use TCP, and as such can be a source of higher latency in the publish/playback chain.) WebRTC offers AES encryption on audio, video, and data channels. WebRTC can work with other APIs to capture camera, microphone, and screen display—enabling companies to build better videoconferencing and webinar platforms. You’ll just have to find some extra resources and time to invest in the effort in order to offset the pioneer tax required to push implementation of an emerging technology. Devs who follow in your footsteps may not thank you, but they will benefit from the path you forge.
[This article appears in the July/August 2018 issue of Streaming Media magazine as "The Pioneer Tax of WebRTC."]
Millicast's Alex Gouaillard breaks down the differences between WebRTC and HLS in the streaming pipeline in this clip from his presentation at Video Engineering Summit at Streaming Media West 2018.
VideoRx CTO Robert Reinhardt discusses the benefits and drawbacks of WebRTC in this clip from his presentation in the Video Engineering Summit at Streaming Media West.
Video Rx CTO Robert Reinhardt discusses the pros and cons of WebRTC in this clip from Streaming Media East 2018.
WebRTC holds tremendous promise for adding interactivity and reducing latency in streaming video. Here's a look at where it fits today, and what we should expect of it in the future.
Streaming Video Alliance's Jason Thibeault and Limelight's Charley Thomas address the question of whether WebRTC provides a viable solution for network latency issues in this panel from Live Streaming Summit.
WebRTC and peer-based content delivery allow Dailymotion to offload expensive hardware and bandwidth costs while improving video quality and service. Other streaming media publishers should take note and follow suit.
Our panel dives into major codec and format questions, helping you decipher which technologies are here to stay and which should be forgotten.