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.
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.
inotify/watchdog monitoring of data/ — new and modified files are handled automatically.
One pipeline from video to transcript using ffmpeg and fast-whisper with VAD filtering.
Only one conversion runs at a time — predictable CPU and disk usage.
Skips work already done: existing audio is reused and completed transcripts aren't regenerated.
# 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.