01
Rolling, or not rolling
Record and stream status per device with live timecode and a tally-red tile border while a switcher is rolling, plus the ISO-versus-program-only record mode. Start and stop record or stream on any of them from the browser.
ATEM
ATEM Software Control is one switcher, on one machine, doing one thing at a time. These three cover what happens when there are twelve of them to watch, when they all need the same configuration before the truck leaves, and when the layout you are about to cut to has no preview anywhere.
All three are free and open source. None of them are affiliated with or endorsed by Blackmagic Design; ATEM is their trademark.
01 — ATEM Overseer
One tile per switcher on one screen, styled after the multiviewer you already know: record and stream state with live timecode, program-audio meters, recording time remaining per drive, and transport control across the whole fleet.
A Node server talks to the switchers over the network and runs its own RTMP ingest, so the picture in a tile is the switcher's actual output rather than a placeholder. Run it as a server and point a browser at it, or install the desktop tray app. The live demo is the real dashboard replaying recorded telemetry — the meters move and the timecode advances, and the transport controls are inert and say so.

01
Record and stream status per device with live timecode and a tally-red tile border while a switcher is rolling, plus the ISO-versus-program-only record mode. Start and stop record or stream on any of them from the browser.
02
Time remaining per disk with working-set and low/critical warnings. The protocol reports recording time available rather than raw capacity, so the bar is scaled against a nominal four hours — read the figure, not how full the bar looks.
03
No transcode
The switcher streams to Overseer's bundled RTMP ingest and plays back in its tile as http-flv, and stereo program metering runs at display rate with peak hold. Per-device audio mutes independently so you can listen to one wall at a time — the mute is local playback only and never touches the meter or the switcher.
04
Best-effort mDNS discovery plus manual add by IP or hostname, with model, address, record name and protocol version per device, added and removed live. One click launches ATEM Software Control or ATEM Setup pointed at the device you were just looking at, for the jobs that still need them.
The server binds every interface, and anyone who can reach port 4700 can start and stop recording and streaming on your switchers. There is no token, no session and no TLS option. That is a scope decision rather than an oversight, but it means this belongs on a private production network and nowhere else.
Developed and verified end to end against the built-in simulated fleet (--mock), with real test-pattern streams pushed into the RTMP ingest so the picture is genuine even though the switcher state is not — and since tested against real ATEM hardware in a lab environment. That is not the same as a show: validate transport and upload behaviour against your own models before one depends on it.
It holds this app's fleet and ingest settings — it is not an ATEM state backup, and device-list changes take effect on restart. Fleet Admin, below, is the one that writes switcher configuration.
02 — ATEM Fleet Admin
Define every switcher in one project file and build each one's configuration through forms that already know what that model can do — then write a loadable config.xml and media folder per device, or push the settable subset live over the network.
The project file is a plain, versionable file, so a fleet configuration becomes something you can diff and hand over rather than a state of mind. There is a browser build of it too, over on the web tools page, which generates identical XML but cannot reach a switcher — a web page has no way to open a socket to one.

01
The point of it
Each device is assigned a model, and the editor shows only the tabs that model has: a Mini Extreme ISO gets Streaming and Recording, a 4 M/E Broadcast Studio gets SuperSource and multiple M/Es instead. The generator emits only the sections that model has, so a configuration cannot claim a capability the hardware does not have.
02
Input and output names, AUX routing, show and project name, recording bitrate and mode, SuperSource layout and sources, media pool items and player assignments, streaming destination, key and bandwidth, fade to black, default transition time and type, DVE.
03
config.xml plus a Media/ folder per switcher, named after it, applied through ATEM Software Control's own Load button. The XML matches the element, attribute and nesting conventions of real ATEM save files rather than a guess at them.
04
Set an address and push the settable subset — input names, AUX routing, SuperSource boxes, media-player assignments, transition and FTB rates, streaming service, ISO mode. Anything the Ethernet protocol cannot reach, such as media-pool uploads, UVC routing and recording bitrate, is reported as folder-export only rather than quietly skipped.
No ATEM Mini save file was available as ground truth, so those <Streaming> and <Recording> elements are reconstructed from the protocol rather than copied from a known-good file. For those specific fields, Connect & apply is the authoritative path.
Phase 1 covers the two hardware classes — ATEM Mini Extreme ISO and 4 M/E Broadcast Studio 4K — which is what makes the model-aware forms meaningful in the first place. Adding a model is one entry in a table rather than a new code path, but a model that is not there is not there.
ATEM is their trademark and none of this is endorsed by them. The save-file format was matched against real files, not read from documentation, so verify a generated configuration on your own hardware before it goes anywhere near production.
03 — animATEM
Standard PGM/PVW control for an ATEM Mini Pro or Extreme ISO, plus the thing the hardware does not give you: a composited preview of a SuperSource or DVE arrangement built from the switcher's own multiview, so a layout can be checked before it is taken to air.
Rather than synthesising a preview from scratch, it captures the multiview over USB — where the switcher enumerates as a UVC webcam — crops the individual source boxes out of that live feed and recomposites them. It runs as a desktop app with a touchscreen operator UI and a kiosk mode, and a Bitfocus Companion module drives it from a Stream Deck.

01
The point of it
The boxes in the preview are the switcher's own sources, cropped out of its live multiview and recomposited into whatever arrangement you are building — not coloured rectangles standing in for them. What you approve is what goes to air.
02
The protocol has no native SuperSource tweening — an upstream keyer's DVE is animated by the switcher itself via fly-keyframes, SuperSource is not — so the app eases into the target layout from the outside, as a fixed-cadence stream of interpolated positions. Pick a duration and press Animate instead of Take.
03
Layout presets that belong to the app rather than to the ATEM's own macro system: capture an arrangement, name it, recall it — as a cut, or as an animated move into it. Drag to reposition and drag a corner to resize while you build one.
04
A touchscreen operator UI with a kiosk mode for a rack-mounted panel, and a Companion module covering cut, auto, FTB, source selection and animated memory recall, with feedback and variables for the current program and preview input.
The compositing workflow reads the multiview over USB, and the default USB output is Program. Without that one change the app still connects and still switches — and the preview has nothing to crop.
Phase 1 is built and exercised in isolated browser and Electron harnesses, and the packaged app boots on its own, but it has not been run against ATEM hardware. Two things are explicitly placeholders until it has: the coordinate scale the preview panes lay out against, and the UVC capture path, which has only been exercised against a generic webcam rather than a real multiview output.
Anything that can reach port 51234 on the machine can cut, auto, FTB or recall a memory. That is fine bound to localhost, which is the default and the only configuration shipped. Do not rebind it to a network address without adding authentication first.
Why three and not one
Fleet Admin is the day before, on a laptop, with nothing plugged into it. Overseer is during, at front of house, watching all of them at once. animATEM is one operator on one switcher, building a layout. Folding them into a single application would mean carrying all of it to do any one of those jobs.
All three ship unsigned, so macOS Gatekeeper and Windows SmartScreen will both want a word the first time you open one. Each project page carries the steps for its platform.