Stream once, broadcast everywhere. A tiny Go supervisor around ffmpeg that takes a single RTMP input and fans it out to Facebook, YouTube, and Twitch at the same time, or just the ones you pick.
- Go 1.26+
ffmpegon your$PATH(built with theteemuxer, which is the default)
-
Copy the example env and fill in your keys:
cp .example.env .env
-
Edit
.env:FB_STREAM_KEY=your-facebook-key YT_STREAM_KEY=your-youtube-key TW_STREAM_KEY=your-twitch-key MR_STREAM_KEY=any-secret-of-your-choice PORT=1935
MR_STREAM_KEYis any string you make up. It's the local key your streaming software (OBS, etc.) uses to connect to mr-streamer, so treat it like a password. 🔑
go run .Or build it:
go build -o mr-streamer
./mr-streamerBy default mr-streamer pushes to all three. Pass flags to stream to only some:
| Flag | Platform |
|---|---|
-fb |
|
-yt |
YouTube |
-tw |
Twitch |
go run . # all three (default)
go run . -tw # Twitch only
go run . -fb -yt # Facebook + YouTubeYou only need the stream keys for the platforms you actually select. MR_STREAM_KEY and PORT are always required.
Point OBS (or any RTMP source) at:
rtmp://localhost:<PORT>/live/<MR_STREAM_KEY>
That single feed gets relayed live to whichever platforms you selected (all three by default). 🎥
Ctrl+C once for a graceful shutdown (10s grace before force-kill). Hit it again if you're impatient.
MIT. See LICENSE.