Live streaming is such a valuable tool for schools, businesses, and other professional organizations. Many professional broadcasters use online video players that are equipped with the tools you need to broadcast with very little technical know-how.
Even though online video players automate most of the live streaming process, there is so much that goes on behind the scenes. Several different protocols and systems work together to bring broadcasts to life.
Real-Time Messaging Protocol (RTMP) is one of these protocols that make live video streaming possible. The role of this protocol has evolved over time, but today, it is primarily used for RTMP ingest.
In this post, we are going to get to the bottom of what RTMP ingest is and why it’s so important to live broadcasting. We will start out by reviewing the RTMP protocol and busting a major myth about it. From there, we will explain what RTMP ingest is and see how it compares to RTMP streaming.
To wrap things up, we will briefly touch upon HLS, another related protocol, and talk about how RTMP ingest works with Dacast.
Table of Contents
- What is RTMP?
- Is RTMP (Flash) Dead?
- What is RTMP Ingest?
- How Does RTMP Ingest Work?
- RTMP Ingest vs. RTMP Streaming
- HLS Streaming & How it Relates to RTMP Ingest
- RTMP Ingest on Dacast
- Final Thoughts
What is RTMP?
RTMP, which is short for “Real-Time Messenger Protocol” is an online video protocol that has played several roles throughout the history of online video streaming.
It was created by Macromedia, which is the predecessor to Adobe, with the purpose of distributing video, audio, and other media files. RTMP was originally designed for RTMP streaming with Adobe’s Flash player, but this use is now quite outdated.
Today, RTMP ingest is the most common use of this protocol, and this has to do with the exchange between an encoder and an online video platform.
In addition to the proper version of RTMP, there are several variations of the protocol, including RTMPS, RTMPE, RTMPT, and RTMFP. These variations all have slightly different purposes in live streaming.
Is RTMP (Flash) Dead?
As we mentioned, the purpose of RTMP in live streaming has changed over time. The “old” use of RTMP is practically dead. Pretty much anything involving RTMP delivery/streaming and Flash delivery/streaming is generally obsolete at this point.
However, RTMP is not dead. It is alive and well in the form of RTMP ingest, which means that the protocol is still very valuable for live streaming.
Even though RTMP has found a new role in live streaming that is currently working well, it will likely be phased out eventually once more powerful technology has been developed. This is not to say that there is anything inherently wrong with RTMP, but that is simply the nature of technology.
What is RTMP Ingest?
RTMP ingest is the new role of the protocol. In order to understand how this is different from the original role of the protocol, you need to have a basic understanding of video encoding and the technology that makes live streaming possible.
During the live streaming process, the video file travels in the following route:
Camera → Encoder → Online Video Platform → CDN Servers → Video Player
RTMP ingest is the technology that transmits the video files from the encoder to the online video platform. RTMP ingest requires the use of a compatible encoder, but fortunately, most of the top encoders on the market use this technology.
How Does RTMP Ingest Work?
RTMP ingest involves three phases: the handshake, the connection, and the stream.
This process is highly technical, and broadcasters who use an online video platform generally do not need to worry about what goes on behind the scenes. However, understanding how RTMP ingest works may help you understand the importance of choosing a capable encoder.
With that said, let’s take a look at how RTMP ingest transports video files from the encoder to the online video player.
During the handshake, the client sends three chunks of data to the server. The first chunk is used to alert the server of the type of protocol that is being used. The second chunk comes through with a time stamp.
The third and final chunk is sent after the server confirms receipt of the first two. Once the third chunk has been successfully received, the connection can be made.
During the connection phase, the client and server exchange some coded dialogue. The code language used for the connection is “AMF.” The purpose of his dialogue is to establish an “all-clear” to start the stream.
Once the handshake is complete and the connection has successfully been made, the stream should be ready to go. This process is complex, but the technology is designed to make the transport very quickly.
RTMP Ingest vs. RTMP Streaming
It is very important to note that this is completely different from RTMP delivery, which used the protocol to transmit video files from the CDN servers to the Flash video player. It is the same protocol but a different function.
RTMP ingest is used with modern live streaming platforms, like Dacast, that use HLS streaming with an HTML5 video player. RTMP streaming, on the other hand, was designed by Adobe to work with its Flash video player.
The primary reason for the shift away from RTMP streaming was that it did not support mobile streaming. At the beginning of this shift, the use of internet-enabled mobile devices was growing greater and greater, so broadcasted needed a solution fast.
Smartphones and tablets are much more easily accessible than a laptop, computer, or smart TV, and today, the majority of streaming is done on mobile devices. If software engineers didn’t develop a streaming method and video player that is compatible with mobile streaming, the online video industry may not have developed to what it is today.
Another reason for this shift is primarily because RTMP is no longer the “latest and greatest” live streaming protocol. It is still functional, but the new technology has made RTMP streaming the inferior approach.
HLS Streaming & How it Relates to RTMP Ingest
As we mentioned, HLS streaming has taken over the original role of RTMP.
HLS stands for “HTTP Live Streaming” and it is another important video streaming protocol. It is used to deliver video content from the CDN servers to the user-facing HTML5 video player. HLS was created by Apple to make mobile streaming possible.
How HLS works is that it splits files into smaller chunks to transport them more easily. It is an HTTP-based protocol, whereas RTMP is a TCP-based protocol that uses a bit of a bulkier transporting approach.
HLS is very adaptable, which is useful when reaching viewers with a wide variety of streaming setups. The protocol is also capable of low-latency streaming which is valuable to live streamers.
Another major perk of using HLS is that it is compatible with multi-bitrate and adaptive bitrate streaming. That means that it can send out multiple renditions of a video at the same time. Each transcoded rendition is a different quality, and the appropriate rendition is sent to each viewer’s video player based on their internet speed. This helps to avoid any buffering or lagging on the viewers’ end.
Although HLS is currently the most suitable protocol for video delivery, other options are being developed. Technology is evolving constantly, so there is no telling how quickly this could change.
RTMP vs. RTSP
RTMP and RTSP are often confused since their abbreviations only vary by a single letter, but the two protocols serve totally different functions in live streaming.
RTSP is used to execute commands on the video player by the viewer. These commands include functions like “Play,” “Pause,” “Fast Forward,” and “Rewind.” RTSP tells the video player what to do any time a viewer uses those buttons.
Bottom line: RTMP transports files whereas RTSP transmits commands.
RTMP Ingest on Dacast
Dacast uses RTMP ingest for all live streaming. RTMP ingest is a native quality of Dacast, so it is set automatically. This is the most practical use for RTMP at this time.
On a similar note, our platform uses HLS streaming rather than RTMP streaming. This is because HLS is the best protocol available for that stage of the live streaming process and it works with the HTML5 video player.
Since our platform uses RTMP ingest, broadcasters must use an RTMP encoder. Dacast’s support of RTMP ingest is particularly valuable for broadcasters because it means that the platform is compatible with a wide range of low-cost RTMP encoders.
OBS Studio offers custom versions of the software for Dacast users, which makes it super easy to use. This software is free to use, so it is a great option for broadcasters who are still testing the waters of live streaming.
Live streaming technology is the best it’s ever been thanks to the repositioning of the RTMP protocol for RTMP ingest and the introduction of HLS delivery. This technological combination is powerful and reliable, but with the rate that live streaming technology is evolving, we’re sure that it is not the live streaming process’s final form.
Want to learn more about RTMP and its role in live streaming? You can get in touch with a member of our well-versed 24/7 support team who can answer any questions you may have.
In the meantime, feel free to browse our Knowledgebase, which is a collection of documentation on different aspects of live streaming. A quick search for “RTMP” will generate a list of dozens of entries on the protocol.