Sending and receiving RTMP streams via OBS Studio with Callaba
Written by Iurii Pakholkov
Founder of Callaba · LinkedIn · Published · Last updated
This guide shows both RTMP directions in OBS Studio: sending your OBS program feed to Callaba, and receiving the RTMP player URL back into OBS as a source for monitoring or production.
The main detail is URL direction. The RTMP URL plus stream key is used for publishing out of OBS. The RTMP Player URL is used for receiving the live feed back into OBS. Do not swap them.
What this OBS and RTMP setup does
Use this workflow when OBS is your local production tool and Callaba is the managed RTMP ingest point. OBS sends one program feed to Callaba. Callaba receives it, lets you verify that the feed is alive, and can then pass it to recording, restreaming, multiview, playback, NDI handoff, or API-driven workflows.
You can also pull the live feed back into OBS as a Media Source. That is useful for validation, confidence monitoring, or bringing a remote RTMP feed into a local OBS scene.
OBS RTMP input vs OBS RTMP output
OBS RTMP output
OBS sends the program feed to an RTMP server. Use the RTMP URL and stream key in Settings → Stream.
OBS RTMP input
OBS receives a live RTMP feed as a scene source. Use Media Source, disable Local File, and paste the RTMP Player URL.
Pre-flight checklist
Run this list before the live window. Most RTMP problems are URL, key, or firewall problems, not OBS problems.
- ☐ RTMP server exists in Callaba and is enabled.
- ☐ RTMP URL copied from Callaba for publishing.
- ☐ Stream key copied from the same RTMP server entry.
- ☐ TCP port is open on the Callaba side, commonly 1935 for RTMP or 443 for RTMPS.
- ☐ OBS bitrate fits the available upload bandwidth.
- ☐ Keyframe interval is set to 2 seconds for platform-style delivery.
- ☐ H.264 video and AAC audio are used for the first test.
- ☐ RTMP Player URL copied separately for receive or validation in OBS.
What you need before opening OBS
- A running Callaba instance with access to RTMP Servers.
- OBS Studio installed on the machine that will send or receive the stream.
- A prepared OBS scene with video and audio sources.
- Network access from OBS to the RTMP or RTMPS endpoint.
- The exact RTMP URL, stream key, and RTMP Player URL from Callaba.
Send an RTMP stream from OBS Studio to Callaba
1. Create an RTMP server in Callaba
Open the Callaba dashboard, go to RTMP Servers, and click Add new. Give the server a clear name. Keep the default port unless your workflow needs a specific value.
2. Copy the RTMP publish values
Open the server info panel and copy the RTMP URL and Default Stream Key. These two fields belong together. Do not copy the player URL for OBS output.
3. Enter the values in OBS Stream settings
In OBS Studio, open Settings → Stream. Set the service to Custom. Paste the Callaba RTMP URL into Server. Paste the Callaba stream key into Stream Key.
4. Start streaming and confirm bitrate
Click Start Streaming in OBS. OBS should show bitrate movement in the status area. Then check Callaba. If Callaba shows incoming bitrate, the publish path is working.
Receive the RTMP stream in OBS Studio
1. Copy the RTMP Player URL from Callaba
Open the RTMP server details and copy the RTMP Player URL. This is the value for receiving the live feed in OBS. The player URL is not the same job as the publish URL.
2. Add a Media Source
In OBS, create or open the scene where you want to show the incoming feed. Click + in the Sources panel and choose Media Source.
3. Name the receiving source
Give the source a clear name, such as Callaba RTMP return or Remote RTMP feed. This helps operators avoid mixing it with the local camera or outgoing program source.
4. Paste the RTMP Player URL into Input
In Media Source properties, turn off Local File. Paste the Callaba RTMP Player URL into Input. Leave Input Format blank unless you have a specific reason to force a format.
OBS RTMP settings table
| Setting | Where | Recommended value | Why it matters |
|---|---|---|---|
| Service | OBS Settings → Stream | Custom | Lets OBS send to your Callaba RTMP server. |
| Server | OBS Settings → Stream | Callaba RTMP URL | This is the publishing endpoint, not the player URL. |
| Stream key | OBS Settings → Stream | Callaba stream key | Identifies the stream published to the RTMP server. |
| Video codec | OBS Output | H.264 for first test | Most RTMP workflows expect H.264 video. |
| Audio codec | OBS Audio / Output | AAC | AAC is the safest audio choice for RTMP tests. |
| Keyframe interval | OBS Output | 2 seconds | Common expectation for platform and player workflows. |
| Receive input | OBS Media Source | RTMP Player URL | Used only when bringing a live feed into an OBS scene. |
Using the RTMP stream: monitor, record, and route
After Callaba receives the RTMP feed, do not stop at “OBS says live.” Check the stream in Callaba, then decide what the feed should do next.
Monitor
Confirm bitrate, preview, audio, and whether the stream is active before you route it.
Record
Create a recording workflow when you need archive, review, or post-event files.
Route
Forward the same input to restreams, playback, NDI handoff, or API-driven production steps.
Common OBS RTMP problems and quick fixes
| Symptom | Likely cause | Fix |
|---|---|---|
| OBS cannot connect | Wrong RTMP URL, blocked TCP port, or wrong protocol | Re-copy the RTMP URL, check RTMP vs RTMPS, and test port reachability. |
| Callaba shows no incoming bitrate | OBS is not publishing to the correct server | Confirm OBS Server field and stream key match the same Callaba RTMP server. |
| OBS bitrate moves but playback is black | Wrong validation URL or unsupported codec combination | Validate with the RTMP Player URL and start with H.264 video plus AAC audio. |
| Media Source stays black | Local File is still enabled or the feed is not live | Disable Local File, paste the RTMP Player URL, and confirm Callaba is receiving media. |
| Authentication error | Stream key does not match | Copy the Default Stream Key again from the exact server entry you are using. |
| Delay feels high | RTMP and player buffering add latency | Lower OBS bitrate if the network is unstable, but use SRT for contribution when recovery behavior matters more. |
Official references
FAQ
What is OBS RTMP?
OBS RTMP usually means OBS Studio sending a live program feed to an RTMP server. OBS acts as the encoder. The RTMP server receives the stream and passes it into the next workflow step.
Can OBS receive an RTMP stream?
Yes. Add a Media Source, disable Local File, and paste the RTMP Player URL into Input. The feed must already be live on the server side.
What is the difference between RTMP URL and RTMP Player URL?
The RTMP URL is used for publishing into the server. The RTMP Player URL is used for playback or receiving the live feed back into OBS.
Why does OBS show bitrate but Callaba shows no stream?
OBS may be sending to the wrong server, using the wrong stream key, or blocked by the network path. Re-copy the RTMP URL and stream key from the same Callaba server entry and check the TCP port.
Can I receive multiple RTMP streams in OBS at the same time?
Yes. Add one Media Source per live RTMP Player URL. Give each source a clear name so the operator can tell which camera, feed, or remote source it represents.
Should I use RTMP or RTMPS?
Use RTMPS when the receiving endpoint supports it and you are publishing over the public internet. RTMP can still be useful for controlled private networks and local tests.
Do I need a multi-RTMP plugin?
Not for a basic Callaba workflow. Send one OBS output to Callaba, then let Callaba handle restreaming, recording, monitoring, or routing. A plugin is only needed when you specifically want OBS itself to push multiple RTMP outputs.
When is SRT better than RTMP?
Use SRT when you control both ends and need stronger contribution behavior over unstable networks. Use RTMP when compatibility and fast setup matter more.
Next steps
Try Callaba Gateway with OBS RTMP workflows
Create an RTMP server in Callaba, send OBS to the gateway, and check the received stream before routing it to recording, restreaming, multiview, playback, or API workflows.