文章目录
Secure Reliable Transport
Good Morning everyone,it’s my turn to share my presentation about Secure Reliable Transport.
content
As you can see,my presentation is divided into four parts.
Introduction
SRT is a transport protocol that enables the secure,reliable transport of data across unpredictable networks.Such as the Internet.While any data type can be transferred via SRT,it is particularly optimized for audio/video streaming.
It can be seen from the picture that ,the result recovers better from severe packet loss via SRT.
So SRT can be applied to deliver the best quality and latency video at all times.
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.
look at the picture,Encoder is source,Decoder is destination,through lossy network,the data on the receiver side is different from source.
when using SRT,the data in the destination is roughly the same as the source.
SRT Data Exchange
The diagram provides a high level overview of the data exchange (including control data) between two peers in a point-to-point SRT session.Note that the roles of the peers change over the course of a session .For examples,the peers may start as Caller and Listener during the handshake,but then become Sender and Receiver for the data transmission portion.
SRT Data Transmission and Control
This section describes key concepts related to the handling of control and data packets during live streaming of audio and video.
Buffers & Latency
When an application (such as an encoder) provides data packets to SRT for transmission,they are stored in a circular send buffer.They are all numbered with sequence IDS.Packets remain there until they are acknowledged,in case they need to be retransmitted.
Time here is shown going from left to right,with the most recent packet at the right.The receiver has a corresponding buffer.Packets are kept in that queue just until the time that the oldest packet is delivered for output.
Latency is a value specified in milliseconds.The sliding latency window can be thought as a zone in which an SRT receiver can recover(most) packets.On the other side,the sender’s buffer also has a latency window.
The sender has a corresponding receiver queue for bidirectional communication. In the handshake packet,the sender will provide both its preferred Tx latency and a suggested “peer latency”(the value for the Receiver’s Tx). The Receiver responds with corresponding values.The proposed latency values are evaluated on both sides(and the larger values chosen) within a single RTT period.
ACK,ACKACK & RTT
Round-trip time (RTT) is a measure of the time it would take for a packet to travel back and forth. SRT can not measure one-way transmission time directly,so it uses a half of RTT ,which is calculated based on an ACK. An ACK (from a receiver) will trigger the transmission of an ACKACK(by the sender),with almost no delay. The time it takes for an ACK to be sent and an ACKACK to be received is the RTT.
The ACKACK tells the receiver to stop sending the ACK position because the sender already knows it. Otherwise,ACKs (with outdated information) would continue to be sent regularly. Similarly, if the sender doesn’t receive an ACK, it doesn’t stop transmitting.
NAK
If packet #4 arrives in the reveiver’s buffer, but not packet #3, a NAK is sent to the sender. This NAK is added to a compressed list (the periodic NAK report) that is sent at intervals to mitigate the possibility that individual NAKs may themselves be delayed or lost in transmission.
Bandwidth overhead
The control packets associated with an SRT stream do, of course, take up some of the available bandwidth, as do any media packet retransmissions.
The SRT Bandwidth Overhead is a percentage you assign, based in part on the quality of the network over which you will be streaming. Noisier networks will require exchanging more control packets, as well as resending media packets, and therefore a higher percentage value.
Note: SRT Bandwidth Overhead should not exceed 50%. The default value is 25%.
Summary
In summary, SRT has the following characteristics, Fast connection and retransmission, Rich control information,such as ACK, ACKACK and RTT.
Buffer sizes in milliseconds to control Latency
Timestamp-Based packet delivery
The disadvantage is SRT imposes significant bandwidth overhead to achieve the necessary level of packet loss recovery.