A desktop app for automatic video subtitling / captioning. This repository is the VideoCaptioner application (based on WEIFENG2333/VideoCaptioner, v1.4.2), integrated with CrispASR for local speech recognition / transcription.
Published so others can clone the project and run VideoCaptioner with CrispASR.
main.py # Application entry point -> python main.py
requirements.txt # Python dependencies
app/ # VideoCaptioner source (PyQt5 GUI, core, threads, views)
resource/ # Assets, subtitle styles, translations, and bundled binaries
└─ bin/CrispASR/ # Prebuilt CrispASR binaries (Windows: crispasr.exe, *.dll)
_build/CrispASR/ # CrispASR engine SOURCE (build it for non-Windows platforms)
To keep the repository lean and avoid committing large binaries / private data,
the following are intentionally not tracked (see .gitignore):
runtime/ — the bundled portable Python runtime (recreate it yourself, see below)VideoCaptioner/, AppData/ — runtime data, caches, logs, downloaded modelswork-dir/ — local working media filesbuild/, build-cuda/, models/ and other build artifacts*.exe installers, unins000.*, backup zips)Because of this,
AppData/(settings, logs, models, cache) andwork-dir/are created at runtime. The app recreates the folders it needs on first launch.
git clone https://github.com/lwt127/VideoCaptionerCripASR.git
cd VideoCaptionerCripASR
Windows (PowerShell):
py -3.11 -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txt
macOS / Linux:
python3.11 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
ffmpeg is availableThe app needs ffmpeg for audio/video processing. Install it system-wide (so it's
on your PATH) or place the binaries in resource/bin/.
python main.py
VideoCaptioner can transcribe locally using several backends.
CrispASR works out of the box — no manual installation. In the 语音转录 (Transcription) tab choose CrispASR, pick a backend engine + model, then start the task. On first use:
CrispStrobe/CrispASR) into
resource/bin/CrispASR/.C:\Users\<username>\.cache\crispasr\ on Windows).So users only need to select a backend/model and press start — everything else (engine, GPU build, model) is fetched automatically.
Windows ships a self-contained prebuilt
crispasr.exe(auto-downloaded if absent). To build manually for other platforms, see_build/CrispASR/(build-windows.bat, CMake presets) and copy the binary intoresource/bin/CrispASR/.
Available CrispASR backends (all auto-downloadable): Whisper, Parakeet (TDT/RNNT/CTC variants), FastConformer-CTC, Canary, Voxtral Mini 3B / 4B Realtime, Granite Speech, Qwen3-ASR, Mega-ASR, Fun-ASR Nano, SenseVoice, Paraformer-zh, Cohere, wav2vec2 / HuBERT / data2vec, omniASR (1600+ languages), FireRedASR2, GLM-ASR, Kyutai STT, Gemma4-E2B, MiMo-ASR, MOSS-Audio, VibeVoice, KugelAudio, Moonshine — plus selectable VAD methods (Silero / FireRedVAD / MarbleNet / Whisper-VAD).
Invoked as an external program (Faster-Whisper-XXL), not a Python package.
Download it and point the app to it via Settings, or place it under
resource/bin/Faster-Whisper-XXL.
CrispASR models download automatically (see above). WhisperCpp / Faster-Whisper
models can be downloaded via the in-app model manager into AppData/models/.
The original distribution shipped a bundled runtime/ (portable Python). That is
not committed here. To reproduce a fully portable build, recreate a Python 3.11
runtime and install requirements.txt into it, or just use the .venv setup above
for development.
_build/CrispASR/LICENSE.Note: This is an integration/distribution repository assembled from a local install. Some setup steps (runtime, models, optional backends) must be performed locally because those large artifacts are not committed here.
37 commits
C++
57.8%
C
24.5%
Python
11.7%
Shell
1.3%
A desktop app for automatic video subtitling / captioning. This repository is the VideoCaptioner application (based on WEIFENG2333/VideoCaptioner, v1.4.2), integrated with CrispASR for local speech recognition / transcription.
Published so others can clone the project and run VideoCaptioner with CrispASR.
main.py # Application entry point -> python main.py
requirements.txt # Python dependencies
app/ # VideoCaptioner source (PyQt5 GUI, core, threads, views)
resource/ # Assets, subtitle styles, translations, and bundled binaries
└─ bin/CrispASR/ # Prebuilt CrispASR binaries (Windows: crispasr.exe, *.dll)
_build/CrispASR/ # CrispASR engine SOURCE (build it for non-Windows platforms)
To keep the repository lean and avoid committing large binaries / private data,
the following are intentionally not tracked (see .gitignore):
runtime/ — the bundled portable Python runtime (recreate it yourself, see below)VideoCaptioner/, AppData/ — runtime data, caches, logs, downloaded modelswork-dir/ — local working media filesbuild/, build-cuda/, models/ and other build artifacts*.exe installers, unins000.*, backup zips)Because of this,
AppData/(settings, logs, models, cache) andwork-dir/are created at runtime. The app recreates the folders it needs on first launch.
git clone https://github.com/lwt127/VideoCaptionerCripASR.git
cd VideoCaptionerCripASR
Windows (PowerShell):
py -3.11 -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txt
macOS / Linux:
python3.11 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
ffmpeg is availableThe app needs ffmpeg for audio/video processing. Install it system-wide (so it's
on your PATH) or place the binaries in resource/bin/.
python main.py
VideoCaptioner can transcribe locally using several backends.
CrispASR works out of the box — no manual installation. In the 语音转录 (Transcription) tab choose CrispASR, pick a backend engine + model, then start the task. On first use:
CrispStrobe/CrispASR) into
resource/bin/CrispASR/.C:\Users\<username>\.cache\crispasr\ on Windows).So users only need to select a backend/model and press start — everything else (engine, GPU build, model) is fetched automatically.
Windows ships a self-contained prebuilt
crispasr.exe(auto-downloaded if absent). To build manually for other platforms, see_build/CrispASR/(build-windows.bat, CMake presets) and copy the binary intoresource/bin/CrispASR/.
Available CrispASR backends (all auto-downloadable): Whisper, Parakeet (TDT/RNNT/CTC variants), FastConformer-CTC, Canary, Voxtral Mini 3B / 4B Realtime, Granite Speech, Qwen3-ASR, Mega-ASR, Fun-ASR Nano, SenseVoice, Paraformer-zh, Cohere, wav2vec2 / HuBERT / data2vec, omniASR (1600+ languages), FireRedASR2, GLM-ASR, Kyutai STT, Gemma4-E2B, MiMo-ASR, MOSS-Audio, VibeVoice, KugelAudio, Moonshine — plus selectable VAD methods (Silero / FireRedVAD / MarbleNet / Whisper-VAD).
Invoked as an external program (Faster-Whisper-XXL), not a Python package.
Download it and point the app to it via Settings, or place it under
resource/bin/Faster-Whisper-XXL.
CrispASR models download automatically (see above). WhisperCpp / Faster-Whisper
models can be downloaded via the in-app model manager into AppData/models/.
The original distribution shipped a bundled runtime/ (portable Python). That is
not committed here. To reproduce a fully portable build, recreate a Python 3.11
runtime and install requirements.txt into it, or just use the .venv setup above
for development.
_build/CrispASR/LICENSE.Note: This is an integration/distribution repository assembled from a local install. Some setup steps (runtime, models, optional backends) must be performed locally because those large artifacts are not committed here.
37 commits
C++
57.8%
C
24.5%
Python
11.7%
Shell
1.3%