~halzy/waitforit

A tcp pipe that delays sending data.
Added tcp timeout settings.
status is in it's own task
Send is in a task now

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~halzy/waitforit
read/write
git@git.sr.ht:~halzy/waitforit

You can also use your local clone with git send-email.

#WaitForIt!

A tool to smooth out a livestream.

As a streamer, I have a mostly reliable fast internet connection. There are occasional drops that last 500-2000 milliseconds. OBS will drop network packets during the drops and it causes a bad viewing experience.

#usage

waitforit will accept a TCP stream from OBS and relay it to another TCP endpoint. waitforit --connect 127.0.0.1:23456 --listen 127.0.0.1:54321 --delay 10

Set up OBS to send to a URL in the Record tab: tcp://localhost:54321. Set up ffmpeg to listen for a connection and forward to Twitch:

ffmpeg -re -listen 1 -i 'tcp://127.0.0.1:23456' -copyts -codec copy -f flv 'rtmp://sea.contribute.live-video.net/app/<your_stream_key>

Ideally waitforit would be running on a machine closer to Twitch that isn't having network issues. You can tunnel TCP packets to a cloud machine via: ssh <yourbox> -L54321:127.0.0.1:54321

The result would be: OBS => SSH (tunnel) => waitforit => ffmpeg => Twitch