Advanced setup

Send your phone to OBS at home.

This tested setup uses Tailscale for a private connection, encrypted SRT for video and audio, and OBS WebSocket for remote controls.

Do not open router ports

Do not forward UDP 1234 or TCP 4455. Do not use your public IP address, Tailscale Funnel, or Tailscale Serve for this setup.

What you are setting up

Roam makes two separate connections to your home computer:

Starting Roam sends the phone feed to OBS. It does not make OBS broadcast publicly unless you start streaming in OBS or enable Roam's OBS sync option.

Use two different passwords

The SRT passphrase protects the phone feed. The OBS WebSocket password protects the remote controls. Make both unique and do not reuse one for the other.

Before you start

Prefer Ethernet or separate Wi-Fi bands

On one tested Linux computer, putting the phone and computer on the same 2.4 GHz Wi-Fi band froze the OBS feed and disrupted the computer's internet. This appeared to be a hardware-specific compatibility issue and will not affect every Wi-Fi setup.

Connect the OBS computer by Ethernet when possible. Otherwise, put the phone and computer on different bands, such as the phone on 5 GHz and the computer on 2.4 GHz. Different Wi-Fi names do not always mean different bands. If the feed freezes or normal internet degrades, stop Roam and OBS immediately.

1. Connect the phone and computer with Tailscale

  1. Install Tailscale on the phone and home computer from the official Tailscale download page.
  2. Sign in to the same Tailscale account on both devices.
  3. On the phone, open Tailscale and press Connect. Leave Exit node set to None.
  4. Confirm both devices appear in Tailscale.
  5. Find the home computer's Tailscale IPv4 address. It starts with 100.. Save it as <PC_TAILSCALE_IP> for the next steps.
  6. With Tailscale connected, confirm an ordinary website still loads on the phone and computer.

Tailscale uses an existing identity provider rather than a separate Tailscale password. It may ask you to continue with Google, Microsoft, GitHub, Apple, or another supported sign-in provider.

Linux may not add a Tailscale icon to the app menu. It normally runs as a background service. These commands confirm it is installed, start sign-in, and show its Tailscale address:

tailscale version
sudo tailscale up --timeout=5m
tailscale ip -4

When sudo asks for a password, enter the password used to sign in to the computer. Nothing appears while you type. The second command gives you a web address. Open it, sign in, and return to the terminal after it reports success.

If the command stays on a blank line without giving you an address, press Ctrl+C, pause another VPN temporarily, and run it again. After signing in, tailscale status should list both devices.

Do not lock the phone to a disconnected VPN

For this setup, leave Android's Always-on VPN and Block connections without VPN options off unless you already understand them. They can block normal internet access whenever Tailscale is disconnected.

2. Make an SRT passphrase

Make a random passphrase between 20 and 79 letters and numbers. Avoid spaces and symbols because this passphrase will be inside two URLs.

Save it as <SRT_PASSPHRASE>. You will enter exactly the same SRT passphrase in Roam and OBS.

3. Enable OBS WebSocket

  1. In OBS, open Tools > WebSocket Server Settings. Some OBS versions call this obs-websocket Settings.
  2. Enable the WebSocket server and authentication.
  3. Keep the server port set to 4455.
  4. Generate or enter a unique password. Save this as your OBS WebSocket password.
  5. Apply the changes.

This password is entered only in Roam Settings > OBS. It does not go in either SRT URL.

4. Add the phone feed to OBS

  1. Create an OBS scene named Phone Feed.
  2. Add a Media Source to that scene.
  3. Turn off Local File.
  4. Paste the listener URL below into Input.
  5. Set Input Format to mpegts.
  6. Leave Close file when inactive off.
srt://<PC_TAILSCALE_IP>:1234?mode=listener&passphrase=<SRT_PASSPHRASE>&pbkeylen=32&latency=2000000

Replace both placeholders. Do not add square or angle brackets around the real values.

If several OBS scenes use the phone, reuse the same Phone Feed Media Source in each one by choosing Add Existing. Do not create another listener for every scene. One shared source avoids reconnect delays when you change scenes.

5. Enter the phone's SRT URL in Roam

On the phone, open Roam > Settings > Stream. Enter this caller URL as the Stream URL:

srt://<PC_TAILSCALE_IP>:1234/live?passphrase=<SRT_PASSPHRASE>&pbkeylen=256&latency=2000

Replace both placeholders with the same computer address and SRT passphrase used in OBS.

The two SRT URLs are different

Roam is the caller. OBS is the listener. The key and latency numbers use different units in each app, so copy the correct URL into each place. Never add mode=listener to the Roam URL.

6. Connect Roam's OBS controls

Open Roam > Settings > OBS and enter:

Connect and wait for the OBS status to turn green. Choose your OBS BRB scene if you want Roam's BRB control to switch scenes.

7. Run a receive-only test

Preflight: keep OBS output stopped

Before starting Roam, confirm the main OBS control says Start Streaming and Sync OBS streaming with Roam is off. If OBS says Stop Streaming, stop its output first. Roam can then send media into OBS without starting a public broadcast.

  1. Keep OBS open with the Phone Feed source active.
  2. In Roam, start with Data saver and Auto bitrate on.
  3. Hold Go Live in Roam.
  4. Confirm OBS receives moving video and that its audio meter moves.
  5. Confirm OBS still says Start Streaming. This proves the test is not public.
  6. Use Roam to change one OBS scene, then test BRB.
  7. Stop Roam and confirm the phone feed ends.

8. Configure OBS output separately

The SRT Stream URL in Roam is the input to OBS. Your public broadcast is a separate output configured under OBS > Settings > Stream:

Do not put the OBS server or stream key in Roam. Do not replace Roam's SRT URL. Never show a real stream key in screenshots or messages.

Twitch bandwidth-test profile

  1. In OBS, choose Profile > Duplicate and name the copy Twitch Bandwidth Test.
  2. Open Settings > Stream and set Service to Twitch.
  3. If OBS is connected to your Twitch account, turn on Enable Bandwidth Test Mode. If you use a Stream Key field instead, put ?bandwidthtest=true immediately after your private key. The field should have the form <TWITCH_STREAM_KEY>?bandwidthtest=true. The suffix belongs after the key, not in the Server field.
  4. Apply the settings, open Twitch Inspector, and start OBS output. Bandwidth Test Mode disables live viewing while Inspector reports the stream's health.
  5. Open your public Twitch channel in a browser where you are not signed in and confirm it remains offline. If the channel appears live, stop OBS immediately and check the test setting or key suffix.
  6. Stop OBS after the test. Select your normal OBS profile before an intended public stream.

This is Twitch's official bandwidth-test format. Keep the real key private.

After the OBS output test works, repeat the phone-to-OBS test from mobile data:

  1. Turn off Wi-Fi on the phone and turn on mobile data.
  2. Confirm Tailscale still says Connected with no exit node.
  3. Start Roam and confirm OBS receives the phone feed.
  4. Test a scene change before leaving home.

To control the OBS broadcast from Roam, open the OBS panel and hold Start OBS streaming. Roam warns that this may broadcast publicly. Stop OBS streaming stops it immediately. Leave automatic OBS sync off until both manual controls have passed your own test.

Troubleshooting

Roam's OBS status stays on Connecting

Check Tailscale first. Open it on the phone and computer and confirm it is running and connected. Then check that OBS is open, the host is the computer's Tailscale address, the port is 4455, and the OBS WebSocket password is correct.

OBS controls work, but the phone feed is blank

The control and video paths are separate. Check both SRT URLs, the shared SRT passphrase, UDP port 1234, mpegts, and that the Phone Feed source is active.

The feed stops when you change scenes

Create one Phone Feed Media Source and add that same existing source wherever it is needed. Keep Close file when inactive off.

The computer's internet slows or stops

Stop Roam and OBS immediately. Connect the OBS computer by Ethernet, or move the phone and computer onto different Wi-Fi bands. Recheck ordinary internet access before another test.

It works at home but not on mobile data

Confirm Tailscale is connected on both devices, the exit node is None, and the home computer is awake with OBS open. Temporarily pause another VPN to establish a clean baseline.

A firewall blocks the connection

Allow inbound UDP 1234 and TCP 4455 only on the private Tailscale network. Do not disable the firewall or create public router port forwards. The exact steps depend on your operating system.

Keep connection details private

Do not share stream URLs, either password, private Tailscale addresses, or screenshots containing them. Rotate a password if it is exposed.

Still stuck? Go to Support.