Skip to content

Repository files navigation

VapourBox

VapourBox

A desktop app for archiving and converting video — tape captures, camcorder footage, film scans, DVDs, and the digital files you already have. Choose an output format, optionally run some cleanup, and it produces the file.

Latest release Platforms License: GPL v3

VapourBox runs VapourSynth, QTGMC and FFmpeg — the tools the video archiving and restoration community already uses — without requiring you to write a script, install a plugin or open a terminal. Everything it needs is downloaded on first launch. It runs on macOS, Windows and Linux, and it's free and open source.

VapourBox converting an interlaced capture: the preview split between the original and the deinterlaced result, with the output format, video pipeline and processing queue alongside

What it's for

Conversion. Reads the DV and AVCHD files a camcorder writes, MPEG-2 from discs and set-top recorders, MXF from scanners and broadcast gear, and the ordinary MP4/MKV/AVI/MOV files you already have. Writes H.264, H.265, ProRes or lossless FFV1. It also handles the source formats that quietly defeat consumer converters — NTSC DV's 4:1:1 chroma, 4:1:0, and the 10- to 16-bit RGB and grayscale material film scans arrive in. Audio can be passed through untouched, re-encoded to AAC, Opus or FLAC, or dropped, and hardware encoders are used where the machine has them.

Archiving. Old footage tends to be stuck in a format that's awkward to keep: a tape capture in a codec nothing opens any more, a MiniDV file straight off the camera, a stack of DVDs, a film scan too large to keep as-is. VapourBox turns any of it into something that will still open in twenty years — FFV1 for a lossless master, or H.265 for a copy that's watchable on a phone. DVDs and VIDEO_TS folders are read directly, so a disc needs no separate ripping step — pick a title and it's extracted, processed and encoded in one pass. Aspect ratio is carried through correctly, including non-square pixels through a resize, which is a common way for archived video to end up the wrong shape.

Correcting how the picture is stored. Most consumer and broadcast video recorded before the 2010s is interlaced — VHS, Video8 and Hi8, DV camcorders, DVDs, off-air recordings — and needs converting to progressive to display properly on a modern screen. Film transferred to video was padded with pulldown instead, which can be reversed to recover the original 23.976 fps frames. VapourBox detects which case applies and handles both: QTGMC for deinterlacing, IVTC for telecined film.

Cleanup, when the source needs it. Thirteen optional filters covering tape noise and smeared color, dust and scratches on scanned film, blocking from a heavily compressed disc or recorder, and halos, banding and color balance. All off by default; you turn on what a given source actually needs.

Subtitles. Speech is transcribed with Whisper AI to a separate .srt, embedded in the output, or both.

How it works

  1. Add the source. Drop in a file, a folder of files, a VIDEO_TS folder, or open a DVD in the drive. VapourBox inspects it and reports what it found — interlaced, telecined or progressive — so the choice isn't guesswork.
  2. Set the output and any processing. Pick a codec and container, then either start from a preset (Fast, Balanced, High Quality, VHS Cleanup, DVD IVTC) or switch individual filters on. Each filter's controls open in place beneath it, with a summary of what it does and when it applies.
  3. Check the preview, then run it. The preview shows source and processed output side by side and updates as settings change, so settings can be judged before a long encode. Multiple files queue up and process unattended.

Download

Latest release →

Platform Minimum OS File
macOS (Apple Silicon) macOS 15 Sequoia VapourBox-x.x.x-macos-arm64.dmg
macOS (Intel) macOS 12 Monterey VapourBox-x.x.x-macos-x64.dmg
Windows (x64) Windows 10/11 VapourBox-x.x.x-windows-x64.zip
Linux (x64) glibc 2.39 (Ubuntu 24.04, Debian 13) VapourBox-x.x.x-linux-x64.tar.gz
Linux (arm64) glibc 2.39 (Ubuntu 24.04, Debian 13) VapourBox-x.x.x-linux-arm64.tar.gz

All processing is local. There is no account, no telemetry, and nothing is uploaded.

Installing on macOS
  1. Download the .dmg matching your Mac's CPU — Apple menu → About This Mac. Apple Silicon takes arm64 (macOS 15+), Intel takes x64 (macOS 12+).
  2. Open it and drag VapourBox to Applications.
  3. First launch downloads its processing dependencies (~100 MB).

VapourBox is signed with an Apple Developer ID and notarized, so it opens without Gatekeeper warnings.

Installing on Windows
  1. Download the .zip.
  2. Extract it anywhere (e.g. C:\VapourBox).
  3. Run vapourbox.exe.
  4. First launch downloads its processing dependencies (~145 MB).
Installing on Linux
  1. Download the .tar.gz for your architecture.
  2. tar -xzf VapourBox-x.x.x-linux-x64.tar.gz
  3. cd VapourBox-x.x.x-linux-x64 && ./vapourbox
  4. First launch downloads its processing dependencies (~185 MB).

GPU-accelerated deinterlacing (NNEDI3CL) needs your GPU's OpenCL driver installed. Without it, VapourBox falls back to the CPU automatically.

Output formats

Video H.264, H.265, ProRes, FFV1 (lossless), with hardware encoding via VideoToolbox, NVENC, Quick Sync or AMF where available
Audio Passthrough, or re-encode to AAC, Opus or FLAC, or strip
Containers MKV, MP4, MOV, AVI
Reads .dv · .mts .m2ts (AVCHD) · .vob .m2v .mpg .mpeg · .mxf · .avi .mov .mp4 .mkv .ts .wmv .webm .flv, plus DVD discs and VIDEO_TS folders
Source formats 4:1:1 (NTSC DV), 4:1:0, 4:2:0/4:2:2/4:4:4 up to 16-bit, RGB, grayscale
Colour format out Match the source, or convert to 4:2:0 8-bit (plays everywhere), 4:2:2 8-bit, or 4:2:2 10-bit. Worth setting for a 10-bit source: matching it produces a 10-bit file that some players and browsers refuse to open
Aspect ratio Non-square pixels preserved through the pipeline, including through a resize; or square up anamorphic pixels, force a display aspect, or letterbox to a target size

The filter pipeline

Thirteen filters, each switchable independently, applied in a fixed order. Most sources need none or a few.

Filter What it addresses
Deinterlace Comb-like jagged edges on moving objects. QTGMC for interlaced video, or IVTC to recover the original film frames from telecined DVD.
DeScratch Vertical scratch lines on scanned film.
SpotLess Dust, dirt and single-frame specks.
Noise Reduction Grain and video noise across the whole frame. Motion-compensated, so detail is preserved.
Chroma Denoise Blotchy, smeared color — common on VHS captures and old camcorder footage. Leaves luma detail untouched.
Dehalo Bright outlines around edges, ringing, and residual ghosting left by a deinterlacer.
Deblock Square blocking from heavy compression.
Deband Visible steps in gradients and skies.
Sharpen Soft sources needing edge and fine detail recovery.
Chroma Fixes Color bleeding past edges, rainbowing, dot crawl.
Color Correction Brightness, contrast, saturation, hue, levels, and white balance (warm/cool, green/magenta).
Crop & Resize Trimming overscan, scaling, and edge-directed upscaling.
Subtitles Whisper AI speech-to-text, to .srt, embedded, or both.

Each filter leads with a plain-language summary and a More expander describing what it does and when it's the right choice, so the settings can be understood in place rather than looked up elsewhere.

Details

DVDs and folders

From a disc: insert it and click the disc icon in the toolbar, or Open DVD on the drop zone. VapourBox reads the disc structure and shows a title picker with duration, resolution, chapters and audio tracks. Select a title and Add to Queue — it's extracted to a temporary file, then analyzed and queued like any other video.

From a folder: drag in a folder containing VIDEO_TS (or the VIDEO_TS folder itself) and the title picker appears automatically.

A folder of loose files: drag it in, or use Open Folder — the folder is scanned recursively and everything found is queued.

Encrypted discs. Most commercial DVDs use CSS encryption. VapourBox reads discs via libdvdread, which can load libdvdcss at runtime to decrypt them, but libdvdcss is not bundled — install it separately if you need it. Unencrypted discs (home recordings, some independent releases) work without it.

  • macOS: brew install libdvdcss
  • Windows: download libdvdcss-2.dll from VideoLAN and place it next to vapourbox.exe
  • Linux: sudo apt install libdvdcss2 · sudo dnf install libdvdcss (RPM Fusion) · sudo pacman -S libdvdcss

CSS decryption may carry legal restrictions in some jurisdictions. VapourBox does not endorse or support it; libdvdcss is a third-party library loaded automatically by libdvdread if present on the system.

Preview, timeline and trimming
  • Click a thumbnail to jump to that position; drag to scrub.
  • Mouse wheel zooms the timeline, centered on the cursor; drag while zoomed to pan.
  • Set In / Set Out mark an export range so only part of the source is processed — useful for trying settings on a short section first. Clear removes the markers.
  • Panel dividers are draggable, so the preview or the filter list can take whatever share of the window suits the job.
Deinterlacing and telecine in more depth
  • All 70+ QTGMC parameters are exposed, from Draft to Placebo.
  • Higher-precision deinterlacing, both opt-in: interlaced 4:2:0 stores chroma per field, so the pass can upsample to 4:2:2 first; separately it can run at 16-bit, avoiding rounding accumulated across QTGMC's many internal steps. Both are off by default and each states what it costs.
  • Soft telecine pulldown flags can be stripped without re-encoding fields.
  • Edge-directed upscaling — NNEDI3 or EEDI3 integer doubling with full neuron, quality and prescreener control, plus seven resampling kernels with per-kernel tuning.
Presets

Presets store the whole pipeline plus encoding settings. Built-in: Fast, Balanced, High Quality, VHS Cleanup, DVD IVTC. Your own save alongside them and persist across sessions.

Temporary files

Scratch files — generated scripts, preview frames, job files, extracted DVD titles — go to the system temp directory. DVD extraction can need several GB, so if the system temp is on a small or slow volume it can be redirected: Settings → General → Temporary Files. The beside the path resets it to the default. The setting persists and applies to the next job.

Feedback and bug reports

Settings → General → "Report a bug or give feedback" opens the issue tracker. Reports about specific problem sources are useful — several fixes in VapourBox came from them.

Building from source

See docs/BUILDING.md for build instructions, project structure and development workflow.

License

Free software under the GNU General Public License, version 3 or (at your option) any later version. Full license texts and third-party attributions are in licenses/.

Author

Stuart Cameron — stuart-cameron.com

Acknowledgments

  • QTGMC by Vit — the deinterlacing algorithm
  • VIVTC by Fredrik Mellbin — VFM field matching and VDecimate for inverse telecine
  • VapourSynth by Fredrik Mellbin — video processing framework
  • havsfunc by HolyWu — QTGMC VapourSynth port
  • mvtools by Manao, Fizick, Pinterf and dubhater — the motion estimation QTGMC is built on
  • NNEDI3 by Kevin Stone (tritical) — the edge-directed interpolator behind QTGMC, via znedi3 by sekrit-twc and dubhater's nnedi3, whose NEON kernels are what make it fast on Apple Silicon and ARM Linux
  • akarin — an LLVM-JIT expression evaluator. VapourSynth's own compiler for filter expressions is x86-only, so on ARM every expression was interpreted once per pixel; this is the single biggest reason Apple Silicon is now several times faster
  • fmtconv by Firesledge — format conversion and resampling
  • zsmooth by Adrian Woracz — chroma denoising (CCD) and the RemoveGrain family
  • whisper.cpp by Georgi Gerganov — speech recognition for subtitle generation
  • libdvdread by VideoLAN — DVD reading and navigation
  • FFmpeg project — video encoding
  • Hybrid by Selur — inspiration for this project

Full licence texts and the complete list of bundled components are in licenses/NOTICES.txt.

Pre-built binary sources

macOS plugins and binaries sourced from:

The Intel (x64) bundle additionally builds its support libraries (zimg, fftw, libdvdread, boost) from source targeting macOS 12, so it runs on Monterey; the Apple Silicon (arm64) bundle is built for the current macOS and targets macOS 15.

The akarin plugin is the one component the Intel bundle does not ship: its only build targets macOS 14, which would raise the Intel floor from Monterey. Intel Macs already have VapourSynth's own x86 expression compiler, so they lose nothing by it.

About

Cross-platform video processing, restoration and conversion application

Resources

Stars

38 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages