By Isaac Chen, Lumens
June 02, 2022 25019
SRT stands for "Secured Reliable Transmission." It is an open-source video streaming protocol developed by Haivision for sending videos live from one location to another over the Internet. SRT is specifically designed to stream over challeng networks, such as the Internet. The public Internet is ubiquitous and low-cost but also unpredictable and unreliable with bandwidth fluctuations. To address this particular problem, the core value of SRT is set to be "Secure" and "Reliable" for can be over any distance transmission. First, SRT is encrypted. Second, SRT has an anti-packet-loss mechanism to prevent the transmission from delays, jitters, and packet losses due to network congestion.
AES stands for "Advanced Encryption Standard" and has evolved over a decade. AES is an encryption method that can encrypt information (text messages, video files, streams, etc.) to make it indecipherable unless someone has the correct digital key to decrypt the information. As cybersecurity is becoming more and more imperative, many broadcasters, enterprises, governments, and other organizations believe that their private live video streams need to be completely protected.
SRT adopts AES-256 encryption. The number indicates the size of the digital key. AES technology uses different key lengths. 128, 192, or 265 bits - the longer the key, the stronger the encryption. SRT uses AES-256 for end-to-end security to protect video streams from unauthorized viewers. Without the correct key, you will be unable to access the content.
Check more details in this Haivision blog: https://www.haivision.com/blog/all/video-security-aes-encryption/
SRT is a UDP-based, low latency streaming protocol with ARQ packet loss recovery. UDP is a fast, and yet unreliable transmission protocol over public networks. SRT is a significantly modified version that keeps the advantages of UDP in fast speeds and low overheads. ARQ further ensures the "Reliability" in SRT supported live video streaming.
The majority of the public Internet transmission is through TCP/IP (Transmission Control Protocol over Internet Protocol). TCP protects streams from packet loss by requiring receivers to acknowledge every received packet. This means receivers must send an acknowledgment signal (ACK) to indicate that senders have successfully transmitted the data. If the packet is lost, the sender should resend the data. This measure ensures reliability in transmission. However, too many ACK signals introduce delays and dramatically reduce the bandwidth efficiency. The transmission becomes highly inefficient, especially for real-time video streams over a long distance of transmission.
ARQ (Automatic Repeat Request) conducts a different packet retransmission method, better suited for sending live video streams. Instead of acknowledging every packet received, ARQ only sends a negative signal when a packet is lost. We call it negative acknowledgment (NAK) or loss report. If a packet gets lost along the way, the NAK signal will be sent back to the sender. The sender will then retransmit the packet to the receiver. This approach makes SRT ideal for real-time streaming over the public Internet in terms of latency and bandwidth fluctuations.
For more information, please check: https://www.haivision.com/blog/broadcast-video/low-latency-video-packet-loss-arq-fec/
SRT Alliance: https://www.srtalliance.org/members/