Although the SRT streaming protocol has been on the market for a relatively long time, it has become more popular lately. That’s why we prepared this comprehensive guide for you to learn everything about the SRT streaming protocol.
Table of Contents
What is the SRT streaming protocol?
Developed and pioneered by Haivision, SRT stands for Secure Reliable Transport. SRT protocol is a royalty-free, open-source video transport protocol that supports low-latency and high-performance streaming. With secure streams and simplified firewall traversal, SRT delivers the best quality video over the worst networks.
SRT in a nutshell
- Audio codecs: Codec-agnostic
- Video codecs: Codec-agnostic
- Playback compatibility: Limited (VLC Media Player, FFPlay, Haivision Play Pro, Haivision Play, Larix Player, Brightcove)
- Benefits: High-quality, low-latency video over suboptimal networks
- Drawbacks: Not widely supported for video playback
- Latency: 3 seconds or less, tunable based on how much latency you want to trade for packet loss
History of SRT
Secure Reliable Transport is an open-source video transport protocol developed originally by Haivision. It was publicly demonstrated for the first time at IBC 2013. There is an organization behind the SRT streaming protocol called SRT Alliance. According to SRT Alliance, it optimizes streaming performance, helping minimize the effects of jitter and bandwidth changes, while error-correction mechanisms minimize packet loss.
“In addition to sending MPEG transport streams over the public internet, it is also being used for IoT connectivity, metadata exchange, as a communication protocol, as well as for uncompressed data delivery,” says Marc Cymontkowski, the architect of SRT.
SRT is used by thousands of organizations globally in a wide range of industry applications, from IP cameras, video encoders, and decoders to gateways, OTT platforms, and CDNs. SRT has also been adopted by leading industry open-source technologies including VLC by VideoLAN, GStreamer, Wireshark, FFmpeg, Libav, and most recently, OBS Studio.
How does SRT work?
SRT streaming protocol helps video creators to solve the latency challenges of live video transport, such as packet loss, jitter, and bandwidth limitations.
As packets are streamed from a source to a destination device, SRT detects and adapts to the real-time network conditions between the two endpoints. This helps compensate for jitter and bandwidth fluctuations due to congestion over noisy networks. Its error recovery mechanism minimizes the packet loss typical of Internet connections.
SRT provides a secure and reliable solution for low latency video transport and includes:
- End-to-end security with AES 128/256-bit encryption
- Packet loss recovery through advanced low latency retransmission techniques
- Video and audio stream timing recovery
- Simplified firewall traversal
- Network health monitoring between endpoints (packet loss, latency, jitter)
How SRT works is summarized in Haivision’s whitepaper.
SRT has its roots in the UDP-based Data Transfer (UDT) protocol. While UDT was designed for high throughput file transmission over public networks, it does not do well with live video. SRT is a significantly modified version that supports live video streaming.
Low latency video transmission across IP-based networks typically takes the form of MPEG-TS unicast or multicast streams using the UDP protocol. This solution is perfect for protected networks, where any packet loss can be mitigated by enabling forward error correction (FEC).
Achieving the same low latency between sites in different cities, countries or even continents is more challenging. While it is possible with satellite links or dedicated MPLS networks, these are expensive solutions. The use of cheaper public internet connectivity, while less expensive, imposes significant bandwidth overhead to achieve the necessary level of packet loss recovery
Even though UDT was not designed for live streaming, its packet loss recovery mechanism provided an interesting starting point. The original version of SRT included new packet retransmission functionality that reacted immediately to packet loss to enable live streaming. To achieve low latency streaming, SRT had to address timing issues.
The characteristics of a stream from a source network are completely changed by transmission over the public internet, which introduces delays, jitter, and packet loss. This, in turn, leads to problems with decoding, as the audio and video decoders do not receive packets at the expected times. The use of large buffers helps, but latency is increased.
SRT includes a mechanism that recreates the signal characteristics on the receiver side, dramatically reducing the need for buffering. This functionality is part of the SRT protocol itself, so once data comes out of an SRT connection on the receiver side, the stream characteristics have been properly recovered.
What are the benefits of using the SRT protocol?
- Pristine video quality: SRT streaming protocol is created to avoid jitter, packet loss, and bandwidth fluctuations due to congestion over bad network conditions for the best viewing experience possible. This is done through advanced low latency retransmission techniques that compensate for and manage the packet loss. SRT can withstand up to 10% packet loss with no visual degradation to the stream.
- Cost-effectiveness: Replaces expensive satellite networks or rigid MPLS networks with the more affordable and flexible internet. You don’t need fancy networks. 🙂
- Low latency streaming: Despite dealing with bad network conditions, it guarantees that video and audio are delivered with low latency. It has the combined advantages of the reliability of TCP/IP delivery and the speed of UDP.
- Secure end-to-end delivery: Industry-standard AES 128/256-bit encryption ensures the protection of content over the internet. SRT protocol provides simplified firewall traversal.
- Operational flexibility: It provides video streaming in any environment where there is the Internet and creates 2-way communication and interaction.
- Compatibility: Users can confidently deploy SRT across all video and audio streaming workflows, knowing that multivendor products will work together seamlessly. This feature is quite useful for some usage scenarios.
- Open source: Royalty-free, SRT can be implemented using a free, open-source code base available on GitHub with Mozilla Public Licence. SRT protocol leads to cost-effective, interoperable, and future-proofed solutions.
“By opening up this technology to the world, SRT is the low-latency glue that bonds the video streaming ecosystem closer together – improving the way we all stream by reducing internet streaming latency for the best viewing experiences” says Peter Maag, EVP & CMO of Haivision.
Who uses SRT?
SRT streaming protocol is used by thousands of organizations globally for a wide range of applications, from IP cameras, video encoders, and decoders to gateways, OTT platforms, and CDNs. SRT is being used and endorsed by major technology companies across the globe such as AWS and Microsoft. Some end users like the NFL, Comcast, Al Jazeera, Fox News, Sky News, and even NASA have come to rely on SRT to power their some of broadcast and streaming workflows.
SRT streaming with Ant Media Server
We have been getting a lot of requests about the SRT streaming protocol to ingest, and this feature is now available in the Enterprise Edition. Now, you can push streams to Ant Media Server with SRT and can play not only with WebRTC but also with all other formats (e.g HLS, CMAF), and record it as MP4. Adaptive streaming is also supported for SRT ingest.