Introduction
When the things comes in terms of OTT Headend then the terms take place like RTMP , RTSP , CDN, DASH and HLS etc. Here we are going to discuss about RTMP only.
What Is RTMP
RTMP is known as Real time Messaging Protocol. RTMP was originally developed by Macromedia later on it was owned by Adobe. RTMP was developed for high speed transmission of Video , Voice and data between Flash Player and Server.
RTMP is open specification. It is responsible to deliver Video, Audio and Data in SWF , FLV and AMF formats at the Flash Player client end. RTMP is implemented when there is Live video streaming and on demand client.
RTMP avoid the latency in communication.
Working Of RTMP
RTMP working in simple words is a two way communication between flash player and flash media server. First of all a request is send by the flash player to flash media server to establish a connection. So a two way communication is established between them. This is also known as “handshake”.
Now flash player requests to flash media server for a particular stream. This request can be video , audio and data. Suppose in this case it request for a video. Now a SWF is send by the flash media server over RTMP connection to fulfill the request. Now simultaneously this same SWF can be send to other clients too if requested.
If there are lot of requests made by the flash players then we need to install more flash media servers to fulfill these requests.
In other words,
Working of RTMP is divided mainly into three parts,
(1) Handshaking
(2) Application Connect
(3) Streaming
(1) Handshaking
In the handshaking stage the version is send by the client to server if server supports then it respond otherwise connection gets terminated. After handshaking done client and server exchanges the messages.
(2) Application Connect
In this stage a connect command is send by the client to server for connect application instance. Now server sends protocol message for peer bandwidth. Client now respond for this peer bandwidht to server now again server sends another protocol message for user control.
Now again client respond for that to the server. Now server sends result command message to client. In this message server tells the client that connection is success or fail. If client gets in respond 1 that it means connection is established.
(3) Streaming
After handshaking and establishing a connection with application now client sends “create stream” command to server. Now after getting response on this create stream command from server , client sends “Play” command to server.
After this server sends two user control message and two command message to client. Now server sends audio video data to client for playing.
Applications Of Real Time Messaging Protocol
RTMP is used to do Live Streaming
RTMP is used to maintain the buffering during playback.
Real Time Messaging Protocol is used to save the bandwidth consumption.
Real Time Messaging Protocol is used to do the ABS. Adaptive Bitrate Streaming which allows user to watch the videos in different pixels like 360p , 720p , 1080p etc.
Conclusion
Real Time Messaging Protocol is very useful when we are doing live streaming. It automatically control the bitrate for streaming because it supports ABS.
There are various commands executed by the client and server to establish a connection and proper streaming. These commands are Connect command, Create Stream , Play Command and Play2 Command. Play2 command send by the second client.
Know More About What Is Transcoding
reference : adobe