Phil feature annoucements: SRT

0:00

Phil: Hey, Phil from Mux here with a quick demo of

0:03

how you can use SRT on Mux to deliver a great live streaming

0:07

experience even when the network you're sending a video

0:10

from is less than perfect.

0:12

Okay, so on the left I've got OBS playing my favorite movie,

0:16

Big Buck Bunny, and I've got my live stream on the right.

0:20

My live stream at the moment is going out over RTMP, it's

0:23

going out at about seven megabits a second, it's

0:25

completely stable, no drop frames, anything like that.

0:29

If we take a look at the live stream health, it seems fine,

0:32

completely stable, about 7 megabits, 30 frames a second.

0:36

So what I'm going to do is I'm going to use Network Link

0:39

Conditioner to introduce some problems on this network.

0:43

So I'm going to introduce 100 milliseconds of

0:46

extra latency, as well as introducing 5 percent

0:49

packet loss on both packets sent and packets received.

0:53

Let's see what that does to our RTMP stream.

0:58

So, if we keep an eye on the bottom of OBS, we'll

1:00

start to see really quickly, we start dropping frames.

1:04

Way above like the 5 percent of packet loss

1:06

that we introduced.

1:08

Um, eventually we'll probably actually see this gets a

1:10

full RTMP disconnect as well, and then we'll start

1:13

to see reconnects kicking in.

1:15

If we take a look at the mux dashboard, obviously

1:17

we see this big dive off in the bit rate and obviously

1:22

the frame rate as well, so you probably wouldn't

1:24

be able to watch this.

1:25

It would be a pretty stuttery mess on the playback side.

1:29

It's taking a lot longer than you want the frames

1:30

to get into the encoder.

1:32

Let's take a look at what this looks like with SRT instead.

1:36

Okay.

1:36

Now that live stream stopped, let's reconfigure

1:39

OBS to use SRT.

1:41

To do this, I need the SRT URL, stream key, passphrase,

1:46

but I'm also going to set up the latency of a connection.

1:49

So what this does is it tells.

1:51

SRT, how much buffer to keep on each end of a connection

1:55

to compensate for packet loss, reordering, jitter, latency,

1:59

all those sorts of things.

2:01

So I've set that to two seconds in this case,

2:04

which should be enough for the issues that we're

2:07

introducing on the network.

2:08

So let's start that stream again.

2:10

Okay, so our live stream's back up, now

2:13

let's do the same again.

2:14

Let's turn on our network link conditioner and see

2:17

what happens to our SRT stream with 5 percent packet

2:21

loss and that extra 100 milliseconds round trip time.

2:24

If we take a look down here, it doesn't look like

2:27

we're dropping any frames.

2:29

We might see the bitrate start to spike a little bit,

2:31

and that's because, hey, we're having to resend a

2:33

bunch of extra frames, so sending some extra data.

2:36

Let's see how it looks.

2:38

So far so good.

2:40

Our live stream looks pretty stable.

2:42

We're not dropping any frames.

2:44

Our frame rates consistent, bit rates are consistent.

2:47

So it looks like things going well, even though

2:50

we're dropping quite a lot of packets.

2:53

This is what SRT is designed for.

2:55

It's designed to handle these imperfect network conditions

2:58

and make sure you can still live stream when this happens.

3:01

Let's take a look at how our asset looks.

3:04

Looks pretty good to me.

3:06

Even with all of that packet loss and all

3:10

that extra latency.

3:11

So there you go That's how you can use SRT to improve

3:14

reliability of your live streams, even when the

3:17

network isn't perfect.

3:19

Hope you enjoy it