Coder Social home page Coder Social logo

kyroskoh / srt-stats-monitor Goto Github PK

View Code? Open in Web Editor NEW

This project forked from loopy750/srt-stats-monitor

0.0 1.0 0.0 3.21 MB

Loopy SRT Stats Monitor. Monitors your OBS SRT connection/s and switches OBS scene on a failed connection. Ideal for IRL/live streaming.

License: GNU General Public License v3.0

BASIC 75.35% VBA 24.65%

srt-stats-monitor's Introduction

Loopy SRT Stats Monitor

Loopy SRT Stats Monitor

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

sprEEEzy's Guide

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

DOWNLOADS

Programs to download

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/

Known OBS SRT issues

obsproject/obs-studio#4596

INSTALLATION

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 Wiki for more information. Ensure Restart playback when source becomes active is disabled. Recommended setting for Reconnect Delay is 1 second.

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.

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.

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.

srt-stats-monitor's People

Contributors

loopy750 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.