UDP (FTL) vs TCP (RTMP)

This article is going to provide a light over view of two different protocols available for streaming to Mixer. You’ve heard all about Mixer’s incredible Faster than Light (FTL) protocol and how it provides a sub second delay between the streamer and viewer.

FTL is great and is one of the appeals of streaming to the Mixer platform but it may not always be the best choice for every streamer in every scenario. I’m going to break down why you may want to choose RTMP over FTL and vise versa.

I’m going to assume you know what a packet is but just in case here is the definition.

Packet a unit of data that is routed between an origin and a destination over the Internet.

If you try to Google “protocol” or “internet protocol” you get some funny definitions that include the word “protocol” in the definition. Protocol really just means “set of rules”.

If you try to Google “protocol” or “internet protocol” you get some funny definitions that include the word “protocol” in the definition. Protocol really just means “set of rules”.

Protocol a set of rules governing the exchange or transmission of data between devices.

UDP, FTL and You

First, it’s important to understand what UDP (User Datagram Protocol) means and the relationship it has with FTL.

UDP is an internet protocol which transmits data over the internet in what is known as a “connectionless” protocol. It’s connectionless because UDP does not confirm any connection between the origin and the destination. UDP does not do any checks for lost packets, they simply disappear.

UDP is used in applications that depend more on speed than reliability. It’s used in applications like multiplayer video games where speed between the server and the users is critical.

You may as why Mixer uses this protocol because your stream should be reliable, right? Well, it is. It’s just less reliable than a considerably slower RTMP/TCP stream.

When you stream FTL your stream is sent to the Mixer ingest server using the UDP protocol. When you start your stream, your computer starts to send data packets straight to the ingest server one after the other in rapid succession. This is what gives you that glorious sub second delay.

You’ll want to stream using FTL if you have a fast reliable internet connection and you’re using a wired ethernet cable (improves reliability) with your streaming PC.

If you stream, directly from your Xbox your only option is FTL. Your Xbox will adjust bitrate/quality/fps on the fly in order to keep your stream live since it prioritizes keeping your stream live over quality.

TCP, RTMP AND YOU

Again, it’s important to understand what TCP ( Transmission Control Protocol) means and the relationship it has with RTMP.

TCP is an internet protocol which transmits data over the internet in what is known as a “connection” protocol. It’s connection based because TCP confirms a connection between the origin and destination in what is known as a “handshake”.

The handshake is a confirmation of a connection between the origin and destination. The origin sends a packet to the destination, the destination confirms it and sends a packet back to the origin and then the origin proceeds to send all the information it wants.

TCP is used in applications like Netflix where a few seconds delay between the user and the server are non-critical.

You’ll want to stream with RTMP if you have a slower, less reliable internet connection. A slower connection can be considered ~1-2Mbps or if you are forced to use Wi-Fi or your ISPs router/modem.

Don’t Be Afraid to USE RTMP

Don’t be afraid to stream with RTMP if you are unable to get a good quality, lag free stream. You can reference my basic OBS recommend settings and if you still lag when you may want to consider RTMP. You may also want to read about bitrate.

In future articles, I’m going to provide more information on how to perform and read a trace route, run a WINMTR, read your OBS/Stream Labs OBS logs and check your UDP upload speed for FTL.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.