AVPlumber Live mixer

Code & setup guide
Thirty seconds of the mixer being operated: the control surface on the left, the 1080×1920 program it is cutting on the right. Cut, fade, and three media wipes across live browser pages, clip grids and the sixteen-box.

Sixteen sources — live browser pages and video files together — composited on one GPU canvas into a 1080×1920 portrait program, cut, faded and wiped from one page, with the whole show described by one JSON document.

Browser pages arrive as DMA-BUFs from the dma-browser demo and are imported straight into CUDA; the compositor converts packed RGB to the NV12 canvas in its own draw pass, so pages and NVDEC video mix with no separate conversion. Wipe clips are decoded once at start and replayed from GPU memory, drawn as one alpha-blended layer by the compositor kernel the scenes use — no CPU scaling anywhere. The program is composited once and each rendition re-times and rescales it, so a second output costs an encode, not another composite.