Automatic Scene Switcher + Updated Tools for OBS Livestreaming (vex-tm-obs-sync, vextm-ndi-source, and upcoming new tm-switcher)

Hi everyone,

Following the recent discussion in OBS Livestream Plugins, I wanted to share a few projects I’ve been working on to help with VEX Tournament Manager + OBS livestream setups, especially around automatic scene switching and more flexible ways to bring TM Audience Displays into your production.

Note: Both vex-tm-obs-sync and vextm-ndi-source currently run on Windows only.

1. vex-tm-obs-sync

https://github.com/Jerrylum/vex-tm-obs-sync

A bidirectional synchronizer between OBS scenes and VEX TM audience display modes.

  • Automatically switches OBS scenes when TM changes display mode (and the other way around)

  • Configurable mappings via a simple YAML file

  • Supports field-specific scenes (auto Intro / In-Match based on match state) plus other displays (Logo, Results, Rankings, Skills Rankings, etc.)

  • Runs as a standalone executable or from source

This is a free, open-source approach to automatic scene switching that does not require a DWAB API key.

2. vextm-ndi-source

https://github.com/Jerrylum/vextm-ndi-source

A standalone Windows app that launches the TM Audience Display and publishes it as an NDI video source (with audio).

What is NDI?

NDI (Network Device Interface) is a protocol that lets you send high-quality, low-latency video and audio over a standard local network (Ethernet) instead of running dedicated HDMI or SDI cables. Once a source is published, other (multi) computers or software on the same network (OBS, vMix, TriCaster, etc.) can discover and receive it automatically.

This means you can run Tournament Manager on one computer and publish the Audience Display as an NDI signal, while another computer receives that NDI feed in OBS (using an NDI plugin that adds NDI as a source).

Key differences from the official DWAB vextm-obs-source (https://gitlab.com/dwabtech/vextm-obs-source):

Feature Official vextm-obs-source vextm-ndi-source
Integration Direct OBS source plugin NDI source (works with OBS, vMix, TriCaster, etc.)
Computers Best when OBS and TM are on the same machine Designed for split setups (TM on one PC, production on another)
Transparency Native alpha support True alpha or chroma-key green
Multi-display Screen pinning Multiple independent NDI sources (e.g. one for Intro+In-Match, one for Results, one for Rankings+Schedule+etc.)
Platform Windows + Linux Windows only
Dependencies OBS plugin NDI Runtime + DistroAV OBS plugin

It’s especially useful when you want cleaner scene transitions (dedicated sources per display type reduce the chance of catching intermediate green frames) or when your production computer is not the same as the TM server.

Regarding the classic tm-switcher

The original tm-switcher project has been discontinued after May 2026. I have maintained a fork of it here:

https://github.com/jerrylum/tm-switcher

The old version of tm-switcher does not work anymore. This is because it requires the latest “license key” compiled into the app. The license expires every season. Users need to download the latest version of tm-switcher (with the updated license compiled into the app) in order to use it.

I have obtained a new “licnse key” from DWAB and plan to release an updated version of tm-switcher for the current season.


These tools are all unofficial and not endorsed by VEX Robotics, or DWAB. Use them at your own risk, and always test thoroughly before an event.

Feedback, bug reports, and feature suggestions are very welcome on the respective GitHub repos.

Happy streaming!

1 Like