A tcp pipe that delays sending data.

ebdd33f Added tcp timeout settings.

~halzy pushed to ~halzy/waitforit git

8 months ago

8eadd3a status is in it's own task

~halzy pushed to ~halzy/waitforit git

8 months ago


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.


waitforit will accept a TCP stream from OBS and relay it to another TCP endpoint. waitforit --connect --listen --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://' -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:

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