Skip to content

Loopy SRT Stats Monitor. Monitors your OBS SRT, SLS, BELABOX, RESTREAMER, RIST, & NGINX connection/s and switches OBS scene on a failed connection. Ideal for IRL/live streaming.

License

Notifications You must be signed in to change notification settings

loopy750/SRT-Stats-Monitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Loopy SRT Stats Monitor

Loopy SRT Stats Monitor

Download

Latest release available here.
Latest beta release if any are available can be found here.

Loopy SRT Monitor is freeware. It contains no ads, telemetry, or other similar content. Carefully read the following content and downloaded text files before running. This program will not launch "out of the box" until the bare minimum of required settings are correctly configured.

This is a program to assist with IRL streaming for popular streaming websites such as Twitch and YouTube, using OBS Studio. This program is currently in use by many 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 and/or RIST 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, with an optional "LBR" scene.

Advanced features MultiCameraSwitch=true consider for a two-camera multiple-scene scenario, with an optional "LBR" scene, and can alternate between scenes depending on the combination of cameras/streams used, i.e. stream 1, stream 2, and streams 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 a Discord and Twitch channel that I may or may not make use of one day.

live_spreeezy_twitch.mp4

sprEEEzy's Guide

This link has remained here, as it has helped many discover and configure Loopy SRT Monitor. Over time, however, some instructions may have become outdated, and will therefore possibly conflict with details on this page.

https://www.youtube.com/watch?v=ql2SizZLCPs

DOWNLOADS

Programs to download

OBS Studio - https://obsproject.com/
obs-websocket-http - https://github.com/IRLToolkit/obs-websocket-http/releases/latest (automatically downloaded if the Windows installer is used)
Node.js - https://nodejs.org/ (not required if using obs-websocket-http)
VLC 64-bit - https://www.videolan.org/vlc/
OBS Tablet Remote - http://t2t2.github.io/obs-tablet-remote/ (requires OBS WebSocket 4.9.1)

Known OBS SRT issues

Known Loopy SRT Monitor issues

  • "Always On Top" is non-functional (Linux/macOS)
  • Rare case where program might load with extremely large text, making most text unreadable (macOS)
  • While "MultiCameraSwitch" is enabled, mixing an OBS SRT "[SRT]" stream with a non-OBS SRT stream may cause low bitrate to not function as intended. It is recommended to use either two OBS SRT streams, or two non-OBS SRT streams if low bitrate function is enabled.

INSTALLATION

OBS Studio

This guide assumes you have OBS installed and have spent time streaming and an understanding of how it works.

OBS Websocket

Open OBS, enable OBS Websocket, and create a password (Tools -> Websocket Server Settings).

Node.js (not required if using obs-websocket-http)

Following installation of Node.js, run install.cmd within 'Documents\Loopy SRT Monitor' to install "obs-websocket-js" and complete the installation.

VLC 64-bit

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.

OBS Tablet Remote

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.

MODIFICATIONS

OBS Studio (required)

Open OBS, and within the "Media Source", configure your SRT stream. Consult the OBS SRT & RIST Wiki for more information. Ensure Restart playback when source becomes active is disabled. Recommended setting for Reconnect Delay is 1 second.

Restart playback when source becomes active=Disabled

VLC 64-bit

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.

Loop Playlist=Enabled

AdiIRC

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.

A guide to connect AdiIRC to your Twitch chatroom can be found here.

Scripts can also be used to create chat commands. The following are some scripts that can be used and/or edited as required, or you can create your own.

Command Notes Link
!b Admin, mod or user can retrieve current bitrate/s for SLS or NGINX stream/s outputBitrate.ini
!s [scene] Admin or mod (rename moderator_name_1) can manually change to any OBS Studio scene (obs-websocket-http) setScene.ini
!s [scene] Admin or mod (rename moderator_name_1) can manually change to any OBS Studio scene (obs-websocket-js 4.x) setScene_js4.ini
!s [scene] Admin or mod (rename moderator_name_1) can manually change to any OBS Studio scene (obs-websocket-js 5.x) setScene_js5.ini

ADDITIONAL STEPS

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.

OBS WebSocket 5.x vs OBS WebSocket 4.x

Loopy SRT Monitor communicates with OBS via OBS WebSocket.

OBS WebSocket 5.x is a first-party plugin available with OBS 28 and newer. Unfortunately some applications might not be compatible with OBS WebSocket 5.x.

Loopy SRT Monitor, however, is compatible with both OBS WebSocket 5.x and OBS WebSocket 4.9.1, and will automatically detect and run whichever has been configured.

If you still require compatibility with OBS WebSocket 4.9.1, simply download and install obs-websocket 4.9.1-compat.

If you also require Loopy SRT Monitor to function with OBS WebSocket 4.9.1 and/or obs-websocket-js, this allows you one of the following options:

Option #1

  • Following installation, Download and install obs-websocket 4.9.1-compat, and then, within the Documents\Loopy SRT Monitor folder, run install.cmd with option 2. This will download obs-websocket-js 4.0.3, the last version to be compatible with OBS WebSocket 4.x.

  • Loopy SRT Monitor configuration file config.ini must then be edited with the WebSocketConnection setting changed to obs-websocket-js, as obs-websocket-http is not compatible with OBS WebSocket 4.x. Note that the default port used by OBS WebSocket 4.x is 4444, and 4455 for OBS WebSocket 5.x.

Option #2

  • Following installation, download and install obs-websocket 4.9.1-compat. Available in the OBS -> Tools menu should now be two independent settings, one for 4.x compat, and one for 5.x. Server Port numbers cannot be the same.

  • To continue using obs-websocket-js, within the Documents\Loopy SRT Monitor folder, run install.cmd with option 1. If not already downloaded, this will download the latest obs-websocket-js compatible with OBS WebSocket 5.x.

  • Loopy SRT Monitor configuration file config.ini must then be edited with the WebSocketConnection setting changed to obs-websocket-js.

  • To use obs-websocket-http however, follow the instructions in the installation and/or readme.txt file and confirm config.ini contains WebSocketConnection=obs-websocket-http.


Send a tip - https://github.com/loopy750/donate

About

Loopy SRT Stats Monitor. Monitors your OBS SRT, SLS, BELABOX, RESTREAMER, RIST, & NGINX connection/s and switches OBS scene on a failed connection. Ideal for IRL/live streaming.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published