This library essay provided by MiniTool will give a brief review on RTMP. It will list the variations and software of RTMP for you, as well as compare RTMP with its variations.
What Is RTMP?
RTMP, Real-time Messaging Protocol, was originally a proprietary protocol developed by Macromedia for streaming video, audio, as well as data on the Internet, between the server and a Flash player.
Later, Macromedia was acquired by its rival Adobe Inc. Adobe has released an incomplete version of the specification of the protocol for public usage.
RTMP Variations
There are several variations for the RTMP protocol.
- RTMFP: Real-time Media Flow Protocol is RTMP over UDP (User Datagram Protocol) to replace RTMP Chunk Stream.
- RTMPE: RTMP Encrypt uses the security mechanism of Adobe. The mechanism adopts industry-standard cryptographic primitives while the details of the implementation are proprietary.
- RTMP proper: It is the “plain” protocol that works on top of TCP (Transmission Control Protocol) and uses port number 1935 by default.
- RTMPS: RTMP Security is RTMP over a TLS (Transport Layer Security) or SSL
- RTMPT: RTMP Tunneled is encapsulated within HTTP requests to traverse firewalls.
About RTMFP
The Secure Real-Time Media Flow Protocol is a protocol suite developed by Adobe Systems. It is for encrypted and efficient multimedia delivery through client-server as well as peer-to-peer models over the network.
RTMFP was originally proprietary. Later, it was opened up and now is published as RFC 7016. RTMFP enables end-users to communicate and connect directly with each other (P2P).
RTMFP vs RTMP
RTMFP is different from RTMP in some aspects. The largest difference is how the protocols communicate over the Internet. RTMFP is based on UDP while RTMP is based on TCP. UDP-based protocols have some specific advantages over TCP-based protocols when delivering live stream media.
At the cost of decreased reliability, the advantages of RTMFP include low latency & overhead and greater tolerance for dropped or missing packets. Besides, RTMFP also supports sending data directly from one Adobe Flash Player to another without relying on a server.
About RTMPT
RTMPT, Real-time Messaging Protocol Tunneled, is usually found relying on cleartext requests on TCP ports 443 and 80 to bypass most corporate traffic filtering. The encapsulated session may contain plain RTMP or RTMPE packets.
The messages in RTMPT are larger than the equivalent non-tunneled RTMP messages due to HTTP headers. RTMPT may facilitate RTMP usage in scenarios where the use of non-tunneled RTMP would otherwise not be possible. For example, when the client is behind a firewall that blocks non-HTTP and non-HTTPS outbound traffic, it needs the RTMPT.
RTMPT works by sending commands through the POST URL and AMF messages through the POST body.
RTMP Applies in Software
In general, RTMP is implemented in 3 stages, live video encoder, live and on-demand media streaming server, and live and on-demand client. Below are some applications that make use of RTMP.
RTMP Live Video Encoders
- Adobe Media Flash Live Encoder
- Open Broadcaster Software (OBS)
- XSplit Broadcaster
- FFmpeg
RTMP Client Software
- Adobe Flash Player (web browser plug-in)
- VLC media player
- rtmpdump
- FLVstreamer
RTMP Server Software
- Adobe Flash Media Server
- Nginx
- Nimble Streamer
- Wowza Streaming Engine
- FreeSWITCH
The primary motivation of RTMP is to be a protocol for playing Flash videos. Thus, it is used in some other programs like Adobe LiveCycle Data Services ES.