media server logo

What is SRT protocol

In this tutorial, we will dive deep into how the SRT protocol works, what are its features and differences from other video transmission protocols.

So what is SRT?
SRT is a real-time video transmission protocol.
At the moment it’s the most advanced video transmission method, comparing to others. SRT has a large amount of parameters available for fine tuning and it also allows to organize video broadcasts with a minimum amount of data loss. SRT supports modern codecs, such as H.265 for example, which significantly increases traffic savings.

For starters, let’s talk about core ideas underlying video transmission in today’s world and what is the basis of the SRT protocol.

As of August 2021 there are 2 ways of organizing data transfer on the Internet : it can either be a transfer based on the TCP transport protocol or the UDP protocol.

UPD based transmission
UDP based transmission allows video packets to be transmitted in real time, but does not guarantee their delivery to the recipient. In bad network conditions data gets discarded along the way and never reaches the recipient. It often happens when the receiver’s channel is too small and does not meet the technical requirements for receiving data packets.

TCP based transmission
TCP-based transmission is a controlled solution, but unfortunately it does not allow real-time transmission. Video protocols based on TCP (for example, RTMP or HLS) send chunks of video and then wait for TCP to fully acknowledge the delivery of each video chunk. This is certainly a good thing, but this procedure is very time consuming. The latency of these protocols is at least 10 seconds, which is not acceptable for most broadcasting companies and live TV.

SRT protocol was developed to work around these kind of issues. In fact, we got a fully managed data sending solution that provides control over the recovery of lost packets and at the same time works in real time. Fantastic, isn’t it? SRT has special built-in algorithms to ensure control during the data transfer.

Now let’s take a closer look at the advantages of the SRT protocol :

1. Support for modern compression codecs
HEVC (a.k.a. H.265) is a more powerful video compression codec compared to H.264. The main difference is that HEVC (H.265) allows you to further reduce the file size and therefore reduce the required bandwidth for live streaming video.

Reducing bandwidth has a twofold benefit:
• First, it reduces the load on clients outside of NAT.
• Second, it reduces the cost of transferring data from cloud providers like Amazon Web Services or Microsoft Azure. Those are charging for every transferred gigabyte.

Moreover, the higher the resolution, the stronger the compression works, which means a greater saving of resources.

2. Powerful mechanism of controlling the recovery of lost packets
SRT protocol is equipped with a real-time packet loss recovery system. Whenever a packet is not delivered to the receiver, the protocol will try to request the packet again. Due to the well-thought-out architecture of the protocol, this lost packet has time to recover in the receiver’s buffer, shortly before it is played. As a result, the user receives an accurate sequence of video frames. Network glitch does not affect the video playback quality.

3. Flexible adjustment to the network features
SRT allows to customize almost all of its architectural elements, so that users can determine the best fitting configuration of settings. For example, in networks with a high ping, the solution to the problem is a properly selected delay. In networks with limited bandwidth, throttling the maximum bandwidth becomes the solution. In networks with “weak” sender or receiver devices, the solution is to adjust the size of the sender or receiver buffer, and etc.

4. Support for hardware video encoders and decoders
Today, SRT is the standard for most video hardware manufacturers. Video transmission between physical encoders and decoders via SRT can significantly reduce both latency and computation costs by moving the computations to separate specialized devices.

5. Powerful data protection
Data transmitted over the SRT is encrypted out of the box, as it’s indicated by its abbreviation “Secure Reliable Transport”. Besides that, SRT protocol optionally allows encrypting sessions with an additional password, to eliminate any attempts to make attacks in the middle.

6. Multi-channel audio transmission support
SRT allows to transmit up to 8 audio channels simultaneously, which makes broadcasting very flexible. Broadcasting multiple audio channels can be useful if you need to organize simultaneous translation into a number of languages in one video stream.

SRT protocol and Callaba Cloud

SRT protocol is a brilliant technology and innovation developed by Haivision, a very significant improvement for the whole video industry. We decided to take this innovation and dive deep into it. We are developing Callaba Cloud to make sure people can use this protocol to its fullest abilities in their projects. We wanted our users to be able to organize broadcasts of the highest possible quality and to provide their audience a really great viewing experience.

Callaba Cloud might be a good fit for you :

1. If you want to organize broadcast via SRT. We support popular programs like OBS Studio, vMix, Larix Broadcaster, Larix ScreenCaster.
Callaba Cloud is also fully compatible with hardware video encoders and decoders.

2. If you need to organize geo-distributed routing of video streams. For example, to transfer video to another region with minimal delay.

3. If you need to connect a large number of broadcasters or viewers. Callaba Cloud supports network routing to an unlimited number of servers.

4. If you want to restream incoming SRT streams to a social network. All modern social networks are supported, such as Youtube, Twitch, Facebook etc. You can also restream to a number of platforms at the same time.

5. If you want to record your SRT streams and have no restrictions on the amount of recorded data. Callaba Cloud in conjunction with AWS allows you to allocate as much disk space as you need.

That’s all. If you have any questions, please contact us at [email protected], we will reply to you within 24 hours.

Related articles :
• How to launch Callaba Cloud Live Streaming
• How to start streaming in OBS Studio over the SRT Protocol
• How to receive SRT stream in OBS Studio
• How to stream from OBS studio to Twitch, Youtube and Facebook at the same time
• How to set up geo-distributed routing of video streams using SRT protocol and Callaba Cloud