vMixRTC

One panel for every title in your vMix show

vMixRTC is a free control surface for vMix. Lay out scores, timers, buttons and live data on a touch-friendly panel, then run the broadcast from Linux, macOS or Windows. It opens vMixUTC .vmc files as they are.

Install vMixRTC View source on GitHub

Version 0.3.0, released . MIT licence, written in Rust.

Press something. The picture follows.

A working miniature of a vMixRTC panel. vMix is simulated here; the requests in the log are the ones the app sends.

Scoreboard.vmc vMix, simulated
Home score
2
Away score
3
Timer
67:12
Overlays
vMix output
Sent to the vMix API
  1. Nothing sent yet. Press a button on the panel.

Sixteen widgets to build a panel from

Drag them onto a page, size them, map them to the inputs and title fields in your vMix project. Pick one to see what it does.

Score

A number with plus and minus. Map it to several titles and the main scoreboard, the corner bug and the full-time card all stay in sync.

What a panel can do beyond buttons

Buttons that check before they act

Every button runs a script: a list of vMix functions with logic around them. A script can read live vMix state, branch on it, wait, keep a variable and call an outside API.

  • _('Overlays[0].ActiveInput') and other expressions read the state of vMix
  • Condition, Else and GoTo for branching
  • Timer and Delay to pace a sequence
  • SetVariable and SetGlobalVariable to remember things
  • API and APIPOST to reach anything with a URL

The editor lists every vMix function with its parameters, so you pick from a catalogue instead of memorising names.

vMixRTC script editor showing a seven-step script with a Condition that compares the active overlay input

Titles fed by a spreadsheet

Point a widget at a data source and its rows become title content. Click a row and every mapped field in the title updates in one go.

  • Google Sheets and Excel .xlsx
  • JSON with JSONPath, XML with XPath
  • HTTP and HTTPS with your own headers, for APIs that want a key
  • NDI sources found on the network
  • Files in a folder

There is also an NDI monitor widget that shows a live source right on the panel.

Data sources guide (in Russian)

vMixRTC external data widget reading team names from a JSON API with a JSONPath query

Pads, keys and the clock can press for you

Each control on a panel has named links such as Play.Execute. Anything can trigger a link, so hardware and schedules reuse the buttons you already built.

  • MIDI pads and faders, bound in learn mode
  • Stream Deck keys over direct USB access, no Elgato software
  • Hotkeys
  • Clock events: a time, the weekdays, the link to fire
  • Other widgets and scripts, through ExecLink
vMixRTC clock widget properties with a schedule entry for 09:30 on weekdays that fires Play.Execute

Coming from vMixUTC? Bring your files.

vMixRTC is a ground-up Rust rewrite of vMixUTC, the C# and WPF controller by elgarf. It reads and writes the same .vmc format, so panels you already built keep working, now without .NET and beyond Windows.

Checked against real controller files

The command-line tool reads every example controller, writes it back, reads it again and compares. It also checks that each widget type, script command and data provider in the file is one it knows.

vmixrtc-cli verify examples --verbose
controller files
6
widgets
57
script commands
45
problems
0

Not everything from the original is ported yet. The list of gaps is in the repository. What is not ported

Scoreboard.vmc, an example controller from vMixUTC, open in vMixRTC in Panel mode.
Scoreboard.vmc, an example controller from vMixUTC, open in vMixRTC in Panel mode.

Install vMixRTC

Pick your system. Every download includes the vmixrtc-cli command-line tool.

Arch Linux

Two commands. The first adds the vMixRTC pacman repository, the second installs the app. Updates then arrive with pacman -Syu.

curl -fsSL https://github.com/fursyt12/vMixRTC/releases/download/repo-x86_64/vmixrtc-repo.sh | sudo bashsudo pacman -S vmixrtc-bin

Want to read the script first? Download vmixrtc-repo.sh, look through it, then run it with sudo bash vmixrtc-repo.sh. Adding --remove undoes everything it changed.

All releases and older versions

First run

  1. In vMix, open Settings, then Web Controller, and turn it on. Note the address and port; the default port is 8088.
  2. Start vMixRTC, enter that address and port in the toolbar and press Connect. The status turns green and shows the vMix version.
  3. Press Open to load a .vmc file, or add your first widget to the empty page. Switch from Editor to Panel when you go live.

The same engine, from a terminal

Call a vMix function from a shell script, press a panel button from cron, or check a controller file before a show.

vmixrtc-cli statusvMix version and state summary

vmixrtc-cli call Cut --param Input=1call a vMix function

vmixrtc-cli vmc Scoreboard.vmcinspect a controller file

vmixrtc-cli press Scoreboard.vmc 12run a widget script, no window

vmixrtc-cli demo my.vmc --kind clockgenerate a demo controller

Questions people ask first

Is vMixRTC free?

Yes. It is open source under the MIT licence, and the code is on GitHub. There is no paid tier.

Does this let me run vMix on Linux or macOS?

No. vMix itself runs on Windows. vMixRTC is the controller: it runs on any computer on the same network and talks to vMix over the vMix HTTP API. A Linux laptop or a Mac can drive a vMix machine in the rack.

Will my vMixUTC controllers open?

They should. vMixRTC reads and writes the vMixUTC .vmc format, and the bundled examples survive a read, write and read cycle unchanged. Some parts of the original are not ported yet; the list of gaps says which.

Do I need .NET or the Elgato Stream Deck software?

Neither. vMixRTC is a single native application. It talks to a Stream Deck directly over USB and to MIDI devices through the system MIDI service.

What does vMix need for this to work?

The Web Controller turned on in vMix settings. vMixRTC connects to the address and port shown there, 127.0.0.1:8088 if both run on the same machine, and reads vMix state once a second.

Can I use it on a touchscreen?

Yes, that is what it was built for. Panel mode locks the layout so a touch presses a button instead of moving it. Android and iOS builds are possible from source; MIDI and Stream Deck stay desktop-only.

Is vMixRTC made by the vMix team?

No. It is an independent community project and is not affiliated with vMix or StudioCoast Pty Ltd.