media server logo

OBS SRT setup: stream from OBS Studio to Callaba

May 22, 2026
Iurii Pakholkov, founder of Callaba

Written by Iurii Pakholkov

Founder of Callaba. Building cloud video tools for SRT, RTMP, WebRTC, NDI, live routing, monitoring, recording, and production workflows.

Last updated:

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.

Quick answer

To stream from OBS over SRT, create an SRT server in Callaba, copy the SRT Publisher URL, paste it into OBS stream settings, and start streaming. In this workflow OBS is usually the caller, Callaba is the listener, and the selected SRT port must be open for UDP traffic.

OBS SRT workflow with Callaba Diagram showing OBS sending SRT to a Callaba SRT server, followed by preview, recording, restreaming, and playback. OBS Studio → Callaba SRT server Public SRT ingest, then monitoring and routing. OBS Studio scene + encoder SRT Callaba SRT listener Preview Record Restream Player First test: OBS caller · Callaba listener · H.264 + AAC · UDP port open
Basic send path: OBS sends one SRT contribution feed to Callaba, then Callaba handles preview, recording, restreaming and playback.

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 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.

OBS SRT send versus receive Diagram comparing OBS sending SRT using a Publisher URL and OBS receiving SRT using a Receiver URL or playback URL. OBS SRT: send vs receive Use the right URL for the direction. OBS sends SRT Use Publisher URL OBS = caller OBS receives SRT Use Receiver URL Media Source This article covers the left side: OBS sends SRT to Callaba.
Use the Publisher URL when OBS sends a stream. Use the Receiver URL only when OBS receives or previews a stream.

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:

Command
srt://your-server.example.com:9000

An SRT URL with connection mode can look like this:

Command
srt://your-server.example.com:9000?mode=caller

An SRT URL with latency can look like this:

Command
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.

SRT Publisher URL parts Diagram showing the parts of an SRT Publisher URL: protocol, host, port, stream ID, latency and passphrase. SRT Publisher URL parts Copy the full URL from Callaba. Edit manually only when you know why. srt://your-callaba.example.com:9000?mode=caller&latency=500000 protocol host port options stream ID
An SRT URL usually includes the protocol, server address, UDP port and optional connection parameters.

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.

Quick start checklist

  • ☐ OBS scene contains live video and audio
  • ☐ SRT server is created in Callaba
  • ☐ Publisher URL is copied, not Receiver URL
  • ☐ UDP port is open in the cloud security group and host firewall
  • ☐ Publisher URL is pasted into OBS stream settings
  • ☐ H.264 video and AAC audio are selected for the first test
  • ☐ OBS bitrate is below the real upload bandwidth
  • ☐ Callaba shows incoming bitrate, connection state, RTT, packet loss and preview

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.

OBS Studio main window
OBS Studio main window before adding a source.

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.

Add a video source in OBS Studio
Add a video source in OBS Studio.

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.

Name a new source in OBS Studio
Name the source before adding it to the scene.

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.

Choose camera and resolution in OBS Studio
Select the camera and resolution before testing the SRT stream.

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.

Create an SRT server in Callaba
Create an SRT server in Callaba and set the required ports.

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

SRT server details in Callaba
Open the SRT server details in Callaba.
SRT Publisher and Receiver URLs in Callaba
Copy the Publisher URL for OBS. Do not use the Receiver URL for publishing.

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.

Important: SRT uses UDP. Make sure the selected Publisher Port is open in the cloud security group, server firewall, and network path. Opening only TCP is not enough.

Configure OBS for SRT output

7. Open OBS stream settings

In OBS Studio, open Settings and go to the Stream tab.

Open stream settings in OBS Studio
Open OBS stream settings and choose the custom destination workflow.

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.

Paste SRT Publisher URL into OBS Studio
Paste the Callaba SRT Publisher URL into OBS and save the stream settings.

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:

Command
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:

Command
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.

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.

Callaba SRT monitoring checks Diagram showing the monitoring checks to confirm an OBS SRT stream in Callaba: incoming bitrate, connection state, RTT, packet loss, preview and audio. Confirm the stream in Callaba Use metrics and preview together. Incoming bitrate Stable media flow Connection state Session is active RTT 20–60 ms is good Packet loss Above 1–2% needs action Preview Video is usable Audio Not muted in OBS
After starting OBS, confirm incoming bitrate, connection state, RTT, packet loss, preview and audio in Callaba.

Check these signals:

  • Incoming bitrate: confirms that media is arriving. It should be stable and close to the bitrate selected in OBS.
  • Connection state: confirms that the SRT session is active.
  • RTT: shows round-trip timing on the path. In good conditions, 20–60 ms is common. If RTT is consistently above 150 ms or keeps growing, check the network.
  • Packet loss and retransmissions: show whether SRT is recovering from network problems. Loss above 1–2% usually means you should increase latency, lower bitrate, or improve the uplink.
  • Preview or downstream output: confirms that the media is actually usable.

Advanced: Custom FFmpeg output

Use Custom FFmpeg output only when the simple OBS streaming path is not enough. It is useful when you need MPEG-TS container control, explicit SRT options, or advanced audio mapping.

Install steps
URL:
srt://your-callaba-server.example.com:9000?mode=caller&latency=500000&pkt_size=1316

Container:
-f mpegts

Typical codec direction:
-c:v libx264 -c:a aac

If you see MTU or fragmentation-related issues, testing pkt_size=1316 can help. Keep H.264 video and AAC audio for the first test, then add advanced options only after the simple path is stable.

Production note: advanced FFmpeg output can behave differently from the normal OBS streaming path, especially with audio tracks and manual mapping. Test it before the event day.

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.
  • OBS logs: open Help → Log Files in OBS and search for SRT, FFmpeg, connection errors, and the URL you used.

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, bitrate, 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.

Production notes

Production OBS SRT setup Diagram showing a production OBS SRT setup with main and backup OBS feeds going to separate Callaba SRT servers before monitoring, recording and restreaming. Production pattern For important events, test main and backup paths before the live window. OBS main OBS backup SRT server 1 SRT server 2 Multiview Recording Restreaming
For important events, use separate main and backup OBS outputs and confirm both routes before the live window.
  • Main and backup: for important events, send a main OBS output and a backup output into separate SRT servers or separate routes.
  • Recording: confirm cloud recording before the event, not during the event.
  • Monitoring: watch incoming bitrate, RTT, packet loss, preview, and audio.
  • Latency policy: use lower latency only on stable networks. Use a larger buffer for mobile, Wi-Fi, venue internet, or long-distance contribution.
  • Multi-track audio: start with one stereo AAC mix. Test multi-track audio separately if you need clean feed, commentary, or ambience tracks.

FAQ

Does OBS support SRT?

Yes. OBS can send an SRT stream to a server and receive an SRT stream as a source inside a scene. This page focuses on the sending workflow: OBS Studio to a Callaba SRT server.

How do I stream from OBS over SRT?

Create an SRT server in Callaba, copy the SRT Publisher URL, open OBS stream settings, paste the Publisher URL into the destination or server field, save the settings, and click Start Streaming.

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 protocol, host, port, mode, latency, stream ID and passphrase.

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. Leave the stream key empty unless your workflow explicitly requires a separate key.

Should OBS use SRT caller or listener mode?

When OBS sends to a server, OBS is usually caller and the server is listener. In this workflow, OBS calls the public Callaba SRT server.

Do I use the Publisher URL or Receiver URL in OBS?

Use the Publisher URL when OBS sends a stream into Callaba. Use the Receiver URL when OBS receives or previews a stream from Callaba. Mixing these URLs is a common setup mistake.

Why is OBS SRT not connecting?

Common causes include a wrong URL, wrong caller/listener mode, blocked UDP port, wrong hostname, 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 while the server receives 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.

Can OBS send multiple audio tracks over SRT?

For a simple workflow, send one mixed stereo AAC track. Multi-track audio is possible in advanced FFmpeg-style workflows, but it should be tested carefully because downstream support varies.

Next steps

Try Callaba Gateway with OBS SRT

Create an SRT server in Callaba, send your OBS Studio feed to the gateway, and check the received stream before routing it to recording, restreaming, multiview, playback, or API workflows.

See SRT server setup Open multiview demo SRT servers API docs