Skip to content

Instantly share code, notes, and snippets.

View steveseguin's full-sized avatar
🎯
Focusing

Steve Seguin steveseguin

🎯
Focusing
View GitHub Profile

How to Contribute Code to VDO.Ninja

Step 1: Fork the Repository

  1. Go to https://github.com/steveseguin/vdo.ninja
  2. Click the "Fork" button (top right)
  3. This creates your own copy of VDO.Ninja

Step 2: Clone Your Fork

git clone https://github.com/YOUR-USERNAME/vdo.ninja.git
@steveseguin
steveseguin / actions.md
Last active May 30, 2025 16:35
Social Stream Ninja actions api

Social Stream Actions and Properties Reference

Actions (using action property)

Navigation Actions

nextPinned

Selects the next pinned message and highlights it

{
@steveseguin
steveseguin / claude_steve_preferences.md
Created May 18, 2025 20:47
Steve's Claude Sonnet 3.7 instructions

I typically write with vanilla Javascript, using HTML and CSS as appropriate, with a functional approach to design. I prefer not using React.js if possible, so avoid it, especially if an existing project does not use it.

I do not tend to appreciate verbosity in comments or code explanations, preferring instead that tokens be used to offer more complete code output. Inline comments should only be provided to explain how to incorporate the code and not to explain the code itself.

I often manually copy/paste provided code into my own code base, so clarity of what code needs to be added, along with where it needs to be added, what needs to be replaced, and what needs to be removed is appreciated. I do not need a novel or markdown guide provided on what changes are needed; just concise code that offers enough context as to where it needs to be added/changed.

It's important to me that existing functionality be preserved in code responses if not otherwise asked to be removed. When making modifications, maintain

Fixing Screen Share Pausing in Chrome (Windows)

When Chrome pauses your screen share because the VDO.Ninja window loses focus, try these fixes:

Chrome Settings

Disable Throttling Flags

chrome://flags/#enable-throttle-display-none-and-visibility-hidden-cross-origin-iframes
chrome://flags/#calculate-native-win-occlusion
@steveseguin
steveseguin / timeouts.md
Created May 13, 2025 01:54
&timeouts=10000,100000,3000,30000,3000,5000

The session.reconnectSpeed array stores various timeout and retry durations in milliseconds, critical for managing WebRTC and WebSocket connection states. Each value influences how quickly the application detects and reacts to connection issues.

session.reconnectSpeed = [10000, 100000, 3000, 30000, 3000, 5000];

You can modify these values using the &timeouts=xx,yy in the URL or by editing the index.html file and adding session.reconnectSpeed = [10000, 100000, 3000, 30000, 3000, 5000];

Examples:

&timeouts=1000,3000 (updates first two values, keeps rest)
&timeouts=,,,10 (updates only 4th value)
@steveseguin
steveseguin / setTimeout_alternative.js
Created March 29, 2025 16:45
Browsers are annoying these days. But solutions exist
function createReliableTimer(callback, delay, data) {
// Check if we're in Electron or OBS Studio
if (window.electronApi || window.obsstudio) {
// Use standard setTimeout for these environments
const timerId = setTimeout(callback, delay, data);
return {
clear: function() {
clearTimeout(timerId);
}
};
@steveseguin
steveseguin / compress.bat
Last active October 2, 2024 05:43
Compress a BluRay MKV Rip further; 30mbps -> 3mbps. Drag and Drop video onto batch file. VERY SLOW 2-PASS TRANSCODING.. Needs FFMPEG
@echo off
setlocal enabledelayedexpansion
if "%~1"=="" (
echo Drag and drop an MKV file onto this batch file to convert it.
pause
exit /b
)
set "input=%~1"
set "output=%~dpn1_hevc.mkv"
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@steveseguin
steveseguin / messagesaving.md
Last active September 18, 2024 21:03
message saving options in social stream

Social Stream Ninja: Saving Options

Social Stream offers several options for saving chat messages and related data. This guide explains each option, its purpose, and how to use it.

1. Save the Last Message to a File

Purpose: Saves only the most recent chat message to a file.

Format: JSON (inferred, not explicitly stated in the menu)

@steveseguin
steveseguin / fulldoc.md
Created September 17, 2024 21:25
VDO.Ninja documentation - raw copy
description
Understanding URL parameters and custom settings

Advanced Options (URL Parameters)

Overview

VDO.Ninja is a tool that can be seen as a mediator, negotiating a direct connection between a publishing device and a viewing device (such as OBS [Open Broadcaster Software]). There are generally two links involved; one to push (publish) and one to pull (view), although links can be made to do both at the same time.