All Projects → loopy750 → SRT-Stats-Monitor

loopy750 / SRT-Stats-Monitor

Licence: GPL-3.0 license
Loopy SRT Stats Monitor. Monitors your OBS SRT, SLS, RIST, & NGINX connection/s and switches OBS scene on a failed connection. Ideal for IRL/live streaming.

Programming Languages

FreeBasic
24 projects
vba
158 projects

Projects that are alternatives of or similar to SRT-Stats-Monitor

twitchtube
Twitch YouTube bot. Automatically make video compilations of the most viewed Twitch clips and upload them to YouTube using Python 3.
Stars: ✭ 398 (+531.75%)
Mutual labels:  twitch-streamers
electron-video-downloader
A minimal Electron application to download videos, eg from youtube, and associated captions (optional). Uses youtube-dl under the hood.
Stars: ✭ 22 (-65.08%)
Mutual labels:  srt
ttconv
Subtitle conversion. Converts STL, SRT, TTML and SCC into TTML, WebVTT and SRT.
Stars: ✭ 88 (+39.68%)
Mutual labels:  srt
ttml2srt
convert TTML subtitles to SRT subtitles
Stars: ✭ 46 (-26.98%)
Mutual labels:  srt
srt-rs
SRT implementation in Rust
Stars: ✭ 166 (+163.49%)
Mutual labels:  srt
obs-websocket-js
Consumes https://github.com/obsproject/obs-websocket
Stars: ✭ 521 (+726.98%)
Mutual labels:  obs-websocket
Video Srt
这是一个可以识别视频语音自动生成字幕SRT文件的开源命令行工具。
Stars: ✭ 222 (+252.38%)
Mutual labels:  srt
obs-websocket-py
Python library to communicate with an obs-websocket server (for OBS Studio)
Stars: ✭ 139 (+120.63%)
Mutual labels:  obs-websocket
marv
Marv your Swiss streaming tool!
Stars: ✭ 149 (+136.51%)
Mutual labels:  obs-websocket
video-subtitle-extractor
视频硬字幕提取,生成srt文件。无需申请第三方API,本地实现文本识别。基于深度学习的视频字幕提取框架,包含字幕区域检测、字幕内容提取。A GUI tool for extracting hard-coded subtitle (hardsub) from videos and generating srt files.
Stars: ✭ 1,763 (+2698.41%)
Mutual labels:  srt
BAT FFMPEG
Batch script files for FFMPEG (Microsoft Windows and DOS, OS/2 🦄)
Stars: ✭ 104 (+65.08%)
Mutual labels:  srt
srtrelay
SRT relay server for distributing media streams to multiple clients.
Stars: ✭ 81 (+28.57%)
Mutual labels:  srt
ttml2srt
Convert TTML subtitles used by Netflix, HBO, CMore and others to SRT format
Stars: ✭ 51 (-19.05%)
Mutual labels:  srt
raster-master
Raster Master Sprite/Icon/Map editor for Windows 10/11 that generates RayLib code / Put image and map code for Open Watcom, gcc, AmigaBASIC, Amiga C, Amiga Pascal ,QuickBasic, QB64, Quick C, Turbo Pascal, freepascal, Turbo C, Turbo Basic, Power Basic, FreeBASIC, GWBASIC, BASICA, PC-BASIC,, DOS XLIB LBM/PBM
Stars: ✭ 40 (-36.51%)
Mutual labels:  qb64
vWATCH64
vWATCH64 is a debugger/real-time variable watch utility for QB64 programs.
Stars: ✭ 16 (-74.6%)
Mutual labels:  qb64
Subtitle.js
Stream-based library for parsing and manipulating subtitle files
Stars: ✭ 234 (+271.43%)
Mutual labels:  srt
pysubs2
A Python library for editing subtitle files
Stars: ✭ 174 (+176.19%)
Mutual labels:  srt
sceneify
The simplest way to control OBS from JavaScript
Stars: ✭ 75 (+19.05%)
Mutual labels:  obs-websocket
subed
Subtitle editor for Emacs
Stars: ✭ 143 (+126.98%)
Mutual labels:  srt
pysub-parser
Library for extracting text and timestamps from multiple subtitle files (.ass, .ssa, .srt, .sub, .txt).
Stars: ✭ 40 (-36.51%)
Mutual labels:  srt

Loopy SRT Stats Monitor

Loopy SRT Stats Monitor

Download

Latest release available here.
Latest beta release if any are available can be found 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 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

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

DOWNLOADS

Programs to download

OBS Studio - https://obsproject.com/
OBS WebSocket - https://github.com/Palakis/obs-websocket/releases/latest
obs-websocket-http - https://github.com/IRLToolkit/obs-websocket-http/releases/latest
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/

Known OBS SRT issues

OBS WebSocket 5.x vs OBS WebSocket 4.x

OBS WebSocket 5.0.1 is now a first-party plugin with OBS 28, to be released soon. Until then, it is currently available separately for download. Unfortunately all applications are not yet 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 what has been configured. If you still require compatibility with OBS WebSocket 4.9.1, this allows you one of the following options:

Option #1

  • Following installation, continue to use OBS WebSocket 4.9.1, and 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. obs-websocket-http will not work with OBS WebSocket 4.x.

Option #2

  • Following installation, download and install the latest obs-websocket-5.x, followed by 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, 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.

INSTALLATION

Quick Start Guide (Resolve "Test #6 of 10 failed")

OBS Studio

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

OBS Websocket

After installing OBS Websocket, create a password in OBS (Tools -> Websockets Server Settings).

Node.js

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

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.


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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].