Skip to content

xingrz/tapeflow

Repository files navigation

TapeFlow

TapeFlow's tape-map — one lane per capture, a best-of result track on top, the re-capture sidebar on the right

A cross-platform (Windows / Linux / macOS) desktop app for rescuing old DV and HDV camcorder tapes — both formats in one interface. Capture a worn tape a few times, drop the files in, and TapeFlow works out how they combine into one complete video and tells you exactly what's still damaged.

Why

Magnetic tape doesn't age gracefully. A worn DV or HDV tape rarely plays back cleanly from start to finish in one pass — dropouts and mistracking leave glitches, and they fall in different places each time the tape runs. So the way to rescue one is to capture it several times over: every pass is a slightly different, slightly broken copy, but between them they tend to cover the whole tape, with the clean frames simply scattered across different files.

Reassembling those passes into one good video by hand is the tedious part — for every damaged moment you have to hunt down which capture happens to hold a clean copy, splice it in, and keep track of whatever no pass managed to read at all. TapeFlow does that bookkeeping. Point it at your captures and it tells you, at a glance, whether they already add up to a complete video — and if not, exactly which spots still need another pass on the deck.

(It can't capture for you: modern computers no longer have the FireWire hardware to pull DV/HDV off a tape, so you still capture on an old camcorder or deck and copy the files over. TapeFlow takes it from there.)

How it works

  1. Point it at a folder of captures of one tape — several overlapping passes, each with some damage.
  2. Analyse. TapeFlow lines the captures up on a tape-map and gives you a verdict: complete, or a list of the spots that still need re-capturing — each one labelled with the tape's timecode (to find it on the deck) and the camera's recording time.
  3. Re-capture those spots, drop the new files in, and re-analyse. The list shrinks; you watch the map turn from red to green.
  4. Export the finished, merged video.

Install

On macOS the easiest way is Homebrew:

brew install --cask xingrz/tap/tapeflow

Otherwise grab the latest build for your platform from the Releases page:

  • macOS.dmg (pick arm64 for Apple Silicon, x64 for Intel Macs)
  • Windows.exe installer
  • Linux.AppImage

The builds aren't code-signed yet, so your OS will warn on first launch:

  • macOS — recent macOS no longer lets right-click → Open bypass Gatekeeper for unsigned apps. After moving TapeFlow to your Applications folder, clear its quarantine flag once in Terminal: sudo xattr -r -d com.apple.quarantine /Applications/TapeFlow.app
  • Windows — on the SmartScreen prompt, click More info → Run anyway.

You'll also need a tool or two on your PATH — see Requirements.

Requirements

The app bundles everything it needs except a couple of external command-line tools, which must be on your PATH:

  • dvrescue (MediaArea/MIPoPS) — required for DV tapes.
  • ffmpeg — recommended; it powers HDV damage detection and the damaged-frame previews.

Agent skill

Prefer to let an AI coding assistant do the bookkeeping for you? TapeFlow ships a thin one-shot CLI (tapeflow analyze <dir> / tapeflow build <dir> <out> / tapeflow verify <master>) over the same engines the app uses, plus an installable skill. Install it into your agent (Claude Code, etc.):

npx skills add xingrz/tapeflow

The installed TapeFlow app bundles this CLI, so once you've installed TapeFlow (above) the skill locates it automatically — no separate CLI install needed. For a headless box without the app — a NAS or server that just has Python — grab the standalone tapeflow-<version>.pyz from Releases and run it with any python3 (≥ 3.7), e.g. python3 tapeflow-<version>.pyz verify <master>. (verify is a read-only audit of one finished file — handy for triage; analyze the source captures for the best-achievable completeness. HDV verify is pure-Python; DV verify also needs dvrescue on the box and scratch space the master's size.)

It teaches the agent to check whether a folder of captures adds up to a complete tape, report exactly which spots still need re-capturing, export the merged file, and audit or re-tag an already-exported master. Where the companion tapecap skill is also installed (raw DV/HDV capture over FireWire on macOS ≤ 15), it can even drive the deck and re-capture those spots for you.

Built on

TapeFlow doesn't reinvent the merge — it's a graphical front-end to two existing, open-source command-line engines, and it orchestrates and visualises what they do:

Development

An Electron + Vue front-end over a Python engine, with the two merge engines pinned in as git submodules. To hack on it: clone recursively (git clone --recursive …), then cd app && npm install && npm run dev. The architecture, data contract, and engine mechanics are in AGENTS.md.

License

MIT © XiNGRZ. The bundled engines hdvmerge and dvmerge are MIT too.

About

Merge overlapping captures of worn DV/HDV camcorder tapes into one complete video — both formats, one cross-platform app.

Resources

License

Stars

Watchers

Forks

Contributors