RTMP stands for Real Time Messaging Protocol. It was initially a proprietary protocol which was developed by Macromedia for streaming video, audio and data over the Internet. It is between a Flash player and a server. Currently, Macromedia is owned by Adobe. It has released an incomplete version of the specification of the protocol for public use. So, RTMP may refer to: A multimedia streaming and remote procedure call protocol that is primarily used in Adobe Flash.
The RTMP protocol has several variations:
1. Protocol “plain” uses port 1935 by default and works directly in TCP.
2. RTMPS means RTMP over secure connections SSL and uses HTTPS.
3. RTMPE means RTMP encrypted uses a security mechanism of Adobe. However, details of the implementation are proprietary. And its working mechanism makes the use of standard cryptographic primitives. It is not designed correctly and does not provide safety too.
4. RTMPT is encapsulated within HTTP and request to pass the firewall. Its session can carry encapsulated inside packages RTMP, RTMPS or RTMPE.
Initially, the original motive for the introduction of RTMP was to provide a protocol for playing Flash video. However, in today's scenario, its protocol is also be used for other applications too. RTMP server can receive audio and video streams from OBS. It supplies them to several viewers. If needed the Nginx RTMP server can also host a web page and web player. But it is for another tutorial.
Functioning
The TCP variant uses a constant connection, which offers real-time communication. For ensuring smooth playback and larger data blocks are transmitted. It's protocol divide the data into 128-byte blocks (64 bytes for audio). It has RTMPT tunnels that are constructed to overcome firewalls. RTMPS offers the use of SSL which allows encrypted data transmission.
RTMP servers
There are some proprietary RTMP server implementations, which is Adobe Flash Media Server, z. B. jeeCam Communication Server, Onlinelib VCS Video Communication Server, Telephony MAD Server, Wowza Media Server and WebORB Integration Server. The Red5 project is working on, and it is an open source implementation services in Java. Moreover, Beta versions are already available. And another open source implementation is “C ++ RTMP server”. The free software FFmpeg can also be used as RTMP servers.
RTMPDump
RTMPDump is a free software project. It is dedicated to develop a toolkit for RTMP streams. Its package includes three programs; they are rtmpdump, RTMP SRV and rtmpsuck.
• Rtmpdump is basically used to connect to RTMP servers. It is just like regular Flash video player clients. It captures the stream from the network and save it in a file. Its commands may be constructed by using connection and authentication. It's information previously obtained from the RTMP server by RTMP SRV.
• Rtmpsrv is used to watch streams and connections.
• Rtmpsuck is also be used to capture streams. However, it can be used to detect parameters which is used with RTMP dump.
It has been reviewed as “an excellent utility for recording streams broadcasting TV and video on demand”. It has been used in academic research on video streaming rate selection and in developmental media framework. Its utility has been noted for its small size and it has ability to decrypt both RTMPE and RTMPS Digital Rights Management technologies.
Free RTMP server hosting
There are many reputed websites and companies which offer RTMP server for free.