Custom RTMP Explained: Server URL, Stream Key and Setup
What custom RTMP means
Custom RTMP is a way of setting up a live stream destination by typing in the RTMP address yourself, instead of picking a named service from a list. You enter two values: a server URL (where to send the stream) and a stream key (which channel or event it belongs to). Your encoder then publishes the stream to that address over RTMP, or over RTMPS if the address starts with rtmps://.
The idea is the same everywhere, but the label changes. Instagram calls it Custom RTMP, LinkedIn calls it a custom stream (RTMP), Facebook tells you to set your software to Custom Streaming Server or RTMP Server, and Kick's OBS steps change the service to Custom.... This guide explains each part of a custom RTMP destination, where the platforms show the values, how to use one when you multistream, and how to fix the errors people hit most. It uses only the platforms' own documentation, checked on October 16, 2026. For a one-line definition, see the streaming glossary.
The two values: server URL and stream key
Most streaming software has two fields for a custom destination. The server field (also called the stream URL, ingest URL or RTMP URL) holds the address of the platform's ingest server. The stream key field holds a private code. Twitch's developer documentation shows how the two fit together: every broadcast uses an RTMP URL of the form rtmp://<ingest-server>/app/<stream-key>, where the ingest server is a specific Twitch server and the stream key, which Twitch assigns, uniquely identifies the stream.
| Part | Example from official documentation | What it does |
|---|---|---|
| Scheme | rtmp:// or rtmps:// | Plain RTMP, or RTMP over an encrypted TLS connection (RTMPS) |
| Host (ingest server) | sfo.contribute.live-video.net (Twitch's example) | The server that receives your stream |
| Port (optional) | :443 (YouTube's RTMPS example, Kick's LiveU note) | Only needed when the platform or your software asks for it |
| Application path | /app (Twitch) or /stream (YouTube's example) | Part of the server URL; copy it exactly as shown |
| Stream key | live_user_123456789 (Twitch's sample key) | Identifies your channel or event; keep it secret |
Two practical points follow from this. First, the server URL already contains everything except the key, including any path such as /app, so copy it whole and do not add the key to it when your software has a separate key field. Second, if a tool only has one field, it usually wants the combined form server-url/stream-key. Our RTMP URL and stream key helper shows how each platform describes its values, and what is a stream key explains the key itself.
rtmp:// or rtmps://
The scheme at the start of the server URL decides whether the connection is encrypted. YouTube describes RTMPS as RTMP over a Transport Layer Security (TLS/SSL) connection that provides encryption, and recommends it. With plain RTMP nothing is encrypted, including the stream key your encoder sends when it starts publishing; with RTMPS the whole connection runs inside TLS.
- YouTube shows the ordinary RTMP URL by default. Click the lock icon in the Stream URL field to reveal the RTMPS URL.
- Twitch publishes both an
rtmp://and anrtmps://URL template for each server in its ingest server list. - Facebook says to enable a secure connection (RTMPS) if your software supports it.
- Kick gives an
rtmps://address. LinkedIn says it supports both RTMP and RTMPS.
The rule of thumb is simple: use the RTMPS address when the platform offers one and your software supports it, and keep the scheme and the server together. YouTube's troubleshooting says both the protocol and the server should be rtmps, not just rtmp. Some RTMPS addresses also carry a port: YouTube's example is rtmps://, and Kick's note for LiveU Studio adds :443/app to its stream URL. Only add a port when the platform or your software tells you to.
Service presets vs Custom
Streaming software usually offers two ways to add a destination. A service preset is a named entry, such as a platform you pick from a list, where the software already knows the server addresses and you mostly paste a key or sign in. Custom means the software knows nothing about the destination: you supply the full server URL and the key yourself.
Choose Custom when:
- the platform you want is not in your software's list;
- the platform's own instructions tell you to (Instagram, for example, says Instagram Live must be added as a Custom RTMP endpoint);
- you are sending to a multistreaming relay, which gives you its own ingest URL and key;
- you run your own RTMP server, or a partner or venue gives you an address to send to.
The trade-off is that a preset can handle server selection for you, while with Custom an exact copy of the URL is your job. Instagram notes that where you enter a custom RTMP destination differs between platforms but is most often in the stream settings, and Facebook asks you to check your encoding software's documentation for custom RTMP.
Where each platform gives you a custom RTMP address
Every platform below gives you a server URL and a stream key to paste into a custom destination. What differs is where you find them, whether the key lasts, and which protocol is documented.
| Platform | What the platform calls it | Where it shows the URL and key | Protocol it documents |
|---|---|---|---|
| YouTube | Stream URL and stream key | Live Control Room, Stream tab | RTMP shown by default; the lock icon reveals the RTMPS URL, which YouTube recommends |
| Twitch | RTMP URL in the form rtmp://<ingest-server>/app/<stream-key> | Broadcaster dashboard on twitch.tv, or the Get Stream Key API | RTMP; Twitch's ingest list gives an rtmp:// and an rtmps:// template for each server |
| Server URL and Stream key; set your software to Custom Streaming Server or RTMP Server | facebook.com/live/create, video source Streaming software | Enable a secure connection (RTMPS) if your software supports it | |
| Kick | Stream URL and Key; in OBS, service set to Custom... | Creator dashboard, Channel, Stream URL and Key | An rtmps:// address |
| LinkedIn Live | Custom stream (RTMP) | Live Studio, Manage streams, Prepare to go live, Get URL (per event) | RTMP and RTMPS |
| Custom RTMP | Live Producer on instagram.com (limited access) | Instagram says to add Instagram Live as a Custom RTMP endpoint |
Two platforms behave differently from the rest and are worth planning for. LinkedIn generates the Stream URL and Stream Key for each event: Prepare to go live becomes clickable one hour before a scheduled event (two hours for verified Pages). Instagram says its stream key is not static and refreshes each time you use Live Producer. With either, expect to paste fresh values for every broadcast. The per-platform details are on stream keys by platform, including YouTube, Twitch, Facebook, Kick, LinkedIn Live and Instagram. TikTok is not in the table because we could not confirm its RTMP steps from TikTok's own documentation; see how to stream on TikTok without a stream key.
How to add a custom RTMP destination in OBS Studio
Kick's help centre lists the OBS Studio steps for a custom destination, and they work the same way for any server URL and key:
- Copy the server URL and stream key from the platform (or from your relay's dashboard).
- In OBS Studio, open Settings (Kick's guide: File, then Settings) and select Stream.
- Change Service to Custom....
- Paste the server URL into Server and the key into Stream Key, then save the settings.
- Click Start Streaming. On platforms with a preview step, check the preview on the platform's page and click Go live there.
Other encoders use different names for the same thing. Facebook's instructions say to locate the stream or encoder settings, set the type to Custom Streaming Server or RTMP Server, paste the Server URL and Stream key, and enable RTMPS if available. Before a public show, run a test: the OBS Project's Quick Start Guide strongly encourages running a test for a few minutes. For the full platform walk-throughs, see YouTube with OBS Studio, Twitch with OBS Studio and Facebook with OBS Studio, and use best OBS settings for streaming for bitrate and keyframe values.
Custom RTMP when you multistream
Custom RTMP shows up twice in a multistreaming setup, and it helps to keep the two apart.
- From your encoder to the relay. Your encoder sends one stream to the relay, so in OBS you set Service to Custom... and paste the relay's ingest URL and stream key. Multistream Platform accepts RTMP and SRT ingest from OBS Studio, vMix, Wirecast and hardware encoders.
- From the relay to each destination. The relay delivers copies to every platform you enable. Multistream Platform can connect YouTube, Twitch, Facebook and others with OAuth, and its pricing page says all plans support custom RTMP and SRT destinations: you enter the target RTMP URL and stream key once, in the relay, rather than in your encoder.
This is how you reach a service that has no built-in connection: if it gives you an RTMP address and a key, it can be a custom destination. Remember the platforms whose credentials change. LinkedIn creates new values for each event and Instagram refreshes its key each session, so update those destinations before every broadcast. Your upload only has to carry one stream either way; the multistream bandwidth calculator shows the difference, and how to multistream with OBS Studio walks through the setup.
Try it with Multistream Platform. Send one RTMP or SRT stream and relay it to YouTube, Twitch, Facebook, Kick, TikTok and custom endpoints. Start on the free Starter plan (2 channels, 20 streaming hours a month) and see the pricing page for paid plans.
A custom RTMP server, and what free RTMP means
People searching for a custom RTMP server or free RTMP usually want one of three things:
- A destination to send to. Platforms such as YouTube, Twitch, Facebook, Kick and LinkedIn run the ingest servers; you get the address and key from your account, as shown above.
- A server of your own. You can run one with open-source software. The README of nginx-rtmp-module, an NGINX-based media streaming server, lists RTMP, HLS and MPEG-DASH live streaming and stream relay in push and pull models. Running your own server also means you host it, pay for its bandwidth, keep it updated and protect its stream keys.
- A free way to send one stream to several places. Multistream Platform's Starter plan costs $0 per month and supports up to 2 channels at once, 20 streaming hours a month at 720p and 30 fps, on the same RTMP and SRT relay as the paid plans. See pricing and features.
Common custom RTMP errors and fixes
Most custom RTMP problems come from a mistyped address, a mismatched scheme or an out-of-date key. These are the cases the platforms and the OBS Project describe:
| What you see | Likely cause | What to try |
|---|---|---|
| Failed to connect to server, or connection timed out | Wrong server URL, or an RTMPS URL used with software that does not support RTMPS | YouTube says to check that both the protocol and the server are rtmps, and to check whether your encoder supports RTMPS |
| The RTMP server sent an invalid SSL certificate | RTMPS address or port not accepted | YouTube suggests making sure the URL is correct, then specifying port 443 in the URL or in your encoder's port field |
| Connected, but the platform says the key is invalid | Old key after a reset, extra spaces, or a key for a different event | Copy the key again. Kick says to update your software after a reset; LinkedIn and Instagram issue new credentials per event or session |
| Connected, but the stream does not go live | The platform needs a step on its own page | Facebook, LinkedIn and Instagram show a preview first and need you to click Go live (Go Live Now on Facebook); Kick says to set a title and category or the stream may not start correctly |
| Dropped frames or repeated disconnects | The connection is not stable or cannot keep up with your bitrate | The OBS Project suggests lowering the bitrate (start at about 75% of upload speed), trying a different server and checking security or VPN software; on lossy networks consider SRT |
One more from Instagram: if you stop the stream in your software before you end the broadcast in Live Producer, Instagram says the live video carries on showing the last frame it received. End the broadcast on the platform first, then stop your software.
Keep your stream key safe
A custom RTMP destination is only as private as its key. Facebook puts it plainly: never share your Stream Key or Persistent Stream Key, because anyone with these details can stream to your post. Practical habits:
- Prefer the
rtmps://address when the platform offers it, so the key is not sent over an unencrypted connection. - Keep keys out of screenshots, chat, recordings and public code repositories, and turn on your software's option to hide the key field if it has one.
- If a key leaks, reset it on the platform. Kick documents a Reset button in its dashboard and says to update your streaming software afterwards; YouTube and Instagram also let you get a new key.
- When you use a relay, the destination keys live in the relay's settings, so update them there after a reset.
More detail, platform by platform, is in what is a stream key.
When SRT is a better fit than custom RTMP
RTMP runs over a reliable transport such as TCP, which works well on a clean wired connection. On venue Wi-Fi, cellular uplinks or long-distance links that drop packets, SRT was designed to recover from loss. OBS Studio can send to an srt:// address entered as a custom server, and Multistream Platform accepts SRT ingest, so you can use SRT for the leg to the relay while the relay still delivers RTMP or RTMPS to each platform. Compare the two in RTMP vs SRT.
Sources
- Twitch Developers: Video Broadcast (broadcast URLs and stream keys)
- Twitch ingest server list
- YouTube Help: Encrypt your stream using RTMPS
- Facebook Help Centre: Go live on Facebook using streaming software
- Kick Help Center: How to stream on KICK.com (May 22, 2026)
- LinkedIn Help: Go live using a custom stream (RTMP)
- Instagram: Live Producer (published November 2, 2022)
- OBS Project: Quick Start Guide (page dated 2021-08-25)
- OBS Project knowledge base: Stream Connection Troubleshooting (page dated 2024-09-30; cited by name, the OBS Project asks people not to link to knowledge base pages)
- nginx-rtmp-module (open-source NGINX-based media streaming server), README on GitHub
Platform figures were checked on October 16, 2026. Platforms change their recommendations, so confirm against the current documentation before you go live.
Frequently asked questions
Keep learning
How an encoder publishes a stream with a server URL and key, the handshake, and RTMP vs RTMPS.
Read the guideWhat a stream key is, how each platform treats it and how to keep it private.
Read the guideHow the two ingest protocols differ, when to choose each and how they behave on unreliable networks.
Read the guideReady to stream everywhere?
Bring your live, hosted, and pre-recorded streams into one platform.