How to receive an SRT stream in OBS Studio with Callaba
Written by Iurii Pakholkov
Founder of Callaba. Building cloud video tools for SRT, RTMP, WebRTC, NDI, live routing, monitoring, recording, and production workflows. LinkedIn
Published · Last updated
OBS SRT receive guide
OBS Studio can receive an SRT stream through a Media Source. The practical setup is simple: create a Media Source, disable Local File, paste the Callaba Receiver URL into the Input field, and confirm that live media is already arriving at the SRT server.
The main detail is direction. A Publisher URL sends video into Callaba. A Receiver URL lets OBS receive video from Callaba. Most failed OBS SRT receive tests are caused by using the right-looking URL on the wrong side.
OBS SRT: send vs receive
People often say “OBS SRT” but mean two different workflows.
OBS sends SRT
OBS acts as the encoder and publishes a stream to an SRT server. This is the opposite direction.
OBS receives SRT
OBS acts as the receiver and plays an incoming SRT stream inside a scene through Media Source.
This article focuses on receiving SRT in OBS from Callaba. If you need the opposite workflow, read how to start SRT streaming from OBS Studio.
What you need before you start
- OBS Studio installed on the receiving machine.
- A Callaba instance with an SRT server created.
- An active SRT sender publishing into Callaba.
- The correct SRT Receiver URL from Callaba.
- UDP access between OBS and the SRT endpoint, including the required cloud firewall or security group rule.
- A simple test codec path: H.264 video and AAC audio.
Pre-flight checklist before opening OBS
Run this quick check before you start changing OBS settings. It prevents most last-minute receive problems.
- ☐ SRT sender is active and sending a stream.
- ☐ Callaba shows incoming bitrate greater than 0.
- ☐ Receiver URL is copied from Callaba, not Publisher URL.
- ☐ UDP port is open on the Callaba side.
- ☐ Both ends agree on codec for the first test: H.264 + AAC.
- ☐ Stream ID and passphrase match, if they are used.
Recommended Callaba workflow
Use Callaba as the controlled SRT server. The sender publishes SRT into Callaba. OBS receives from Callaba using the Receiver URL. This keeps ingest, monitoring, recording, and routing in one place instead of making the OBS machine responsible for the public SRT endpoint.
Step-by-step: receive an SRT stream in OBS Studio
1. Add a Media Source in OBS
Open OBS Studio. In the Sources panel, click the + button.
Choose Media Source. OBS uses this source type to play network media such as SRT.
2. Name the SRT source
Give the source a clear name, for example SRT input — main camera. This helps when you receive several SRT feeds in the same OBS scene.
3. Copy the SRT Receiver URL from Callaba
Open the SRT server in Callaba and copy the Receiver URL. Do not copy the Publisher URL for this step. Publisher sends a stream into Callaba. Receiver is what OBS uses to receive the stream from Callaba.
4. Paste the Receiver URL into OBS
In Media Source properties, turn off Local File. Paste the Callaba Receiver URL into Input. If your OBS version shows Input Format, use mpegts for a normal SRT MPEG-TS contribution feed. Then click OK.
5. Bring the SRT feed into the active output
If you use Studio Mode, click Transition. The incoming SRT stream should now be visible in the active scene.
SRT URL settings
Copy the Receiver URL from Callaba as it is. It already contains the side of the connection and the important values for the selected SRT server, such as mode, latency, stream ID, and passphrase when they are used. Edit parameters manually only if you know which side of the SRT connection you are changing.
| Setting | Typical value | What it does | Common mistake |
|---|---|---|---|
mode |
caller for server receive |
OBS starts the connection to the SRT server. | Using listener when Callaba is already the listening side. |
latency |
500000 |
Gives SRT time to recover late packets. | Setting it too low before testing the path. |
streamid |
From Callaba | Routes the SRT session to the correct server or stream. | Changing or omitting it when required. |
passphrase |
Same on both sides | Enables encrypted SRT transport. | Mismatch between sender, server, and receiver. |
timeout |
Only if needed | Can help some reconnect cases. | Adding it before fixing the basic URL. |
Example caller-style receiver URL:
srt://your-callaba.example.com:9000?mode=caller&latency=500000&streamid=event-main
Latency settings for SRT in OBS
SRT latency is a recovery window. A lower value can reduce delay, but it also gives the protocol less time to recover from jitter and packet loss. Start stable, then reduce.
| URL value | Practical delay | Use when |
|---|---|---|
120000 |
120 ms | Clean LAN or very stable private path. |
500000 |
500 ms | Good first value for public internet tests. |
1000000 |
1 second | Unstable links, packet loss, higher jitter, or troubleshooting. |
In OBS and FFmpeg-style SRT URLs, latency is usually written in microseconds. For example, latency=1000000 means one second.
Monitoring: Callaba first, OBS second
Use Callaba to confirm the transport path before you use OBS as a production source. This gives you a cleaner debug order during a live event.
- Check incoming bitrate on the Callaba SRT server.
- Check connection state, RTT, packet loss, and reconnect behavior.
- Open the preview in Callaba before blaming OBS.
- Then check the OBS Media Source: Local File, Input URL, mode, latency, input format, and codec.
Using the received stream: preview, record, and route
Receiving SRT in OBS does not have to be the only output. In many workflows, Callaba receives one SRT feed and then exposes it to several uses at the same time.
Preview
Use Callaba and OBS to check the feed before it goes live.
Record
Record the received feed in Callaba or OBS, depending on your production plan.
Route
Send the same source to multiview, restreaming, playback, or API workflows.
Troubleshooting: SRT stream not appearing in OBS
| Symptom | Likely cause | What to check |
|---|---|---|
| No video appears | Wrong URL or no active sender. | Use Receiver URL and confirm sender bitrate in Callaba. |
| OBS opens local file behavior | Local File is still enabled. | Disable Local File in Media Source settings. |
| Connection fails | Caller/listener mismatch or blocked UDP port. | Check SRT mode, firewall, cloud security group, stream ID, and passphrase. |
| Black screen but source exists | Codec issue or unsupported source settings. | Test H.264 + AAC first. If the sender uses H.265/HEVC, OBS may not show video on some systems. |
| Stream starts then breaks | Latency too low or network path unstable. | Increase SRT latency and watch RTT, packet loss, and reconnects. |
| Video but no audio | No audio track or unsupported audio settings. | Check audio codec, sample rate, and sender audio routing. |
A simple test order helps: first confirm the sender is publishing, then confirm Callaba receives bitrate, then check the OBS Media Source settings.
Official references
FAQ
Can OBS receive an SRT stream?
Yes. OBS Studio can receive SRT through a Media Source. Add a Media Source, disable Local File, paste the Callaba Receiver URL into Input, and confirm that the source appears in the scene.
How do I add an SRT stream to OBS?
In Sources, click +, choose Media Source, create a new source, disable Local File, paste the SRT Receiver URL into Input, set Input Format to mpegts if the field is visible, and click OK.
Which Callaba URL should I paste into OBS?
Use the Receiver URL from the Callaba SRT server details. Do not use the Publisher URL in OBS when OBS is receiving from Callaba.
Should OBS use SRT caller or listener mode with Callaba?
For the normal Callaba receive workflow, OBS connects to the SRT server, so caller mode is the safe default. Listener mode is only for direct encoder-to-OBS workflows where OBS is reachable on a UDP port.
Can OBS receive several SRT streams at the same time?
Yes. Add one Media Source for each SRT feed and paste a different Receiver URL into each source. Give each source a clear name, such as Camera 1 SRT, Camera 2 SRT, or Backup SRT.
Why is the SRT stream black in OBS?
Check that Callaba shows incoming bitrate, Local File is disabled, the Receiver URL is correct, and the sender uses a codec OBS can decode. For the first test, use H.264 video and AAC audio.
Can OBS show H.265 or HEVC over SRT?
Sometimes, but do not use HEVC for the first test. OBS depends on the available FFmpeg and decoder support on the machine. If the source stays black, switch the sender to H.264 + AAC first.
Does OBS need a plugin for SRT receive?
No. OBS can use SRT through Media Source. A plugin is not required for the basic receive workflow.
How do I set SRT latency in OBS?
Use the latency value already present in the Callaba Receiver URL. If you change it manually, remember that FFmpeg-style SRT URL latency values are normally written in microseconds, so 500000 means 500 ms.
How do I know whether the problem is Callaba or OBS?
Check Callaba first. If Callaba has no incoming bitrate, fix the sender, port, stream ID, passphrase, or network path. If Callaba has bitrate and preview, then check OBS Media Source settings and codec support.
Next steps
Try Callaba Gateway with OBS SRT receive
Create an SRT server in Callaba, send the device feed to the gateway, and check the received stream before routing it to recording, restreaming, multiview, playback, or API workflows.