Personal apps

Channels Commercial Editor

Trims commercials from Channels DVR recordings

Platform
  • Web
Status
Shipping
Stack
Node

Channels Commercial Editor is a replacement for the commercial editor built into Channels DVR. Channels runs comskip on every recording, but the detected breaks are often off by a few seconds and the built-in editor makes fixing them slow. This one plays the recording over a zoomable timeline with draggable boundary handles, keyboard shortcuts, and undo, and saves through the same endpoint the built-in editor uses, so Channels sees an ordinary manual edit.

The default view is the unverified queue: every recording where detection has run but nobody has checked it. Open one, drag the white boundary handles, click a segment to toggle it between show and commercial, drag across empty space to paint a new commercial, scroll to zoom, and double-click a boundary to type an exact time. Cmd+S saves, marks the recording verified, and advances to the next one. The shortcut panel covers play and pause, split at the playhead, nudging by half a second, seeking by 1, 5, or 60 seconds, jumping between boundaries, and undo and redo.

Other things it does:

  • Toolbar actions to re-run detection, close short show gaps between two commercials, unverify a recording, or delete it.
  • Bumper learning for channels that play the same audio sting before each break: capture the sting once, and Trim Tails extends each commercial while that audio continues.
  • Recordings are remuxed to fragmented MP4 on first play and cached, so scrubbing is instant; the cache evicts least-recently-watched entries past a size cap.
  • A daily cleanup runs in the server even with no browser open, removing duplicates, interrupted or runaway recordings, and short captures, with a preview table when run by hand.
  • A virtual channel can be built from only the recordings that have been verified, and resynced on demand.

It runs as a Node service on the Mac mini next to Channels DVR, with every asset served locally so it works without internet access.