The board / Operating

Rawry

Live · 2024 Multicam editor for live music rawry.ai Formerly Pocket Producer

Many cameras in, one cut out.

Rails

  • aloneReadsFootage from Frame.io, Google Drive, upload or the desktop ingest agent.
  • aloneWritesTimelines for Premiere, Final Cut and Resolve that relink to the raw files.
  • not allowedMoneyNever prices or charges inside a job.
  • alonePublicA review link for the client, and a WhatsApp agent that answers.
  • aloneUnattendedSync, cut and export run to the end without a watcher.
  • a person, on exceptionsDecidesThe editor sets the brief and finishes the cut in their own NLE.

Problem

A live music shoot leaves hours of footage from many cameras and one deadline. Syncing angles, finding the moments and cutting to the beat is slow, repetitive, and the part that decides whether the edit ships.

Editors don't want another NLE. They want the dull parts done and a timeline they can finish where they already work.

System

Footage arrives from Frame.io, Drive, upload or the desktop ingest agent. Sync by audio, assign angle roles, detect the beat grid, cut from a plain English brief, export a timeline. By default the editor gets a timeline for their NLE. With a review link, the client adjusts angles and receives the final master.

Decisions

  1. Sync is audio first: GCC-PHAT correlation with chromaprint fingerprints and Theil-Sen drift. The FFT is hand-vendored JavaScript so it runs on arm64 Lambda.
  2. Cuts lock to a detected beat grid. The brief is plain English, three variations a request, chat revisions kept under version control.
  3. Exports are standard XMEML, FCPXML and Resolve XML. The edit relinks to raw media in the editor's own NLE.
  4. On set, a desktop ingest agent keeps a durable SQLite ledger, hashes with XXH64, encodes proxies on the GPU, and resumes uploads after sleep or a kill. Signed and notarised for macOS and Windows.

Stack

Next.js, TypeScript, Postgres, Inngest, AWS Lambda, FFmpeg, Cloudflare R2, Electron