As Adobe stopped supporting Flash, people started looking for an alternative solution to RTMP. The question of what is an alternative to RTMP, which has been used in the streaming world for many years, has become very important. We strongly recommend RTMP to WebRTC migration as an answer. If your goal is real-time interaction, actually WebRTC is the only alternative. We will explain why in the following section.
Table of Contents
- Flash And RTMP Are Dead
- Reasons for RTMP to WebRTC Migration
- RTMP vs WebRTC
- Encoder/Player and Browser Support
- API supports
- WebRTC Data Channels
Flash And RTMP Are Dead
Adobe Communications Team made an announcement in 2017.
“Given this progress, and in collaboration with several of our technology partners – including Apple, Facebook, Google, Microsoft and Mozilla – Adobe is planning to end-of-life Flash. Specifically, we will stop updating and distributing the Flash Player at the end of 2020 and encourage content creators to migrate any existing Flash content to these new open formats.”
Adobe Communications Team
July 25, 2017
So, We have already passed 2020. That means Flash Player and so RTMP are dead. Adobe stopped updating and distributing the Flash Player.
Many industries and businesses have been built around Flash technology. Such as gaming, education, and video… The video part concerns us. Flash Player and RTMP were the dominant delivery mechanisms for live streaming for many years. But HTML5 video streaming, open standards, and adaptive bitrate delivery stopped the popularity of RTMP streaming when it came to last-mile delivery. When Flash and RTMP are used together, these technologies support “fast” video delivery with around five seconds of latency.
For a while, many Flash video streaming applications have been replaced by HTML5 solutions such as HTTP Live Streaming (HLS) and DASH (most of them only in the last 5 years when HTML5 browsers have finally offered media source and encrypted media extensions). But during this time, WebRTC was and still is the only option for ultra-low latency streaming. Even only this makes it a great alternative to RTMP.
As an HTML5-based solution, WebRTC does not require any browser plug-ins for playback and can utilize mapping techniques to transfer data between connected sessions. Moreover, WebRTC offers the quickest method for transporting live video across the internet.
If you’re using Flash for low latency streaming, you need to migrate your project from RTMP to WebRTC right away.
Let’s remember RTMP! (R.I.P)
RTMP is a protocol, created by Macromedia and now owned by Adobe, that provides high-performance transmission of video, audio, and data between dedicated streaming servers and Adobe Flash Player across the internet.
Definition of RTMP by Adobe:
“Adobe’s Real-Time Messaging Protocol (RTMP) provides a bidirectional message multiplex service over a reliable stream transport, such as TCP [RFC0793], intended to carry parallel streams of video, audio, and data messages, with associated timing information, between a pair of communicating peers.”
RTMP is created for high-performance transmission of media such as audio and video data.
Let’s see WebRTC!
WebRTC(Web Real-Time Communication protocol) is an open-source standard for real-time communication supported by almost every modern browser, including Safari, Google Chrome, Firefox, Opera, and others. That support ensures that the WebRTC standard remains up to date and functional for the foreseeable future. WebRTC supports Opus audio codec as well as high-quality VP8 and VP9. In the near future, the protocol will gain support for a brand new AV1 video codec. The protocol is expected to be used in a much wider area.
One of the biggest advantages of WebRTC is that it converts millions of browsers into streaming terminals without the need to install any additional plugins. What’s more, WebRTC supports sub-second latency, which means no more delay! Finally, the protocol uses an adaptive bitrate technology that allows it to automatically adjust video quality and avoid any interruptions. Sounds good right?
Reasons for RTMP to WebRTC Migration
We have briefly mentioned RTMP and WebRTC protocols. Now, we can look at the reasons for RTMP to WebRTC migration.
RTMP vs WebRTC
With the death of the flash player, you have to consider the new options. And there is one and only option for ultra-low latency streaming. This is WebRTC. We will compare these two protocols step by step. So, you will understand why WebRTC is the best alternative to RTMP and why you need to start your RTMP to WebRTC migration immediately.
Here are the reasons to start migrating your project from RTMP to WebRTC now!
RTMP is based on Transmission Control Protocol (TCP), and it allows data transmission in a given sequence and order with a delivery guarantee. Even if it uses a more reliable network connection, latency is often 5 seconds or more dependent on network settings. On the other hand, WebRTC is based on UDP, and it offers near real-time latency with ~0.5 seconds. WebRTC is arguably better for two-way conferencing or real-time device control. Latency is one of the most important reasons for RTMP to WebRTC migration.
The scalability of streams is really important for successful streaming. In terms of scalability, RTMP can be scaled to provide live streaming to thousands or even millions of audiences. Likewise, WebRTC can scale to millions.
Encoder/Player and Browser Support
Due to the wide adoption of RTMP, it is supported by most encoder software and video players. However, due to the end of life of the Flash player, RTMP starts to lose support from most modern browsers. On the other hand, WebRTC has better support by modern browsers with built-in API support in HTML5 and can be played within most modern browsers without installing any software or plugins. In terms of encoder or video player support, lots of software vendors started to recognize the popularity of WebRTC and started to add WebRTC to their support list.
WebRTC Data Channels
Sending data between two browsers for communication, gaming, or file transfer can be a rather involved process. It requires setting up and paying for a server to relay data and perhaps scaling this to multiple data centers. In this scenario, there is potential for high latency, and it’s difficult to keep data private.
These problems can be alleviated by using WebRTC’s RTCDataChannel API to transfer data directly from one peer to another.
We tried to explain the reasons for RTMP to WebRTC migration. Actually, the reason you switch your project from RTMP to WebRTC is not only because of the end of Flash player support. The requests of the viewers are another reason. Real-time video streams have become one of the communication tools today due to the developing technology and changing human needs. Regardless of the type of broadcast they watch, people now want real interaction and want to be a part of the stream. As we mentioned above, the only protocol that can meet these requests is WebRTC.
You can reach us via firstname.lastname@example.org.
You can try Ant Media Server for free with all its features!
You can download native Android and iOS WebRTC SDKs and integrate them into your applications for free!
Ant Media Server Github Wiki