How to stream from OBS over SRT
This tutorial shows how to start streaming from OBS Studio over SRT using a Callaba SRT server. You will prepare a source in OBS, create an SRT server in Callaba, copy the correct SRT Publisher URL, paste it into OBS, and confirm that the stream is arriving at the server.
OBS can work with SRT in two directions. It can send an SRT stream to a server, or it can receive an SRT stream as a source inside a scene. This page focuses on the sending workflow: OBS Studio → Callaba SRT server.
If you need to receive an SRT feed inside OBS instead, use this guide: how to receive an SRT stream in OBS Studio.
OBS SRT: send vs receive
When people say “OBS SRT,” they usually mean one of two workflows.
- OBS sends SRT: OBS acts as the encoder and publishes the live stream to an SRT server.
- OBS receives SRT: OBS acts as a receiver and plays an incoming SRT stream inside a scene.
The URL is different for each direction. To send from OBS, use the Publisher URL. To receive in OBS, use the Receiver URL or playback URL.
This distinction matters. A very common mistake is to paste a receiver-side SRT URL into the OBS streaming output settings. That URL is meant for watching or receiving the stream, not publishing it.
What is an SRT URL in OBS?
An SRT URL tells OBS where to send or receive an SRT stream. It usually includes the protocol, host, port, and optional parameters such as connection mode, latency, passphrase, or stream ID.
A simple SRT URL can look like this:
srt://your-server.example.com:9000
An SRT URL with connection mode can look like this:
srt://your-server.example.com:9000?mode=caller
An SRT URL with latency can look like this:
srt://your-server.example.com:9000?mode=caller&latency=500000
In many OBS and FFmpeg-style SRT URLs, latency is written in microseconds. For example, 500000 means 500 ms. If Callaba gives you a ready Publisher URL, use that URL instead of building one manually.
Publisher URL vs Receiver URL
Callaba can show different SRT URLs for different sides of the workflow.
- Publisher URL: use this when OBS sends a stream into Callaba.
- Receiver URL: use this when another tool receives or watches the stream from Callaba.
For this tutorial, you need the SRT Publisher URL. OBS is the sender. Callaba is the receiving server.
The workflow is:
OBS Studio → SRT Publisher URL → Callaba SRT server
What you need before you start
- The latest version of OBS Studio.
- A video source in OBS, such as a camera, screen capture, media source, or full scene.
- A Callaba instance with access to SRT Servers.
- The correct SRT Publisher URL from Callaba.
- Network access to the UDP port used by the SRT server.
If you are new to Callaba, start with how to launch and start using Callaba.
See what to watch on a live SRT send path
Before you start changing OBS settings, look at the relationship between incoming bitrate and network RTT. Together they explain why an SRT path can look healthy at one moment and start breaking up as soon as the network loses timing headroom.
Before you step into the OBS screens below, look at the live widget first. It keeps the send path grounded in the two signals that matter most when SRT starts behaving badly in production: incoming bitrate and network RTT. If RTT rises while the stream is still trying to push the same bitrate, a latency value that looked safe a few minutes ago can stop being safe on the real path.
Prepare the source in OBS Studio
1. Install or open OBS Studio
Make sure OBS Studio is installed and up to date. Open it on the machine that will send the stream.

2. Add a video source
In the lower control area, find the Sources box, click the + button, and choose the source you want to stream.
For a camera workflow, choose Video Capture Device. For a screen workflow, choose Display Capture or Window Capture. OBS sends the full program output, so the source can be a camera, screen, media file, or complete scene.

3. Name the source
Give the source a clear name. This makes it easier to manage the scene later, especially if you add several cameras, screen captures, or remote feeds.

4. Choose the camera and resolution
If you are using a camera, select the device and choose the resolution that fits your workflow. In this example, the source is a USB camera.

Create an SRT server in Callaba
5. Create the SRT ingest point
Open Callaba, go to SRT Servers, and click Add New.
Create a server with a clear name. Set the Publisher Port and Receiver Port according to your workflow, then save the server.

After the server is created, open its details. There you will see the parameters for publishing and receiving the stream.


6. Copy the SRT Publisher URL
Copy the SRT Publisher URL from Callaba.
This is the URL that OBS will use to send the stream into the SRT server. Do not copy the Receiver URL for this step.
Configure OBS for SRT output
7. Open OBS stream settings
In OBS Studio, open Settings and go to the Stream tab.

8. Paste the SRT Publisher URL into OBS
Use the SRT Publisher URL from Callaba as the destination in OBS.
In a typical custom SRT setup, the full SRT URL goes into the server or destination field. Leave the stream key field empty unless your server or workflow explicitly requires a separate key.
If your OBS version or output mode asks for a full FFmpeg/SRT URL, paste the full Publisher URL exactly as Callaba provides it.

Save the stream settings and return to the main OBS window.
SRT caller and listener mode in OBS
For most OBS-to-server workflows, OBS is the caller, and the SRT server is the listener.
- Caller: the side that starts the connection. In this tutorial, OBS is the caller.
- Listener: the side that waits for the connection. In this tutorial, Callaba is the listener.
- Rendezvous: both sides try to connect to each other. Use this only for special NAT cases and test it before production.
If Callaba gives you a Publisher URL with the correct mode already included, use it as-is. If you build the URL manually, the OBS sending URL commonly uses caller mode:
srt://your-callaba-server.example.com:9000?mode=caller
SRT latency settings for OBS streaming
SRT latency gives the receiver time to recover late or lost packets. Lower latency reduces delay, but it also gives SRT less room to recover from packet loss and jitter.
For stable networks, a lower latency value may work. For mobile networks, venue internet, Wi-Fi, or long-distance routes, you may need a larger latency value.
Example with latency:
srt://your-callaba-server.example.com:9000?mode=caller&latency=500000
Do not choose the lowest possible value only because it looks better. A slightly larger latency buffer can make the stream much more stable during a real event.
Start streaming from OBS over SRT
9. Start streaming
Click Start Streaming in OBS.
If everything is configured correctly, OBS should show an active session and a healthy status indicator. At this point, OBS is sending the SRT stream to Callaba.
10. Confirm the stream in Callaba
Open the SRT server in Callaba and check that bitrate is arriving. Do not rely only on the OBS button state. A stream can appear started in OBS while the server receives no usable media because of a wrong URL, blocked UDP port, wrong mode, or network issue.
Check these signals:
- Incoming bitrate: confirms that media is arriving.
- Connection state: confirms that the SRT session is active.
- RTT: shows round-trip timing on the path.
- Packet loss and retransmissions: show whether SRT is recovering from network problems.
- Preview or downstream output: confirms that the media is actually usable.
What to check if OBS SRT streaming does not start
- Publisher URL: make sure you copied the publisher-side SRT URL, not the receiver-side URL.
- SRT mode: OBS should usually be caller when sending to a server listener.
- UDP port: confirm that the SRT port is open in the cloud security group, server firewall, and network path.
- Wrong server address: check the hostname or IP address in the SRT URL.
- Passphrase mismatch: if encryption is enabled, the passphrase and encryption settings must match.
- Stream ID mismatch: if your workflow uses stream ID, make sure the value matches the server routing rule.
- OBS source issue: confirm that OBS has a real video source and is not sending a blank scene.
- Latency too low: increase latency if the stream starts but breaks up on unstable networks.
Common OBS SRT problems and fixes
OBS starts streaming but Callaba receives nothing
Re-copy the SRT Publisher URL from Callaba and verify the publish port. Then check UDP firewall rules. SRT uses UDP, so opening only TCP is not enough.
The stream connects but is unstable
Look at RTT, packet loss, retransmissions, and latency. If latency is too low for the real network path, the stream may connect but break up during jitter or packet loss.
OBS sends video but there is no audio
Check the OBS audio mixer, selected audio devices, muted sources, and output audio settings. SRT can carry audio, but it cannot fix a missing or muted audio source in OBS.
The wrong video appears in the SRT stream
Check the active OBS scene and source order. OBS sends the program output, not only the camera source you created earlier.
You can send but cannot receive the stream in OBS
Sending and receiving use different URLs and often different roles. Use the Publisher URL when OBS sends to Callaba. Use the Receiver URL when OBS receives or previews the stream.
When SRT is a better choice than RTMP in OBS
SRT is often the better choice when OBS needs to send a contribution feed over an unstable or long-distance network. It supports packet recovery, encryption, latency tuning, and useful transport statistics.
RTMP is still useful for simple publishing and broad compatibility with social platforms. But if you control the receiving side and the contribution path matters, SRT is usually stronger than RTMP.
A common workflow is:
OBS → SRT → Callaba → RTMP/RTMPS to Twitch, YouTube, Facebook, or another platform
If you want to compare transport choices before standardizing the workflow, read SRT vs RTMP.
FAQ
Does OBS support SRT?
Yes. OBS can work with SRT for sending and receiving live streams. For sending, OBS can publish to an SRT server. For receiving, OBS can add an SRT feed as a Media Source.
How do I stream from OBS over SRT?
Create an SRT server, copy the SRT Publisher URL, open OBS stream settings, paste the Publisher URL as the destination, save the settings, and click Start Streaming. Then verify in the server dashboard that bitrate is arriving.
What is an SRT URL in OBS?
An SRT URL is the network address OBS uses to send or receive an SRT stream. It can include the server host, port, mode, latency, stream ID, and encryption parameters. For OBS-to-server streaming, use the Publisher URL from the SRT server.
Where do I paste the SRT URL in OBS?
For sending SRT, paste the Publisher URL into the OBS stream destination or server field, depending on your OBS output mode. For receiving SRT, add a Media Source, disable Local File, and paste the SRT URL into the Input field.
Should OBS use SRT caller or listener mode?
When OBS sends to a server, OBS is usually caller and the server is listener. When OBS waits for another sender to connect directly, OBS can be listener. Use the mode that matches the real connection direction.
Do I use the Publisher URL or Receiver URL in OBS?
Use the Publisher URL when OBS sends a stream to Callaba. Use the Receiver URL when OBS receives or previews a stream from Callaba. Mixing these two URLs is one of the most common setup mistakes.
Why is OBS SRT not connecting?
Common causes include a wrong SRT URL, wrong caller/listener mode, blocked UDP port, wrong hostname or IP address, passphrase mismatch, stream ID mismatch, or firewall rules that allow TCP but not UDP.
Why does OBS start streaming but no video arrives?
OBS may show that streaming started, but the server may still receive no usable media. Check the Publisher URL, UDP port, server statistics, active OBS scene, video source, bitrate, and connection logs.
Is SRT better than RTMP for OBS?
SRT is usually better for contribution over unstable, lossy, or long-distance networks. RTMP is still useful for simple publishing and platform compatibility. Many workflows use SRT from OBS to a server, then RTMP or RTMPS from the server to a social platform.
Can I receive the same SRT stream in OBS?
Yes. OBS can receive an SRT stream as a Media Source. Use the receiver-side SRT URL, disable Local File, and paste the URL into the Input field. For the full receive workflow, follow the OBS SRT receive tutorial.