Custom RTMP setup: stream any app or encoder through Upstream
Custom RTMP means typing in your own server address and stream key instead of picking a service from a list. Almost every streaming app, encoder and many cameras have this option, and it is all Upstream needs. The app sends one stream to Upstream, and Upstream sends it to up to 10 platforms.
The address tells the app where to send video, and the key tells Upstream which stream is yours, so keep the key private. If your app has its own guide, use that for the exact menu names. This page covers everything else, plus the fixes for every common connection problem.
- Any app or device with custom RTMP
- Full troubleshooting list
Before you start
- An Upstream account (the free plan is enough to test)
- An app or encoder that can send plain RTMP with H.264 video and AAC audio
- The platforms you want to go live on
Step 1
Get your server URL and stream key from Upstream
In Upstream, press Create stream, choose Multistream from OBS (it works for any RTMP app or device) and add your platforms, up to 10. The stream opens in Live Studio with the RTMP input on. For a stream you already have, open Live Studio, Source and set Live Source to RTMP.
- RTMP Server URL
rtmp://ingest.upstream.so:1935/live- Stream Key
- Unique to each stream. Copy it from Upstream and keep it private.
Step 2
Enter the details in your app or encoder
Open the streaming or output settings and look for Custom RTMP, Custom Server, Custom or similar. Paste the RTMP Server URL as the server or URL, and the Stream Key as the key. Some apps call the key the stream name.
If the app has only one field for the whole address, join the two with a slash: rtmp://ingest.upstream.so:1935/live/ followed by your key.
Step 3
Check the output settings
Set the output to these values, or the closest your app or encoder offers:
| Setting | Value |
|---|---|
| Output resolution | 1920 × 1080 Upstream takes in up to 1080p. |
| Frame rate | 30 fps Upstream converts 60 fps to 30. |
| Video bitrate | About 6,000 kbps Upstream's own OBS profile uses 7,000 kbps. Go lower, for example 4,500 kbps, if your upload is slow. |
| Rate control | CBR A constant bitrate keeps the feed steady. |
| Keyframe interval | 2 seconds A keyframe is a full picture. Live streams usually send one every 2 seconds. |
| Video encoder | H.264 x264, or a hardware H.264 encoder such as NVIDIA NVENC or Apple VideoToolbox. |
| Audio | AAC, 160 kbps The same as Upstream's OBS profile. |
Each platform also caps bitrate and stream length on its side. See the live streaming limits for YouTube, Twitch, Kick and more.
Step 4
Start the stream, then go live
Start the stream in Upstream first, then start streaming from your app or encoder. Live Studio switches from Not connected to Excellent, Good or Poor connection when the feed arrives, and Upstream sends it to every platform on the stream.
Your input address and your platform addresses are different
Upstream's address goes into the app that sends your video. The addresses from YouTube, TikTok or any other platform go into Upstream, as destinations. Mixing them up is the most common mistake: a YouTube key in your encoder sends the stream to YouTube alone, and Upstream never sees it.
The protocols differ too. Upstream sends out to platforms over RTMP, RTMPS or SRT, but it takes in plain RTMP only. So an app that can only send RTMPS or SRT can't feed Upstream, even though Upstream can deliver to an RTMPS or SRT platform. For how RTMP addresses and keys work in general, see what an RTMP URL is.
Troubleshooting
Upstream still says Not connected
Check that the stream is started in Upstream, the live source is set to RTMP, and your app or encoder is actually streaming. Then check that the server URL and stream key were pasted exactly, with no spaces at the start or end. If you reset the key in Upstream, paste the new one into your app or encoder.
Your app or encoder says it cannot connect to the server
The server URL has to start with rtmp:// and end with /live. Streaming uses port 1935, so if you are on a work or school network, check that outgoing connections on that port are allowed.
Upstream shows Poor connection or viewers see buffering
Your upload cannot keep up with the bitrate. Lower the video bitrate (4,500 kbps is a good next step), use a wired connection instead of Wi-Fi where you can, and close uploads or cloud sync on the same network. The streaming bitrate calculator measures your upload and suggests a bitrate.
Viewers see my video playlist instead of my live feed
That means no feed is reaching Upstream right now, so the stream shows its background playlist. Check the connection status in Live Studio, then the fixes above.
My stream key was shared or leaked
Press Reset Stream Key in Upstream. It creates a new key and disconnects anything streaming with the old one. Paste the new key into your app or encoder.
I stream in 60 fps or 4K but it looks like 1080p at 30 fps
The RTMP input takes up to 1080p at 30 fps and Upstream sends that to every platform. Set your app or encoder to 1080p30 so it does not do extra work for nothing.
My encoder only offers built-in services like YouTube or Twitch
Upstream needs a custom RTMP server option. Check your encoder's manual or firmware updates for a custom or manual RTMP setting. Encoders that only stream to a fixed list of services can't send to Upstream.
My app only accepts rtmps:// or SRT
Upstream takes in plain RTMP, so the app needs to allow an rtmp:// address.
My second encoder doesn't take over when the first one stops
Each Upstream stream has one RTMP input, with no backup input or automatic switching. Switch sources in your app or encoder instead.
FAQ
What is custom RTMP?
It means entering your own streaming server address and key instead of choosing a built-in service. Here the server is Upstream, which passes your stream on to the platforms you add.
What is an RTMP URL?
It is the address your app sends live video to. Upstream's is rtmp://ingest.upstream.so:1935/live. The stream key is a separate value, unless the app wants both joined into one address.
How do I get a TikTok RTMP URL and stream key?
On a computer, TikTok shows them under Go LIVE, if your account has access. Add them in Upstream as Other (Custom RTMP). Your encoder still uses Upstream's address and key.
Does Upstream accept SRT or RTMPS input?
Not as an input. Upstream takes in a live feed over RTMP. It can send out to platforms over RTMPS and SRT.
Which platforms can I reach?
YouTube, Twitch, Kick, Facebook, Instagram, Rumble, Mixcloud and any service that takes a custom RTMP or SRT stream. See supported platforms.
Is Upstream free?
The free plan includes 24 hours of streaming a month and up to 10 destinations, with no watermark.
Set it up now
The free plan includes 24 hours of streaming a month and up to 10 destinations.
