Video Education: What is SRT?
SRT is an open source
contribution protocol
for moving video
between two points.
It's a protocol designed for
reliability and high quality
video delivery, even when the
network is less than perfect.
I know what you're
all thinking.
Isn't that a subtitles format?
We're talking about
Secure Reliable Transport.
Confusing that there's two video
related acronyms for SRT?
Yeah, really annoying.
Believe it or not, SRT has
been around about a decade
at this point, originally
demoed by Haivision at
IBC back in 2013, and then
open sourced a couple of
years later on GitHub.
If you're already
live streaming, then
you're probably live
streaming over RTMP.
RTMP is ultimately connection
oriented, it works over TCP.
It's really easy for a TCP
connection to get dropped,
or a bit of packet loss, or
a bit of jitter, and to cause
a live stream to run into
network connectivity problems.
And that means you're
kind of only one dropped
TCP connection away
from an interruption
to your live stream.
Under the hood SRT is working
at a different network layer,
running over UDP rather than
TCP, so you don't have that
connection oriented component
of the communication.
All of the reliability
features are implemented at
the protocol level instead.
Obviously, if some packets
go missing, some packets
do occasionally go missing,
SRT holds a buffer on both
ends of the connections.
And the size of this buffer
is configurable when you
connect to an SRT endpoint.
And so, for example, you
have a second of frames on
either end of the connection.
And then if some packets get
lost or reordered, You can
resend those lost frames to
fill that gap in the buffer.
Obviously, interestingly,
what this means is you
can trade off latency for
reliability within SRT.
So if you increase your buffer
size, there's more opportunity
to recover if you do encounter
those horrible internet
connectivity problems.
And SRT is a great option
for all of those social,
user generated video apps
that you've been building
on mobile recently.
Because, hey, you're more
likely to be connected
over WiFi or a cellular
network where SRT can shine.
So that's SRT, a modern,
reliable ingest protocol,
much better than RTMP, that
lets you improve reliability
of your live streams.
It's now GA on Mux.
That's where I work.