The streaming protocol battle between WebRTC and others
A 360-degree look of how to zero in on the right streaming protocol to enhance your consumers’ experience
This article advises users on different streaming protocols, how to identify the right one for their business and how to boost the end-user experience.
Today media live streaming or offline streaming services are used for a plethora of activities such as online gaming, VoIP calling, OTT, real-time messaging and VOD (video on demand). In the past decade, conferencing, virtual learning and online training modules became increasingly rampant but it wasn’t until the COVID-19 pandemic and office shutdowns across continents that media streaming platforms became a part of the new normal. Corporates’ remote work cultures have fueled the growth and popularity of OTT platforms, video conferencing solutions and audio/video streaming platforms.
This points to media streaming becoming a critical parameter to drive these applications.
But let’s go back to basics. What is media streaming?
Media streaming has multiple parameters like container formats, audio/video codecs and streaming protocols. Over the last 18 years, live streaming services have surpassed the novelties phase to grow into profitable businesses, and are now serving millions of consumers whose entertainment appetites have expanded. These are consumers who would be willing to cancel a periodic television subscription in favor of an internet-based service.
The most vital parameter in streaming services is the streaming protocol, which enables a seamless communication between the sender and receiver. But how can we choose a suitable media streaming protocol for our applications?
Let’s take a look.
Streaming Protocols 101
Streaming protocols are a set of rules for sending and receiving data. Media streaming protocols are standardized rules to deliver audio/video packets (A/V) over the internet.
The knowledge of protocols is vital to implement an enterprise application, based on media data as this needs to be used at different levels — application, presentation, and even session layers in the Open systems interconnection model. Let us look at the need for streaming protocols from the application standpoint.
Primarily, the media application performs two tasks concerning digital media files — either it stores the media files and then plays them back, or plays them without storing them. The key considerations to look at are the size of the files and the ability to play it back universally.
Secondly, streaming refers to transferring these video files from the encoder to the streaming server, and then from the streaming server to the media player. The application will need to convert a video file into a bit-stream data or file, which is also known as an encoded file. Next, it will break the file into small chunks or packets and will then send these chunks to viewers sequentially. The application will use these packets to play them back.
The streaming protocols enable the application to perform this action.
Streaming process in media applications
Top 10 Aspects to Consider Before Zeroing in On a Streaming Protocol
Various types of media streaming protocols are available, although they can vary based on the type of application being developed. Ensure all parameters are checked while selecting the right one. Here are our recommended top ten parameters to check for before selecting the streaming protocol for your application:
- Transport layer delivers a message between network host, either its TCP or UDP
- Codec requirements are supported audio and video codecs by streaming protocols.
- Quality of user experience is based on ABR profile, and related to single or multi-codec supports depending on user device and network conditions
- Digital rights management (DRM) is a way to protect copyrights for digital media
- Glass-to-glass latency introduced by streaming protocol
- Container format is a file format that allows multiple data streams to be embedded into a single file
- Playback support on various devices such as desktops, laptops, mobiles and VoIP phones
- Server-side ad insertion is a method of inserting ads on the server and delivering it to clients
- Trick mode support for fast forward, fast rewind, slow forward, and slow rewind
- Consider if this is proprietary or open-source
The Development of Streaming Protocols
Earlier media streaming was dependent on RTP (Real-time Transport Protocol) over a transport layer UDP (User Datagram protocol) or TCP (Transmission Control Protocol) with legacy streaming protocols like RTMP and RTSP. In addition to these legacy protocols, we have other commonly used and newly developed protocols like HTTP, Web Socket, HLS (HTTP Live Streaming), LL-HLS (Low latency HLS), MPEG-DASH (MPEG standard Dynamic Adaptive Streaming over HTTP), DASH CMAF CTE (CMAF: Common Media Application Format, CTE: Chunked Transfer Encoding), SRT (Secure reliable transport), QUIC (Quick UDP internet connection) and WebRTC (Web Real-Time Communication).
In recent years, the emergence of various streaming protocols has led to battles in this mushrooming sector. Analyzing different streaming protocols, mapping their benefits and outlining their drawbacks can be a difficult task, especially because deciding on a streaming protocol depends entirely on the requirements from an application standpoint.
Here is a quick analysis of some protocols based on usage and compatibility:
Comparing WebRTC to Other Streaming Protocols
The infographic indicates that emerging streaming protocols like LL-HLS, CMAF, and WebRTC are performing better than the legacy protocols like RTMP or RTSP in areas such as latency and playback support with standard browsers.
Among these, WebRTC is a fascinating, powerful, and highly disruptive cutting-edge technology streaming protocol. The WebRTC is HTML5 compatible, and can be leveraged to add real-time media communications directly between browsers and devices, without installing plugins like Abode Flash on the browser.
WebRTC is also supported by browsers like Safari, Google Chrome, Firefox and Opera. The browser compatibility and glass-to-glass latency are vital parameters when using protocols on these browsers. The WebRTC with SFU architecture achieves the glass-to-glass latency of less than 200ms, which is almost real-time and is also known as ultra-low latency.
Media Streaming and More with WebRTC
WebRTC is a free, open-source technology that provides browsers and mobile applications with real-time communication capabilities through simple application programming interfaces (APIs) which is the need of the current era. Currently WebRTC is fully stable and standardized through the World Wide Web Consortium (W3C) and the Internet Engineering Task Force (IETF), and is supported by Google, Microsoft, Apple, Opera, and Mozilla to help developers build real-time streaming applications.
Swapnil Warkar is Software Architect at GS Lab and has an experience of more than 16 years in IT. He leads the Multimedia practice in GS Lab on the technology and business front. Apart from this, he also leads research in Voice Processing Domain. Swapnil focuses on addressing challenges around translating early-stage business vision to IT solutions to bring out innovation.