Stoatworks Labs

Discipline

Video

Switchers, processors, media servers, and the streams that run between them.

Video is the widest category here, because the word covers a switcher on a shelf, a media server in a rack, and a stream crossing a network you don't control. The jobs have almost nothing in common except that they all fail in front of an audience.

A few of these replace something that costs money. Most exist because the thing they do wasn't available at all: watching a dozen switchers on one screen, provisioning all of them at once, or turning a URL into an SDI output without a laptop left in the signal path. Two vendors have enough here to be sections of their own, and each of those continues on a page of its own. The plugins that run inside Resolume, Resolve and the rest have a page of their own, Video plugins, and the tools that run in a browser tab are at the bottom of this one.

26 projects · 18 with builds to download · 17 to try in a browser

Blackmagic Tools

Everything here points at Blackmagic kit: a fleet of ATEMs, the scopes and the routing over them, the DeckLink cards carrying the picture back out, and the edit project the recordings become afterwards. One switcher is a front-panel job. Twelve of them, in twelve rooms, is a software job.

ATEM Overseer — A whole fleet of ATEMs on one screen

ATEM Overseer

Field testing

AV Systems / Application/ TypeScript/ v0.3.11

A browser dashboard for watching and controlling a fleet of Blackmagic ATEM switchers, styled after the BMD multiviewer. There's a desktop tray app version too.

  • ATEM
  • Blackmagic
  • Multiview
  • Fleet management
animATEM — ATEM control with DVE preview

animATEM

Released

AV Systems / Application/ TypeScript/ v0.2.3

Control for the ATEM Mini Pro and Extreme ISO, plus something the hardware doesn't give you: a SuperSource/DVE preview, put together in software from the switcher's own multiview, captured over UVC. There's a touchscreen operator UI and a Companion module.

  • ATEM
  • UVC
  • SuperSource
  • Touchscreen
  • Companion
BlackMatrix — An ATEM fleet as one router, with failover

BlackMatrix

Field proven

AV Systems / Application/ TypeScript/ v0.4.2

A crosspoint router matrix over a fleet of Blackmagic ATEM switchers: sources across the top, destinations down the side, one click to route. It also serves the Videohub Ethernet Protocol, one server per switcher, so hardware router panels, Companion and a media server's own matrix driver all get at the same crosspoints. On a redundant rig it watches the main media server and fires a salvo when it stops answering.

  • ATEM
  • Blackmagic
  • Videohub
  • SuperSource
  • Routing
  • Fleet management
  • Failover
  • Redundancy
  • Companion
atem-scopes — Scopes around an ATEM multiview

atem-scopes

Released

AV Systems / Application/ TypeScript/ v0.2.4

Video scopes laid out around a live ATEM multiview. Waveform, vectorscope, histogram, false colour, zebras and focus peaking on any multiview window, program and preview included, with each source named live from the switcher's own multiviewer config. There's a desktop app and a browser build.

  • ATEM
  • Blackmagic
  • Waveform
  • Vectorscope
  • Multiview
Resolve Configurator — A whole Resolve project from one CSV

Resolve Configurator

Field testing

AV Systems · Content Management / Application/ Python/ v0.1.6

Sets up a whole DaVinci Resolve project, with theatre and day bins, a timeline per session, imported media and smart-bin recipes, from the same session CSV that drives the file-drop workflow.

  • DaVinci Resolve
  • Blackmagic
  • Post
  • CSV
  • Automation

Analog Way

Two generations of processor, one vendor, and two quite different problems. On a current LivePremier the frame answers everything and its own interface asks you to go and look, so these sit beside it. On the Midra and LiveCore boxes the hardware still works and the software that drove it no longer runs, so openRCS replaces it. The whole family is on its own page.

LivePremier Plus — Your switcher's own interface, with the missing panels

LivePremier Plus

Field testing

AV Systems / Application/ JavaScript/ v0.18.10

Adds the panels an Analog Way switcher's own Web RCS doesn't have, for LivePremier and, since 0.6.0, Midra 4K and Alta 4K too. There's an Edit page (the Screens / Aux. layout with one row instead of two), so you can program a look off both buses and save it straight into a real memory. There's a VPU resource map, a lighting-desk command line, a theatre cue stack, a memories list across every bank, and a layer-properties panel built from the device's own catalogue, with names for layers the switcher can't hold. Layer groups move as one, with a send-to menu on every source card. Routing goes through an external Videohub, Lightware or Turtle AV matrix, or a placeholder of one so you can build the show before the rack turns up. A Bitfocus Companion can live on the same address, its buttons pressable from a cue or a memory recall. Then there's Pitch Compensation for mixed-pitch LED walls, OSC input, cues fired from timecode, MIDI control-surface mapping, HyperDecks and Mitti played, cued and recorded with rules that follow the show, a layer lock that holds a layer through a take or takes one on its own, a pixel map from the switcher's own image library laid over the preview as a mask, surfaces that keep a layer inside the LED element it's bound to, thin borders and dark name tabs for an aux laid out as a multiviewer, an EDID builder on the switcher's own EDID page, a Pixelhue console panel with every control remappable (preview), a DaVinci Resolve Speed Editor as a switcher panel, held by a device host that looks after USB panels for the app, the frame's audio channel matrix as a crosspoint grid, remote access over Tailscale or ZeroTier, live multiviewer pictures in the source thumbnails (preview), a thumbnail relay that sends the source previews as JPEG and refreshes the ones being edited fastest (preview), the whole setup in one file, audio routing from the command line, Test Card's patterns beside the switcher's own Pattern tab, a Resolume Arena output preset made from the switcher's own outputs, image library tools, and arithmetic in numeric fields: type 1080-80 into a layer width and get 1000. Every one of them is a plugin you can switch off, and you can write your own to add to them. It runs as a local proxy, so you browse to it instead of to the switcher and the extra panels are just there, drawn in the vendor's own design language.

  • LivePremier
  • Aquilon
  • Analog Way
  • Pulse 4K
  • Alta 4K
  • Midra 4K
  • AWJ
  • VPU
  • Cue stack
  • Videohub
  • Lightware
  • MIDI
  • Docker
  • OSC
  • Timecode
  • Plugins
Aquilon VPU Map — Where every mixer in the chassis went

Aquilon VPU Map

Field testing

AV Systems / Application/ JavaScript / Rust/ v1.4.0

Every layer on an Analog Way LivePremier costs physical mixing hardware, and the frame knows where all of it went. This reads the allocation back and draws the whole chassis on one screen: each VPU as the 8x8 field of links the manual draws, and every layer's bar as wide as the outputs it spans and as tall as its capacity. It only ever reads, never writes.

  • LivePremier
  • Aquilon
  • Analog Way
  • AWJ
  • VPU
  • Docker
AWJ Surface — A fader that follows the switcher back

AWJ Surface

Field testing

AV Systems · Show Control / Application/ JavaScript

Maps MIDI and OSC control surfaces onto an Analog Way LivePremier: faders to layer opacity, encoders to size and position, and buttons to select layers, apply sources and switch keying. It works both ways, so motor faders follow the device, LED rings follow the encoders and X-Touch scribble strips name the layer each strip is pointed at. Read-only mode means the client has no write path at all, rather than a flag.

  • LivePremier
  • Aquilon
  • Analog Way
  • AWJ
  • MIDI
  • OSC
  • Control surface
openRCS — A fresh control surface for Analog Way LiveCore and Midra

openRCS

Released

AV Systems / Application/ Rust/ v0.11.2

A modern control surface for Analog Way Midra and LiveCore series video processors. Its Workspace puts the sources, every screen and the memories on one page that fills the window, so you can build in program, preview or both at once, with a graphical layer editor, memories, takes, a multiviewer and confidence-output designer, an EDID writer and a full variable inspector behind it.

  • Analog Way
  • NeXtage
  • Ascender
  • Pulse2
  • Midra 4K
  • Alta 4K
  • Web UI
openRCS Protocol — The Analog Way control protocol, written down

openRCS Protocol

Released

AV Systems / Library & Protocol/ Markdown

A reference for the TCP control protocol of Analog Way's Midra and LiveCore series video processors: the wire format, the variable model and the complete variable tables. Documentation only.

  • Analog Way
  • Protocol
  • Midra
  • LiveCore
  • Reverse engineering

The BirdDog PLAY

One decoder, taken further than its firmware goes: a builder for installable firmware packages, the patches those packages carry, and a replacement operating system for when a patch isn't enough. The whole family, including the private work and the fleet tools, is on its own page.

Flock — Every BirdDog Play decoder from one page

Flock

Field proven

AV Systems / Application/ Rust/ v0.2.6

One web UI for a whole fleet of BirdDog Play NDI/SRT decoders: find them on the LAN, group them with tags, change any setting BirdUI has on any unit, or change it across a whole group at once.

  • BirdDog
  • NDI
  • SRT
  • Fleet management
bdts — Tailscale, signed in from the decoder's own web UI

bdts

In development

AV Systems · Networking & Infrastructure / Firmware/ Go

A firmware patch for the BirdDog PLAY that adds a Tailscale panel to the System page of the decoder's own web UI, so a unit joins a tailnet from a browser instead of over SSH. It's the other half of the PLAY Patcher, which installs Tailscale but bakes in no auth key on purpose, because a key in a file the browser hands you is a key in cleartext. That left every patched unit installed but not signed in. Settings go through Tailscale's set command rather than up, so changing one preference doesn't reset all the others behind your back, and the panel won't offer exit-node and subnet-route switches this kernel can't honour: there's no TUN device, so Tailscale runs in userspace networking. Reads are open; writes need a live birdUI session, because an open Tailscale API would let anyone on the LAN join the box to a tailnet of their own.

  • BirdDog
  • Tailscale
  • Firmware
  • Remote access
  • NDI
bdplay — A USB stick as a source on an NDI decoder

bdplay

In development

AV Systems / Firmware/ Go

A firmware patch that adds USB to the source list on a BirdDog PLAY, so the decoder plays video, stills and PDFs off a stick straight out of its HDMI, in order or shuffled, looping, and hardware-decoded. The box already had everything it needed for this and did nothing with it: the media stack is on there, nothing automounts, and the stock web UI checks the source name against a list USB isn't on. So the patch mounts the stick itself, always read-only because people pull these out without ejecting, and takes over the source dropdown instead of trying to teach the vendor's handler a new word. That means the unit stays configured for NDI underneath, and switching back is instant. exFAT works through FUSE without touching the kernel, and PDFs render through PDFium.

  • BirdDog
  • NDI
  • Firmware
  • Playback
  • USB
companion-play — An NDI decoder turned into a Companion box

companion-play

In development

AV Systems · Show Control / Firmware/ Shell/ v0.1.0

A replacement operating system for the BirdDog PLAY that turns it into a Bitfocus Companion appliance: the Companion server, its admin interface on the unit's own HDMI output, and USB control surfaces plugged into its port. It replaces the firmware, so the unit stops being an NDI decoder until it's flashed back, but only two partitions change, which leaves both recovery paths intact. 808 Companion modules ship in the image, so it works with no network on first boot.

  • BirdDog
  • Companion
  • Stream Deck
  • Appliance
  • Linux

Playback and media servers

Getting a picture onto an output, from a file, a URL or a network source.

WebLinked — A URL in, SDI, NDI and a screen out

WebLinked

Field proven

AV Systems / Application/ C++/ v1.3.1

Renders any web page offscreen through Chromium at a broadcast raster and rate, then sends it to DeckLink and AJA over SDI, to the network as NDI, OMT and RTMP/SRT, into Resolume or TouchDesigner over Syphon and Spout, and fullscreen to a GPU-attached display, with every output taking the same frame. It can run several of those pipelines at once, each with its own browser, clock and raster, so a page that hangs on one feed can't touch the others. The engine clocks the browser one frame at a time instead of letting it paint on its own timer, so 50 ticks a second means 50 paints. Settings, live diagnostics and an interactive preview all live in the browser, so a rack machine needs nothing but an HTTP port.

  • NDI
  • SDI
  • DeckLink
  • AJA
  • OMT
  • SRT
Rookery — One cue, every WebLinked

Rookery

Released

AV Systems · Show Control / Application/ Rust/ v0.2.4

One web UI for a fleet of WebLinked instances: tag them into groups, send any WebLinked command to a group or the whole fleet over OSC, and watch each instance's state come back over HTTP. A lighting desk or cue stack can drive the same groups with one OSC message, using WebLinked's own verbs, so you retarget an existing button by editing the front of its address.

  • OSC
  • WebLinked
  • Show control
  • Fleet management
Presentation Commander — Server — Master control for a presentation room, over NDI

Presentation Commander — Server

Field testing

Content Management · AV Systems / Application/ TypeScript/ v1.1.4

Master control for a presentation room: a real-time NDI video matrix router, a layered scene compositor, a presenter-notes hub, and a Control Surface with a JSON-RPC automation API.

  • NDI
  • Matrix router
  • Scenes
  • Electron
Alleycat — Keeps the show on DXV without anyone thinking about it

Alleycat

In development

Video FX · Content Management / Application/ TypeScript

A tray tool that keeps a Resolume show on DXV. Point it at a folder and anything dropped in gets probed and, if it isn't DXV already, sent to Resolume Alley to be converted. Point it at a running Arena or Avenue and it finds the clips that are still h264, converts them and swaps the converted file into the composition in place, keeping in and out points and clip effects, and leaving any clip that's playing alone until it stops. Alley does the converting itself, because ffmpeg has no DXV encoder and Alley is the only thing that makes one.

  • Resolume
  • Resolume Alley
  • DXV
  • Transcode
  • Electron
  • macOS

Transport and routing

Moving pictures between rooms, buildings and networks that weren't designed for it.

SRT Router — A broadcast-style crosspoint for SRT

SRT Router

Field testing

AV Systems · Networking & Infrastructure / Application/ Rust/ v0.2.5

A crosspoint for SRT that works like a broadcast router: any number of inputs and outputs, each output switchable live to one source, all added and removed on the fly from a web UI. It's a straight relay with no transcoding, and NDI transport is included.

  • SRT
  • NDI
  • Crosspoint
  • Low latency

Planning and proving a rig

Deciding what will take the show, then proving the signal path does what the drawing says: the EDID the display will actually accept, a test pattern at every output's own raster, and a picture of every source in the rack.

av-test-roms — Test ROMs for the video path

av-test-roms

In development

Video FX · AV Systems / Application/ Assembly

Three test programs (a moving test card, a controller mapping tester and an overscan display), built from source for every console that has a toolchain in Homebrew. They're for checking the video path, not how accurate the emulator is.

  • Test ROM
  • Retro
  • libretro
  • Overscan
  • NES

Plugin hosts and bridges

Not effects themselves, but the things that let one plugin format run somewhere it was never built for, or run at all outside a VJ application.

Stoatworks Burrow — One list for every plugin, tool and module

Stoatworks Burrow

Beta

Video FX · AV Systems · Audio · Networking & Infrastructure / Application/ Rust / TypeScript/ v0.5.0

An optional desktop app for all the Stoatworks software: plugins, tools, applications and Companion modules. It shows what you've got installed and what has an update, and installs each one in whichever formats you use, whether that's FFGL for Resolume, OpenFX for Resolve, After Effects, or VST3 and Audio Units for a DAW. It keeps itself up to date too. You don't need an account, and it doesn't send anything anywhere.

  • Resolume
  • DaVinci Resolve
  • After Effects
  • FFGL
  • OpenFX
  • Plugin manager
  • Tauri
  • macOS
  • Windows
  • Companion

Also video

Everything else in the category.

bdcam — Plug a webcam into a decoder, get NDI out

bdcam

In development

AV Systems / Firmware/ Go

A firmware patch that runs a BirdDog PLAY backwards. Plug a USB webcam into the decoder and it becomes an NDI or SRT sender, or goes straight back out of the HDMI. The board has a hardware encoder fitted and switched on, and the vendor's own software never touches it, because a decoder has nothing to encode.

  • BirdDog
  • NDI
  • SRT
  • Firmware
  • Encoding
PLAY Patcher kit — The PLAY Patcher's parts, as one download

PLAY Patcher kit

Field testing

AV Systems · Networking & Infrastructure / Firmware/ Shell/ v0.3.0

Everything the PLAY Patcher puts into a firmware package, released as one zip: the installer scripts, the module binaries, a manifest saying where each file goes and which option needs it, and the licence notices. The page serves those files from its own origin, so nothing outside a browser could get at them until now. Tailscale and MediaMTX aren't in it, on purpose: whoever builds a package fetches them from their own publishers, the same as the page does.

  • BirdDog
  • NDI
  • Firmware
  • Tailscale
  • KVM
automitti — Mitti on switchers it's never heard of (preview)

automitti

Beta

AV Systems · Show Control / Application/ JavaScript/ v0.2.1

A menu-bar app that lets Mitti follow a switcher it doesn't know (a Roland V-160HD, an Analog Way Pulse 4K / Midra 4K, an older Midra or a LiveCore) the way it follows an ATEM, and drives QLab 5 the same way. It can pretend to be an ATEM for Mitti to connect to, send NDI tally to Mitti's output, or drive Mitti itself over OSC or HyperDeck, for several Mittis at once on the one switcher. It also passes Mitti's single OSC feedback stream on to as many places as you list, and serves a full-screen clip clock with the current and next clip, their running times, and the time gone and the time left. Every switcher and player is a driver, so you can add your own next to the built-in ones.

  • Mitti
  • ATEM
  • NDI
  • OSC
  • HyperDeck
  • Roland
  • V-160HD
  • Pulse 4K
  • Midra 4K
  • Analog Way
  • Companion
  • Tally
  • Countdown
  • QLab
  • LiveCore
  • NeXtage
  • Midra

In a browser tab

Hosted builds in this discipline that you can open right now, with no install and no account. Each one also has a page of its own underWeb tools, with what it does and doesn't send anywhere.

What has been on real hardware

More of the video work than the audio work, but not all of it. WebLinked is field proven, with its SDI output measured against a real DeckLink Duo 2 (colour confirmed by loopback against an independent BT.709 reference) and its NDI output verified end to end against a real receiver. The CasparCG console's protocol work was derived from the server's source and then verified against a real server, which caught six real bugs, but it has never driven real output hardware. The ATEM tools were built against simulated fleets, because a dozen switchers isn't a thing you have on a desk, but they've since met real ones: BlackMatrix has run a live event against a real ATEM, ATEM Overseer has been tested against real hardware in a lab, and animATEM's multiview capture was calibrated on a real Mini Extreme ISO, which is where its wrong assumption about window numbering was found. Their pages say exactly which parts that covers.

The pattern to expect: the protocol and the logic are tested, the last cable usually isn't. Every project page lists what to check before a show depends on it, and those lists are written to be read rather than to cover anybody's back.

The whole catalogue

This is one discipline of several

The full index carries every project at once, searchable and filterable by discipline, type and how finished it is, including the disciplines that don't have a page of their own yet.