Stream to Twitch, Kick and YouTube at the same time from one OBS encode, and read every chat in one dock.
Tandem is an OBS Studio plugin. It adds extra streaming targets next to OBS's own stream, lets them reuse OBS's encoder so going live on three platforms costs about the same CPU/GPU as going live on one, and merges chat from the platforms you pick into a single dock (plus an optional on-stream overlay).
Everything is opt-in. Stream to one platform, two, or all three; read chat from any subset; turn the overlay on only if you want it.
Tandem is a fork of obs-multi-rtmp by SoraYuki. See CREDITS.md.
Simple or Advanced
- Simple mode: tick platforms, paste keys, press Go Live. The encoder and bitrate are chosen for you.
- Advanced mode: every setting of every target, for custom setups.
Multistreaming
- Extra outputs for Twitch, Kick, YouTube or any RTMP/RTMPS, SRT/RIST or WHIP server.
- Platform presets fill in the ingest URL; paste your stream key, or import OBS's own stream settings in one click.
- Shared encoder by default: one encode feeds every output. A separate encoder per target is still available (and clearly marked as costing extra CPU/GPU).
- Per-target "go live with OBS" checkbox: ticked targets start and stop with the OBS stream and with Start enabled.
- Live status per target: connecting, streaming, reconnecting, stopped with the reason, bitrate, FPS and dropped frames.
- Reconnects use the same retry settings as OBS's own stream. A server that keeps accepting and then dropping the connection (the "endless reconnect" case) is detected and stopped with an explanation.
- One failing target never stops the others.
- Upload estimate for everything that is live or enabled, with an optional warning when it gets close to your upload capacity.
- Twitch bandwidth-test mode for private test runs.
- Stream keys are kept in Windows Credential Manager, not in plain-text config files.
Unified chat
- One dock with messages from Twitch, Kick and YouTube, labeled by platform, with author colors, roles and optional timestamps.
- Emotes as images: Twitch and Kick emotes, plus 7TV, BetterTTV and FrankerFaceZ emotes (the ones viewers see with those browser extensions).
- Show/hide each platform, see each platform's connection status at a glance.
- Read-only and no logins: Twitch needs only your channel name, Kick your channel slug, YouTube your
@handle. Chat for YouTube connects by itself whenever you go live. - Updates are batched, the list is capped (500 messages by default), and all networking runs off OBS's video, audio and UI threads.
Overlay (optional)
- A local page for an OBS Browser Source that shows the merged chat on stream.
- Bound to
127.0.0.1only. Styling through URL options or the Browser Source's Custom CSS.
No accounts, no cloud, no telemetry. Tandem talks only to the streaming and chat endpoints you configure. See PRIVACY.md.
- OBS Studio 32.2 or newer (built against 32.2.1, tested on 32.2.2).
- Windows 10/11 x64. macOS and Linux builds are produced by CI; see the wiki for their current status.
- Enough upload bandwidth: roughly your bitrate × the number of outputs.
Windows: Download the installer, double-click it, click Install, then Finish (it starts OBS for you). That's it.
- If Windows shows "Windows protected your PC", click More info → Run anyway. The installer isn't code-signed yet; the release page lists its SHA-256 if you want to check it.
- If OBS is open, the installer asks you to close it first.
- To update, run the newest installer. To remove Tandem, use Windows Settings → Apps → Installed apps → Tandem for OBS Studio.
Mac: download tandem-macos.pkg. Linux: see the install guide.
After OBS starts, the Tandem and Tandem Chat docks open on their own the first time; later you find them under Docks.
If you used obs-multi-rtmp before, Tandem imports its targets from the same OBS profile on first start (the old file is left untouched). Remove obs-multi-rtmp afterwards so you don't run both.
Simple mode (the default):
- In the Tandem dock, tick Stream here on each platform you want.
- Paste each stream key; each card links to the page where the platform shows it (Twitch, Kick, YouTube Studio → Go live). Optionally tick Show this chat and enter your channel name (for YouTube, your
@handle; no API key needed). - Press Go Live.
Tandem picks the best H.264 encoder on your computer (NVIDIA, AMD, Intel or Apple hardware, otherwise x264) and a bitrate that fits your resolution, and every platform shares that one encode. Ticked platforms also go live when you click OBS's own Start Streaming.
Advanced mode (button at the top of the dock) shows every target with all of its settings: custom servers, SRT/WHIP, reusing OBS's own encoder, separate encoders, scenes and resolutions per target, audio tracks and more. Both modes edit the same targets, so you can switch at any time.
Chat settings are also in Tandem Chat → Settings.
Full guides: docs/wiki.
Upload needed ≈ bitrate × number of outputs. Three outputs at 6 Mbps need about 18 Mbps of steady upload, plus headroom. Sharing the encoder saves CPU/GPU, not bandwidth. See Bandwidth and performance.
Measured on the development machine (OBS 32.2.2, x264 veryfast 720p30 at 2.5 Mbps, 2-minute runs): adding three shared-encoder targets plus Twitch and Kick chat raised OBS's CPU from 1.70% to 1.85%, with zero skipped or dropped frames in both runs.
You are responsible for following each platform's terms. Twitch requires simulcasts to be at least as good on Twitch as elsewhere; Kick partners must enable Kick's multistreaming setting; showing a merged chat on stream may be restricted by some platforms. See Platform rules.
cmake --preset windows-x64
cmake --build --preset windows-x64 --config RelWithDebInfo
Unit tests (no OBS needed): cmake -S tests -B build_tests then cmake --build build_tests and ctest --test-dir build_tests. Details: Building from source.
Tandem is based on obs-multi-rtmp by SoraYuki and built with the OBS Project's plugin template. It is licensed under the GNU General Public License v2.0 or later; see LICENSE and CREDITS.md.
Not affiliated with or endorsed by Twitch, Kick, YouTube/Google or the OBS Project. All names belong to their owners; Tandem uses plain text labels instead of platform logos.

