Fully local
No uploads, no API keys, no accounts. Audio is extracted and transcribed on your own hardware.
One Rust binary extracts the audio track with ffmpeg and transcribes it with whisper.cpp — mp4, mkv, mov, wav, mp3 and more, with no cloud and no account.
$ transcribers talk.mp4 -f srt -o talk
wrote talk.srt
1
00:00:00,000 --> 00:00:05,200
Delete filler badges, drop redundant labels…
Your media never leaves your disk. The model runs locally through whisper.cpp.
No uploads, no API keys, no accounts. Audio is extracted and transcribed on your own hardware.
Plain text, SRT and WebVTT subtitles, or JSON with millisecond timestamps.
Pick tiny through large-v3 by name; missing models download once into a local cache.
whisper.cpp is compiled in — about 1.6 MB, statically linked, only ffmpeg required.
Any container ffmpeg reads — mp4, mkv, mov, wav, mp3 — is decoded to 16 kHz mono WAV before transcription.
SRT and WebVTT output with millisecond timestamps, ready for players and video editors.
Real CLI output — SRT subtitles straight to stdout or a file.
$ transcribers talk.mp4 -f srt -o talk
wrote talk.srt
1
00:00:00,000 --> 00:00:05,200
Delete filler badges, drop redundant labels, un-etalize the
random word in your header.
2
00:00:05,200 --> 00:00:12,640
Only use mono where necessary. Use a design system, show the
actual product, and large the main feature.
$ transcribers talk.mp4
1
00:00:00,000 --> 00:00:05,200
Delete filler badges, drop redundant labels…
$ transcribers talk.mp4 --model small
downloading model ggml-small.bin ...
transcribing... 100%
Prebuilt binaries for macOS and Linux, or build from source with Cargo. Requires ffmpeg on PATH.
$ curl -fsSL https://raw.githubusercontent.com/hieudoanm/transcribers/main/scripts/install.sh | bash
Installed to /usr/local/bin/transcribers
$ transcribers talk.mp4 -f srt -o talk
wrote talk.srt
Or from source:
cargo install --git https://github.com/hieudoanm/transcribers transcribers
(needs cmake for the whisper.cpp build). See the
README
for details.