What is RTMP (Real Time Messaging Protocol)?

RTMP enables smooth streaming of audio and video content. The network protocol is essential for transmitting encoded signals to the Content Delivery Network, or CDN for short.

Free Cloud Server Trial from IONOS

Try out a Cloud Server for free now - test your IONOS Cloud Server for 30 days!

REST API
Unlimited traffic
VMware virtualization

History of the Real Time Messaging Protocol

RTMP was developed by Adobe Inc. It was initially used to transfer data between servers and the Adobe Flash Player. This was widely used, so the Real Time Messaging Protocol was also widely used. Although Adobe Flash Player was discontinued at the end of 2020, RTMP is still very popular and is the network protocol primarily used for streaming. However, to deliver the stream to modern devices, which often no longer support RTMP due to the use of HTML5, a combination of RTMP and HLS is often used.

How the Real Time Messaging Protocol works

The signal must first be encoded to provide audio or video content via streaming over the internet. Streaming encoders are used for this purpose. The encoded signal is then transmitted to an RTMP server using RTMP. The protocol also has the task of transmitting the encoded signals to a content delivery network or an online video platform. Exactly how this transmission takes place depends on the RTMP variant used.

The standard variant of the network protocol uses TCP via port 1935 as the transport protocol. First, data blocks are exchanged between client and server. This process is also called handshake. This way, the server is told which protocol version is being used. In addition, a time stamp is sent to the server. The connection can be established as soon as the server informs that it has received these two data blocks and when.

To do this, the client sends a connect request in action message format to the server and then waits for a confirmation from the server. When the client has received this, the client can start real-time streaming.

This establishes a persistent connection that can be used to transmit data in real time. The streaming data is transmitted in blocks of different sizes. For video data, the block size is 128 bytes, for audio data 64 bytes. The latency of RTMP is relatively low due to the use of TCP.

Another variant of the Real Time Messaging Protocol is RTMPT based on HTTP. Here, a tunneling technique is used to bypass firewalls. RTMPS based on HTTPS works similarly.

From the RTMP server, the stream can also be transmitted directly to end devices using HLS.

Areas of application for RTMP

In general, the Real Time Messaging Protocol is used in two areas. The first use case for RTMP is to transfer data between an encoder and a server. This use case is also referred to as “first mile delivery”.

Since the Flash Player no longer exists, RTMP can no longer be used to send data directly to end users. Therefore, a content delivery network or an online video platform must be used in the second use case. Using RTMP, the server’s data is then forwarded to them.

Tip

If you want to create your own create RTMP server, you must first decide on a server operating system. You can choose between Windows or various Linux server distributions.