Latest release available here.
This is a program to assist with "IRL streaming" for popular streaming websites such as Twitch, using OBS Studio. This program is currently in use by Twitch and YouTube streamers and has been proven to a be a valuable asset to their stream.
SRT is described as an open source video transport protocol that utilises the UDP transport protocol. It has several advantages over the abandoned RTMP protocol, including H.265/HEVC streaming.
Using a "homemade" solution to SRT stream from your location back to your home PC, this program will automatically switch to a "low bitrate" scene whenever your connection is weak, a "fallback" OBS scene whenever your connection is lost, and is restored when your connection resumes.
Basic features (MultiCameraSwitch=false) allow a simple two-scene scenario, either "LIVE" or "FALLBACK" scene.
Advanced features (MultiCameraSwitch=true) consider for a two-camera multiple-scene scenario, and can alternate between scenes depending on the combination of cameras/streams used, i.e. stream 1, stream 2, and both stream 1&2 simultaneously. See 'readme.txt' for a full description regarding these and other settings.
Twitch streamer sprEEEzy has been a big advocate of high quality IRL streaming at an affordable price, and helping test various equipment. SprEEEzy's Discord has a channel for IRL streaming and techincal discussion. Both the hardware and software can be confusing at first, but as a community, helping each other, we can iron out all the bugs.
I also have an (inactive) Discord and Twitch channel that I may or may not make use of one day.
live_spreeezy_twitch.mp4
https://www.youtube.com/watch?v=ql2SizZLCPs
OBS Studio (v27 or newer recommended for the best stability with SRT) - https://obsproject.com/
OBS Websocket (v4.9.0 or newer required) - https://github.com/Palakis/obs-websocket/releases/latest
Node.js - https://nodejs.org/
VLC 64-bit - https://www.videolan.org/vlc/download-windows.html
OBS Tablet Remote - http://t2t2.github.io/obs-tablet-remote/
This guide assumes you have OBS installed and have spent time streaming and an understanding of how it works.
After installing OBS Websocket, create a password in OBS (Tools -> Websockets Server Settings).
Following installation of Node.js, run install.cmd within 'Documents\Loopy SRT Monitor' to install "obs-websocket-js" and complete the installation.
This will be used in OBS as a VLC Video Source for the "fallback" streams. It has features not currently available with the default OBS video player.
- See the "Modifications" section below for recommended changes.
Remote access to OBS via OBS WebSocket. Can be used for starting and ending streams, but also recommended in general. Although every effort is made to ensure a smooth experience, issues such as network instability may produce unpredictable results. It is recommended to have remote access of OBS to allow manual control.
Open OBS, and within the "Media Source", configure your SRT stream. Consult the OBS SRT Wiki for more information. Ensure Restart playback when source becomes active is disabled. Recommended setting for Reconnect Delay is 1 second.
Open OBS, and within the "fallback" scene, add a source VLC Video Source. Select your video that viewers will see when your connection is lost. The following settings are recommended: Loop Playlist enabled, Pause when not visible, unpause when visible enabled.
AdiIRC is a free alternative to mIRC. If you have set FileStatusOutput=true for the purpose of outputting the stream status to a chat room, a sample script is supplied here. Edit vars.ini with your channel name, and place in AdiIRC's root folder. Then load the outputSRT.ini script. Alt+R can be used to quickly access scripts.
OS firewall and router settings may prevent connecting to your home PC from an external source, such as mobile internet. Check firewall settings to allow the correct programs/ports to be accessed. Set a new rule for both inbound and outbound for the selected port.
Investigate how to use your router's "Port Forwarding" setting for allowing connections to the selected port. For security reasons, this should only be enabled while in use. If port forwarding does not work for your connection, your ISP might have CG-NAT enabled for your service and/or certain ports blocked. Confirm whether or not this is the case, and if so, contact your ISP and ask that it be disabled.
If you have been assigned a dynamic IP address from your ISP, No-IP is a great solution.