Python · ffmpeg · fast-whisper

Drop in a video.
Get back text.

open-converter watches a data/ folder and automatically extracts audio from videos, then transcribes it into .txt files — one file at a time, no fiddling required.

How it works

video.mp4  ──►  ffmpeg extracts audio  ──►  fast-whisper transcribes  ──►  video.txt

Just place files into the watched folder (default data/). Videos are converted to text; already-extracted audio is reused instead of re-extracted, and files with a finished transcript are skipped.

Features

Folder watching

inotify/watchdog monitoring of data/ — new and modified files are handled automatically.

Video → audio → text

One pipeline from video to transcript using ffmpeg and fast-whisper with VAD filtering.

Serial processing

Only one conversion runs at a time — predictable CPU and disk usage.

Idempotent

Skips work already done: existing audio is reused and completed transcripts aren't regenerated.

Usage

# 1. Install the project deps
uv sync

# 2. Watch the folder and process files as they arrive
uv run main.py

The folder to watch is set in config.json via data_dir — a relative path (resolved against the project root) or an absolute path. The default is data. Other settings: whisper model size, device, compute type, VAD filter.