Deep understanding of video streaming technology key points will provide you a clear picture of the choices you have here. Video streaming intends transmitting media data online while enabling users to process it without completing the process of transmission. According to this, streaming protocols are just the ways of this transmission. Therefore, choosing a streaming protocol that will perfectly suit the type of media you’re going to stream might be anything but simple. The classic method to get things straight with it is to use OSI (Open Systems Interconnection) model which describes crucial layers of network protocols. On this model, you’ll notice that streaming protocols belong to the application layer. This means that they can use any other protocols from lower layers for the functions they are not capable of. For instance, streaming protocols rely on the protocols from transport layer for transmitting their packages. In terms of efficiency, this principle is quite lucrative, as it makes protocols from different layers responsible for particular functions instead of trying to embrace the whole cycle.
All video streaming protocols are based on transport protocols. The most frequently used are Transmission Control Protocol (TCP) and User Datagram Protocol (UDP). The main aim of TCP is to provide a trustworthy process of transmission. While using TCP protocol you can be sure that all data packages will be delivered. As far as TCP works on flow control principle, it wouldn’t transmit other packages if a row of previous ones didn’t reach its final destination. It might be time-consuming, however, you won’t lose any part of your media stream on the way. High priority for UDP is delivering media data during the shortest time range. UDP, unlike TCP, won’t spend extra efforts on fixing errors with delivery, it’ll proceed with sustaining uninterrupted flow of information. This feature makes UDP more suitable for live video streaming. However, due to the fact that TCP is widely used for various activities on the web, UDP transport protocol might be blocked by some firewalls. Furthermore, TCP is a preferable option for streaming video on demand or for those broadcasts when small delays do not make a big difference.
HTTP
All this information about the fundamental elements of streaming protocols will help you not to get confused with their variety. Let’s start with HTTP, the protocol with the help of which data transferring on the web started. This protocol regulates the interaction between browsers and servers and also distributes various types of media content on the web. Furthermore, HTTP protocol is able to transmit text as well as binary data. HTTP works very well with different firewalls, as it is based on TCP protocol. However, it is also adapted for using UDP, for instance in SSDP and HTTPU protocols. One more thing which should be taken into account while dealing with HTTP is the fact that it’s a stateless protocol. It means that all commands are run separately without considering any previous ones. This feature sometimes prevents from building interactive websites which respond wisely to user’s requests. Despite some disadvantages of HTTP protocol, lately a tendency to move from classic streaming protocols and come back to the principle of simple HTTP download has become very common. It stimulates the appearance of new video streaming protocols, which are based on HTTP. These protocols are so appealing due to the fact that they provide adaptive streaming and ensure support for more streams at a time, as well as effortless switching from one stream to another. As far as it’s an HTTP-based technology, it’s not so expensive in terms of implementation and provides more options for customization.
HLS
HTTP Live streaming protocol or HLS was developed by Apple for sustaining adaptive media streaming on iDevices. However, nowadays it has become more widespread. Like MPEG-Dash, HLS divides the stream into a range of file downloads and groups them into small chunks. As HLS is known for its adaptive bitrate video delivery, it enables a player to examine client’s bandwidth and stream video in an appropriate quality for this bandwidth. In order to provide this, a system encodes media file in various qualities and generates an index file with locations of these quality levels. Then, a player can choose the highest quality level for available bandwidth. Moreover, HLS prevents streaming errors while generating extra flows of video files to be used in case of any issues. Nevertheless, it’s not recommended to use this video streaming protocol for live streaming sessions, due to its high latency period of data transmission.
HDS
HTTP Dynamic Streaming (HDS) is Adobe’s technology for adaptive bitrate streaming. It provides on demand and live video streaming via common HTTP connections. The principle of its work is similar to HLS workflow. HDS analyses client’s bandwidth and delivers appropriate quality of video stream due to available Internet connection speed. Ordinary users will also benefit with HTTP Dynamic Streaming from the support provided for live and on demand streaming. By the way, with Adobe Access you will be sure that your media content, used for streaming, is protected at the highest level. In order to enjoy all advantages of video streaming by means of HDS, you just need to install Adobe Flash Player and Adobe Media Server. You can always read our article if you want to find out how to set up a server for HTTP Dynamic Streaming.
MPEG-DASH
MPEG-DASH is an adaptive bitrate streaming technology based on HTTP.Besides, MPEG-DASH is the most popular among other adaptive bitrate streaming solutions as far it’s an international standard. It uses TCP as transport protocol and like HLS it enables streaming of media files split into several fragments. Moreover, by means of MPEG-DASH, a video client application plays video of an appropriate quality according to several factors: connection speed, the capabilities of the device and user’s preferences. The main aim of this technique is to provide effortless streaming process of any media formats to any devices. As a result, it’ll decrease different technical issues, which occur during broadcasting, and costs of transcoding. MPEG-DASH is codec agnostic, which implies that it is suitable for media content encoded with any codecs. In such a way, with MPEG-DASH it’ll be possible to use content encoded by proprietary codecs of Apple, Adobe, or Google on any devices of other vendors. In other words, ordinary users won’t worry if the content, which they want to use, is supported by their devices.
RTSP
The main aim of RTSP protocol is to establish and monitor media sessions between a server and a client. Besides, as a network control protocol, its main function lies in controlling the performance of streaming servers. One of the remarkable features that belong to RTSP is flexibility. The protocol enables switching from TCP to UDP with the purpose of providing better streaming experience. It implies the possibility to start watching media file before it is downloaded completely. This principle works for on demand as well as live streaming. Moreover, by means of RTSP protocol, users can control streaming process while running VCR-style commands: play, pause, stop and record. RTSP has some similarities in syntax and operation principles with HTTP. They both use URL structure for describing an object. However, in case with RTSP, the URL will start from rtsp://. A distinctive feature of RTSP is the usage of additional requests such as play, setup and describe. Unlike HTTP, RTSP is a stateful protocol and is capable of tracking simultaneous media sessions. Nevertheless, you should consider that delivering media data is not accomplished by means of RTSP protocol. In order to provide media files transmission RTSP servers rely on RTP and RTCP protocols.
RTP and RTCP
Real-time Transport protocol aims at transmitting media data online. RTP, as usual, is used with RTCP – RTP Control protocol. In such a way, the main function of RTP is to establish and maintain media streaming. RTCP, in its turn, monitors information about transmission, quality of services etc. It enables the synchronization of several simultaneous streams as well. Basically, RTP is considered as a standard audio and video streaming protocol through IP networks. It ensures media data consistency, which is very important for providing proper transmission via networks. As soon as, real-time streaming requires well-timed data delivery and allows some missing packages, RTP implementations are mostly based on UDP. Nevertheless, TCP is also appropriate for RTP usage, in spite of the fact that it doesn’t meet the requirements of RTP stream.
RTMP
You can hardly imagine video streaming technology without Real Time Messaging Protocol. This video streaming protocol, developed by Adobe Systems, aims at streaming media content live and on demand to Adobe Flash Player. Whereas, RTMP is a TCP-based data streaming protocol, to its high priorities belong reliable data transmission and providing stable connection. Furthermore, this protocol is flexible and enables streaming of video, audio and even text data in many formats to different devices. Can you guess which feature distinguishes RTMP from other video streaming protocols the most? We mean here its low latency from present moment, which plays a key role for live streaming. By this index, RTMP exceeds other streaming protocols like HTTP and HLS. Another great feature of RTMP – it’s a multi-platform streaming protocol, so you can use it for Mac, iOS, Android, Windows and many other platforms. As many modern protocols used for video streaming, RTMP provides an opportunity to watch the stream from any moment without waiting for its full download. Besides, as well as RTSP, RTMP enables users to control the stream with the help of similar commands and tracks the activities of users during the whole process of streaming. Nevertheless, there are also some downsides of the protocol which you’d better consider before choosing it for your video streaming activities. RTMP will not meet your expectations on iDevices and HTML5. Besides, you may experience some issues with streaming on the condition of unstable bandwidth speed, as RTMP is not adapted to such ups and downs. If you want to find out what solutions exist for these drawbacks of RTMP protocol – check this article on Letzgo blog.
At Letzgro, we have a great opportunity to observe how businesses start flourishing with implementation of cutting-edge video streaming technologies. We are more than happy to help them with this process. Waste no time in hesitating and let’s see what technology will enhance your business.
THANKS FOR THE LESSON IT WAS SO VERY HELPFUL
I love it, I just reference your article for my graduate project. Thank you so much for the knowledge.