Sunday, September 7, 2025

OBS self hosted IRL server setup guide

This guide focus on two point: free and simple. Therefore, it will not use an actual IRL server. Instead, we will use OBS as IRL server.



If you only use your phone for IRL streaming, this guide is perfect for you. It requires no extra equipment and uses SRT/HEVC/OBS to achieve better streaming quality like a paid IRL server.

Overall this setup pro and con listed here. 
Pro: 
  • Free
  • Better video quality
  • Less bitrate need
  • Stable streaming
Con:
  • Can't detect low bitrate (due to no actual IRL server)
  • Require some setup

OK, the guide start here.


On PC


1.OBS 

Portable version recommend, so it won't screwup your origin screwup setting.
Download : OBS download page select "Download Zip" or use this link (maybe not newest version), please check this page to run OBS in portable mode.

For easy manage, recommend you create a folder for IRL and unzip all item into this folder, then pull shortcut to the place you want.

In OBS, create following Scenes: Intro, Main, Main LBR, BRB, Ending, you can create more scene to fit your need.


In Main scene, add new Media Source, in Input field fill the address, the address and port depend on your network, the port you can pick a port you didn't use, if you don't know, recommend pick a number>10000 and <65535 .
srt://[your_pc_address:port]?connect_timeout=3000&latency=2000000&listen_timeout=5000000&mode=listener&smoother=live&transtype=live&timeout=5000000
You can check here if you need more info about the connection parameter
Other setting you can copy from the picture.


In OBS > Tools > WebSocket Server Setting, click Enable WebSocket server

Now, basic setting on OBS are done.


2.OBS plugin (optional)

If you need other feature, you can also add those plugin into your OBS. 

Advanced Scene Switcher: github for better switch scenes if you need
OBS Multi RTMP: github for multi stream if you need

You can check OBS Plugins Guide if you don't know how to install plugin into OBS.


3.Loopy SRT Stats Monitor

GitHub Link here, it has fully guide so I will save time here, just show some config.

In "Loopy SRT Monitor" folder, you need to modify "config.ini" to fit your system.

Following config need to modify for using OBS as IRL server.
[config]
StreamFailDelay=8 //how many secoends lost connection will switch to BRB
SceneFail=BRB  //change if you using different name
SceneIntro=Intro
SceneBypass=Pause
MediaSource1=Media Source  //change name to your source's name in OBS
WebSocketAddress=[Your_PC_Address]:[WebSocket Port] //OBS websocket address
WebSocketPassword=[WebSocket Password] //OBS websocket password [obs-websocket-http] //add OBS websocket info to here HTTPBindAddress=[Your_PC_Address] HTTPBindPort=[WebSocket Port]
HTTPAuthKey= [http] //add OBS websocket info to here bind_to_address = [Your_PC_Address] bind_to_port = [WebSocket Port] authentication_key = [WebSocket Password] [obsws] //add OBS websocket info to here ws_url = ws://[Your_PC_Address]:[WebSocket Port]
ws_password = [WebSocket Password]
If you getting confused about OBS wesocket address/port/authkey, you can check the info in OBS > Tools > WebSocket Server > Show Connect Info, like this.

If all setting are correct, when you open Loopy (open OBS first), you should see Loopy looking this, and it will auto switch scene to Intro.

For now, setting on PC site are done.



On Phone

Setting on phone is quite simple, just pick a APP that support SRT then done.
I am using IRL Pro to streaming SRT protocol, you can use other app like Larix Broadcsater.

In IRL Pro, Settings -> Connections -> New Connections 
Name: [SRT server] or whatever you want
URL:  srt://[Your PC Address]:[Your Port]
Other option just leave it default first, you can come back change it anytime.

If your phone and PC in same network, you can test it right now, like this(sorry for background).

BTW, in IRL Pro you can change codec to HEVC to get better video quality(in same bitrate).
Setting -> Video -> Format, set to HEVC, then it's done.

VPN

In real world, we need streaming via cellular signal, and we need secure connection to our PC, so VPN is the best choose.

I tried many options, at first I tested Cloudflare WARP+tunnel, but stuck on tunnel QUIC connection fail for a week. 

After give up Cloudflare WARP, I tried Tailscale, it work like a charm, you only need create an account on Tailscale, install Tailscale on your PC and Phone, connect Tailscale on both your PC and phone.


Once your device's Tailscale connect on, you should see Tailscale give your device an address start with 100, change the SRT server address in IRL Pro (or your stream APP), then it's done, you can streaming via Tailscale VPN securely even using cellular.

PS: Tailscale's IP should be keep the same at most of time, but if you want to keep it more stable, you can use domain instead,  on Tailscale website you can click your device, it will give you multi option to connect, include IP, domain and others.


the end

This post is way too long, so I have to skip some detail guide, hope you can setup your OBS IRL server successful.

No comments:

Post a Comment