In this article we are going to differenciate RTMP , RTSP and HLS (RTMP V/S RTSP V/S HLS) so lets start.
What Is RTMP(Real Time Messaging Protocol)?
RTMP(Real-Time Messaging Protocol) is the protocol that is used for streaming audio-video on the internet between flash-based technologies such as flash player and Adobe Air and the server. RTMP is a TCP based protocol that was designed to maintain the continuous low inactivity connection and smooth streaming experiences.
This protocol started behind the live and on-demand streaming with the adobe flash player as the secret sauce. This is because flesh plugin powered 98 percent of internet browsers that’s why RTMP used everywhere.
Today Most Of the encoders can telecast RTMP and several media servers can accept it. Even most of the big social media players such as Facebook YouTube and Periscope accept it.
However, RTMP streams have a compatibility problem when it comes to playback on popular browsers and devices. If you want to know more about RTMP you can also read this article What Is RTMP? And How Does It Work?
What Is RTSP(Real Time Streaming Protocol)?
Real-time streaming protocol (RTSP) is a web control protocol that was designed for work with streaming media to control streaming media servers that use in entrainment and communication system.
The protocol is used to establish and control the media session between endpoints. To facilitate real-time control of streaming media from a client-server to a client (video on demand) or from a client to a server (voice recording), VCR-style commands such as play, record, and pause.
The transmission of streaming data is not the function of RTSP itself. Most maximum RTSP servers use a real-time transport protocol (RTP) with a real-time control protocol (RTCP) for the delivery of the media stream.
However, some vendors implement proprietary transport protocols,
The RTSP was formed by Real Networks, Netscape, and Columbia University, the first draft has proposed to the IETF in 1996.
It was normalized by the Multiparty Multimedia Session Control Working Group (MMUSICI WG) of the Internet Engineering Task Force (IETF) and published as RFC 7826 in 2016 as a replacement for RTP 2.0 RTC 1.02 in RFC 2326 1998.
RTP 2.0 is based on RTSP 1.0, but is not backwards compatible compared to the original version negotiation mechanism.
similarly, in some ways of HTTP, RTSP determines control sequences that are useful for controlling multimedia playback.
same as HTTP, RTSP also uses TCP to take care of an end-to-end connection,
Whereas most RTSP control messages are transmitted from client to server, with few commands that are traveling in the other direction (ie from server to client).
What Is HLS( HTTP Live Streaming)?
HLS(HTTP Live Streaming) is the video streaming protocol. It is one of the most extensively used protocols for video streaming. While it is called HTTP live streaming it is used for both on-demand streamings as well as live streaming.
HLS breaks the video files into downloadable small HTTP files and passes them by using the HTTP protocol.
Clients devices load these HTTP files and again play them as video.
The one advantage of HLS is that all the devices that are connected to the internet support this.
HTTP because of that it is easy to implement as compared to streaming protocols. It requires the use of a specialized server.
One more advantage of HLS is that the HLS stream can increase and decrease the quality of the video based on network conditions without interrupting the playback of the video.
This is the reason that is why the quality of the video may get good or bad in the middle of the playback video when the user is watching it.
This feature is called adaptive bit-rate video delivery or adaptive bit-rate streaming and without it, the video can stop due to slow network connection from playing completely.
HLS(HTTP Live Streaming) was formed by Apple for use an Apple products but now it is used over a wide verity of devices.
How does HLS work?
An HLS stream starts from a server where the media files are stored on on-demand streaming or where the streams are created in live streaming.
This is because an HLS is based on HTTP that’s why any of the common web servers can start the stream.
There is two main process is done on the server lets discuss them.
- Encoding: Here video data is reconstructed so that any device can identify and understand the data. An HLS should use H.264 or H.265 encoding.
- Segmenting: Here the video is split up into parts a few seconds in length. However, the default length is 10 seconds.
- Moreover splitting the video into parts an HLS makes an index file for the record the order in which they belong.
- In addition, an HLS will also make lots of duplicate sets of segments at various quality levels such as 480p, 780, 1080p, etc.
- Distribution: Here when the client devices make a request for the stream the encoded video pushed out to the client devices over the internet.
- Usually, Content Delivery Network(CDN) will help to spread the stream into different areas. CDN will also store the stream to serve the client even more quickly.
- Client device: Client device is the device that takes the stream and plays the video for example a user smartphone or laptops etc.
- Client devices use an index file for gathering the video in order as a reference and it turns the video from high quality to low quality and vice versa as needed.
RTMP V/S RTSP V/S HLS
|1||RTMP (Real Time Messaging Protocol) is one streaming protocol that was designed to the broadcasting audio-video and other data between the assigned streaming server and adobe flash player.||Real-time streaming protocol (RTSP) is a web control protocol that was designed for work with streaming media to control streaming media servers that use in entrainment and communication system.||HLS (HTTP Live Streaming) is the video streaming protocol. It is one of the most extensively used protocols for video streaming.|
|2||RTMP was developed by macromedia and now owned by Adobe.||RTSP was developed by experts from Real Networks Netscape, Columbia university.||HLS was developed by apple Inc.|
|3||RTMP runs on top of the TCP, so it uses three way handshake to deliver the data.||RTSP uses RTP (Real Time Protocol) and RTCP (Real Time Control Protocol) for deliver the media stream.||Whereas a HLS is based on HTTP that’s why it uses HTTP for delivery.|
|4||RTMP has low latency it’s about 2 seconds.||RTSP has very low latency it’s about 500 milliseconds.||HLS has minor high latency it’s about 10 seconds.|
Contributed By :- Suhasini Mishra