What is RTMP?
The Simple Explanation
RTMP is short for Real-Time Messaging Protocol. For years, it has been the standard content delivery protocol for delivering live video over the internet for almost every encoder and live streaming platform.
But why is it important? And how do you use it? We’ll tell you what you need to know, so you can easily use RTMP for all your live streaming needs.
What is RTMP?
RTMP is a content delivery protocol that transmits encoded video content to a hosting server where a user can view it. Think of it as the vehicle that delivers your video from its source to your preferred destination.
Even though newer live streaming protocol technologies are out there (SRT for one), RTMP has been a proven low-latency streaming technology for delivering live video from the camera to the internet.
Here’s a basic breakdown of a live stream to see where RTMP fits in the big picture.
A camera captures video and audio as the raw signal. An encoder converts the raw signal into a digital format that’s used on content delivery networks (CDNs). Then, you stream via RTMP to a CDN (like Youtube, Facebook, and Wowza). Finally, your viewers can watch and enjoy your video.
How does RTMP work?
Here's a quick overview of RTMP functionality.
- Handshake: The encoder (video source) talks to the server (destination platform), which is accessed by the Ingest URL to get on the same page.
- Connection: The server gives a thumbs up to receive the video signal and allows the encoded video to stream into the RTMP Ingest.
- Stream: The video is now able to stream from the encoder to the video platform for the viewer to watch. The platform will re-encode the RTMP ingested video in real-time to other formats, resolutions, and bitrates for viewers with slower internet speeds.
How do I use RTMP?
You’ll notice RTMP as an option on live streaming platforms – like Facebook Live, YouTube, and Vimeo – as a custom destination with an “ingest URL” and “stream key” that you are instructed to plug into the settings of your hardware or software encoder.
To get started using RTMP, you’ll need:
1. An encoder that supports RTMP transmission: Hardware encoders like the Teradek Wave, Vidiu X, Prism and Cube 700 series all support it. You could also opt for software encoders like OBS and Streamlabs.
2. Destination platform that offers RTMP Ingest: Popular platforms like Youtube, Facebook Live, and Twitch ingest RTMP.
Let’s use the Teradek Wave and YouTube as an example. In the event settings of a YouTube live stream, find the ingest URL and stream key as seen here:
Create a new event on the Teradek Wave. Set the destination to RTMP (using RTMP quick stream for Wave). Then copy and paste the ingest URL and stream key into your encoder settings. We recommend using the WebUI for the Wave for easier copying and pasting.
And that’s it! You’re set to stream via RTMP to YouTube.
Some important tech tips:
Tip #1: Video Codecs: H.264 recommended
Tip #2: Audio Codecs: AAC recommended
Tip #3: Check your platform’s recommended bitrate and resolution settings
Should I use RTMP?
Since encoders allow you to use your social accounts like Facebook, YouTube, and Vimeo to stream from, why not stream directly from your social?
Well, platforms like Facebook regularly change their authentication code, which can break the connection between your encoder and Facebook. To avoid this, you should use RTMP to get direct access to the CDN by plugging in the ingest URL and stream key into your encoder. Make note that different CDNs may have different stream key formats, and they may change between live stream events. Always make sure you have the most recent stream key!
Also, if you’re streaming for a client, it’s a bit awkward to ask for their login information, or to be added as an admin for a channel. With RTMP, there’s no awkward password handling or authorizations needed.
Once you’ve mastered using standard RTMP, it’s a great idea to familiarize yourself with the other flavors of RTMP, such as RTMP(S) and RTMPE.
Until then, happy streaming.