Per-Participant NDI ISO Controller for Microsoft Teams. Receives Teams NDI streams, normalizes framerate/resolution, and re-emits clean ISO outputs for live production switchers (vMix, OBS, Ross). Wild Dragon LLC.
Two simultaneous TeamsISO processes contend over the NDI runtime, the same default sender names, and %APPDATA%\\TeamsISO\\config.json — observed during testing when launchers / shortcuts produced duplicate windows. Add a Local namespace per-user-keyed mutex (Local\\WildDragon.TeamsISO.SingleInstance.<username>) at startup; if a second instance can't claim it, broadcast a registered window message ('WildDragon.TeamsISO.BringToFront') and Shutdown(0). The running instance subscribes to that message via ComponentDispatcher.ThreadFilterMessage and surfaces its main window when received.
Per-user keying lets two different Windows users on the same machine each run their own TeamsISO. Mutex is released and disposed on OnExit.
Verified: Start-Process the exe twice in a row -> only one process remains, with the original window surfaced.
|
||
|---|---|---|
| .forgejo/workflows | ||
| docs | ||
| src | ||
| .editorconfig | ||
| .gitignore | ||
| coverlet.runsettings | ||
| Directory.Build.props | ||
| README.md | ||
| TeamsISO.Linux.slnf | ||
| TeamsISO.sln | ||
| TeamsISO.Windows.slnf | ||
TeamsISO
Per-Participant NDI ISO Controller for Microsoft Teams.
TeamsISO sits between Microsoft Teams' raw NDI broadcast output and a live-production environment. It receives each participant's NDI stream, normalizes framerate and resolution per a configured target, and re-emits clean, individually-addressable NDI sources for ingestion into a switcher (vMix, OBS, Ross, hardware capture).
Status
Pre-1.0. See docs/superpowers/specs/ for the active spec and docs/superpowers/plans/ for in-flight implementation plans.
Build
Requires .NET 8 SDK.
dotnet build
dotnet test
License
Proprietary, © Wild Dragon LLC 2026.