RTMP streaming: Everything you need to know

On prod: Wondering what RTMP is and how to use it? We explain the technology that powers live video, how it works, and why you would need it.
RTMP streaming

If you live stream videos online, you’ve probably heard of RTMP. But you may not know exactly what it is, what it’s used for, or how to set it up. RTMP helps power live video streaming and has played a key role in the evolution of internet video broadcasting. This guide covers everything you need to know about RTMP streams, including how to use RTMP, what it is and why you need it as a live video content creator.

What is RTMP?

RTMP stands for Real-Time Messaging Protocol. It’s a live video streaming technology that lets you transfer data over the internet. It’s a widely used protocol for streaming video, live television and internet phone services.

High-definition video files are huge and trying to send them over the internet would take forever if it weren’t for RTMP. With RTMP, the data gets chopped up into little packets, which are faster and easier to send. Then, they’re all reassembled into a whole picture on the viewer’s screen.

RTMP streaming was first developed by Macromedia to support their Flash Player, which became Adobe Flash Player when the company was acquired by Adobe. Today, RTMP is mostly used for delivering encoded video content to social media networks, live streaming platforms and media servers.

How does RTMP streaming work?

A RTMP stream works by taking big data files, like a video, and chopping them into little packets. The packets are sent one by one from an encoder and then put back together for the viewer at the end destination. This process is what gives RTMP low latency, meaning that the delay in transferring for the data is very short. Viewers prefer low latency, so RTMP is still widely used to optimize viewer experience.

RTMP is only one part of the process when it comes to streaming live video over the internet, though. Since Flash Player is no longer supported and some browsers and mobile devices don’t accept RTMP, it’s often only used for first-mile delivery, or the first part of the video streaming process. Last-mile delivery, or the last part of the process, usually requires the help of another protocol, such as HLS (more on that later).

Here is a very simplified process of how RTMP works for live streaming video.

  1. Video capture: Your camera and mic capture your video and audio.
  2. Encoding: RTMP needs an encoder to work. The encoder processes the video and audio data captured by your camera and mic and breaks them down into tiny data packets so they can be sent to a streaming server more quickly.
  3. Server processing: Streaming servers (like YouTube’s servers if you’re streaming to YouTube) receive the data from the encoder and prepare it for viewing.
  4. Playback: The data is presented in a watchable format for the viewer, i.e. a live stream they can view on their device.
RTMP streaming scheme

What is a RTMP encoder?

You need an encoder to do a RTMP live stream. An encoder takes the data from your video and audio source and breaks it down so it’s ready to send over the internet to a streaming server. Encoders can be hardware or software. Hardware encoders tend to be more secure and reliable, but expensive. Software encoders use your computer’s resources so you need a powerful computer, but they tend to be less expensive and more user-friendly.

Your encoder sends the video and audio data to a RTMP server. If you are streaming to a social media platform like Facebook, YouTube, Twitch, Instagram, etc., the platform will already have a server to receive your data. It will then process and deliver it to your viewers as a live video.

Some popular software encoders that support RTMP streams are:

  • OBS Studio
  • Wirecast
  • XSplit Broadcaster
  • vMIx
Read our guide to the best live streaming encoders to learn more.

Which platforms accept RTMP streams?

Many modern streaming platforms accept RTMP, from social media networks to virtual event players. Facebook, Twitter, LinkedIn and Twitch are a few of the biggest social media platforms to accept RTMP streams. Online video players like YouTube, Vimeo, Dacast, Wowza and Crowdcast are also compatible with RTMP.

Virtual events have become more popular in the last few years, so platforms like Livestream, Hopin, BigMarker, SpotMe and Eventfinity have also implemented RTMP stream capability. You can even multistream with RTMP streams if you have a tool like Restream. Broadcast on social media platforms, online video players and even virtual event platforms all at once using Restream’s multistreaming feature.

How to set up RTMP

Setting up a RTMP stream properly will depend on a few factors, such as where you’re streaming to and whether you’re using a hardware or software encoder. It’s a bit more complicated if you have your own RTMP server, rather than streaming directly to a platform like Facebook or YouTube (which have servers you can stream to). There are a few more steps in the process if you’re using a hardware encoder as well.

We’ll cover the simplest way for content creators to set up a RTMP stream, using Restream. But first, let’s look at how RTMP works.

What you need for RTMP streaming

The two most important components of setting up a RTMP stream are the RTMP stream key and server URL. The stream key is a code that you need to connect your encoder to your streaming platform. When you want to start a new RTMP stream on Facebook, for example, Facebook will give you a stream key that you need to copy and paste into your encoder’s settings.

You also need a server URL to do a RTMP stream. This URL is a unique web address that links your broadcast to your streaming platform. You can typically find the server URL in the same place in your settings as the stream key.

The server URL stays the same every time you broadcast to the same platform. However, the stream key changes with each new stream.

When you’re ready to start a broadcast, you take the stream key and server URL from your streaming platform and input them into your encoder. This creates a pipeline between the two so you can send data packets from one to the other.

Create a RTMP stream with Restream

Now that you know how it works, let’s go over how to set up a RTMP stream using Restream.

You will need the RTMP stream key and URL from the platform you want to stream to.

  1. Log in to your Restream account or create one if you haven’t yet.
  2. From the Restream dashboard, click Edit Destinations, then Add Destination.
  3. Click Custom RTMP.
  4. Fill in the RTMP server URL and stream key you copied from your desired streaming platform.
  5. Click Add channel.

Note that in order to add a custom RTMP channel to Restream, you must have one of our paid plans.

Although Restream supports RTMP streaming, you don’t have to set up a RTMP stream if you want to broadcast to any of Restream’s supported services. Restream natively integrates with live streaming platforms such as Facebook, Twitch, YouTube, LinkedIn, Twitter, Trovo and DLive, so you don’t need to set up RTMP to stream to these platforms. You can simply connect your account to Restream and start broadcasting.

You can also use Restream Studio, our browser-based live streaming studio, to customize and control your stream directly from your web browser. You don’t need an encoder — simply connect your desired platforms and start streaming.

Some of the benefits of using Restream Studio for RTMP streaming are:

  • No extra bandwidth or computer resources required to stream
  • Multistreaming to several platforms at once
  • Adding guests from around the world to your stream
  • Easily changing scenes, layouts and graphics on your stream
  • Monitoring the live chat from each platform you’re streaming to in the Restream Studio dashboard
  • Getting helpful insights on your live streams with Restream’s analytics feature
  • Combine Restream with another streaming software like Zoom via RTMP source

Is RTMP outdated?

Since RTMP was developed for use with Flash Player and Flash Player is now dead, some people think RTMP is outdated. However, it’s still widely used because it’s a good low-latency streaming option. Other benefits of RTMP are:

  • It can offer secure, cloud-based streaming through RTMPS, a more secure version of RTMP.
  • It maintains constant contact between the server and the video player, a major plus for the viewing experience.
  • It’s still compatible with most live streaming video services.
  • It’s easy to set up once you get started.

Although RTMP is still useful, it has some drawbacks:

  • You need high internet bandwidth to use it.
  • You can’t use it to stream to large audiences on multiple servers.
  • Many browsers and embedded video players don’t accept RTMP streams.

Although many browsers, devices, and video players don’t accept RTMP anymore, you can still use it for first-mile delivery. You just need to use another streaming protocol to do the last-mile delivery.

RTMP vs. HTTP streaming

RTMP is based on the Transmission Control Protocol (TCP). Other protocols that help with last-mile delivery, such as HLS, are based on HTTP (HLS stands for HTTP Live Streaming). HTTP is more secure and easier to scale up for larger audiences.

HLS was developed by Apple to help deliver live video to their devices and is now widely used for live video streaming. It incorporates adaptive bitrate streaming (ABS), which means it adjusts the video quality based on the viewer’s available internet bandwidth.

Since it’s based on HTTP, HLS is more secure than RTMP and the ABS helps make the viewing experience smoother. It has high latency, however — between six and 30 seconds. That’s why one of the most common configurations for streaming live video today is combining RTMP for first-mile delivery with HLS or another HTTP protocol for last-mile delivery.


What is RTMP streaming?

RTMP is the Real-Time Messaging Protocol that allows you to live stream video over the internet. It was originally developed for Flash Player but is now used for live video streaming on social media networks, media servers and streaming platforms.

Why is RTMP used?

RTMP was developed for use with Flash Player but it’s still popular today because it maintains persistent contact between RTMP servers and end destinations and allows for low latency. Many web browsers and devices no longer accept RTMP so it’s often used in combination with another streaming protocol to deliver the live video to the viewer.

Is RTMP still in use?

RTMP is still very much in use because it offers low-latency live video streaming. Its purpose has changed since it was first developed but it still remains a popular choice for sending video over the internet.

What is a RTMP URL?

The RTMP URL, or server URL, is a unique web address that you need to deliver your live video broadcast to a streaming platform. You need a RTMP URL to set up a RTMP stream, and you can usually find it in the settings of the streaming platform you’re using.

How do I create a RTMP URL?

When you want to start a new broadcast on a streaming platform, the platform will create a RTMP URL for you. You must input this URL into your encoder in order to send the video and audio captured by your camera and mic to the streaming platform.


RTMP plays a crucial role in online video broadcasting; it’s helped shape the live video streaming industry over the last several years. Although it’s not as front-and-center as it used to be, RTMP is still a technology you should know about if you want to stream live videos online. Restream makes setting up RTMP streams easy, with an intuitive platform that helps even beginning streamers go live in just minutes.

Get started today.

It feels good to reach more viewers.

Try it for free