Desktop app
The full pipeline — batch-stitch captures, render the wall master, CNC centerpiece, projector planning, multi-device screens. Mac + Windows.
checking latest version…
One-time setup: install Insta360’s free
Insta360 Stitcher
(
download) — the app uses its ProStitcher engine and can’t bundle it. ffmpeg is built in.
First launch (the app isn’t code-signed yet): Mac — drag it to Applications, then run this once in Terminal and open it:
xattr -dr com.apple.quarantine "/Applications/360 Cylinder Stitcher.app"
Windows — SmartScreen → More info → Run anyway.
- Batch-stitch
VID_* captures → equirectangular (ProStitcher; up to true-native on RTX)
- Render the flat cylindrical wall feed at the full 15720×2812 (ProRes .mov)
- Full-res 360 reframe → MP4 / ProRes · split into 4 edge-blended projector feeds
- Everything in the browser apps below, too
Render node on Windows + RTX (sharpest wall): for the no-upscale 15720×2812 wall, run from source on a Windows + NVIDIA RTX box — the CUDA blender lifts the OpenCL 16384-px limit so the equirect can render true-native. Clone github.com/UWC-Innovation-Hub/cylinder-stitcher (private), install Insta360 Stitcher + Node 18+, then double-click tools/run-windows.bat (pulls latest → installs → launches). In Stitching: Blender = cuda (auto on Windows), preset = True-native (RTX). The packaged installer above has the older 8K pipeline.
Lucid Publisher
Drop the final render in and it becomes the live show. Builds the whole ladder — 16k / 8k / 4k / 2k — checks every rung, then replaces what is published in the Google Drive folder the exhibition reads. ffmpeg is bundled: no HandBrake, no Python, no Google sign-in.
Use: drag the render onto the window (or click to browse) → pick Wall or Centrepiece → Publish. The Drive folder is found automatically while Google Drive for Desktop is running.
It will not leave a half-published show: every rung must build, match the master’s duration and be faststart before the Drive folder is touched at all — so a failure leaves the live folder exactly as it was.
Nothing is deleted: the files it replaces move to a dated _superseded folder beside the watched one.
- Top rung is remuxed, not re-encoded — the master is copied with
moov moved to the front, so there is no generation loss.
- Encoder picked per rung — NVENC at or below 4096, x264 above it, because NVENC H.264 stops at 4096 wide and writes an empty file rather than failing.
- Why it matters: the app serves the largest rung a device can decode within its bandwidth budget, so a missing rung silently demotes a whole class of device.
DaVinci Resolve plugin
GPU-native Fuse + DCTLs. New in v0.1.362: iziko-wall.fuse — the full cylindrical wall unwrap as a Fusion node (Resolve 20+ · Free + Studio · Metal on Mac, OpenCL on Win). All aim/zoom/warp/keystone/bow controls + alignment overlays (grid, safe-frames, horizon). Colour-page DCTLs still ship for grade + look.
Install (easiest, no terminal): unzip → open Resolve → Fusion page → View → Console → drag install.lua into the Console → restart Resolve.
Alt: manually copy IzikoWall.fuse into ~/…/Fusion/Fuses/ (Mac) or %APPDATA%\…\Fusion\Fuses\ (Win). Or run install.sh / install.bat.
Use: Fusion page → Add Tool → Fuses → Iziko Wall. Or Colour page → any node → right-click → LUT → Iziko → iziko_warp / iziko_grade. Sliders map 1:1 to the cylinder-stitcher app.
- In the plugin: zoom stops · rise · width squeeze · 3-zone gaussian warp · exposure · contrast · saturation · brightness · WB gains · shadow lift · highlight recovery · clarity · vibrance · vignette · 7 look transforms.
- Do upstream: 360→cylindrical unwrap (Fusion PanoMap or
ffmpeg v360) and 4-way projector split (Fusion macro coming). The DCTL expects the flat wall band as input.