Capski is a command-line tool written in Rust that transforms audio or video files into stylised karaoke-style videos with real-time subtitles. It handles transcription, translation, and subtitle rendering with custom styling, which makes it useful for content creators and educators.
Key features
- Converts WAV, MP3, and MP4 into karaoke-style video.
- Whisper-based transcription with real-time word timing.
- Optional English translation between several languages.
- Subtitle styling driven by a JSON config.
- Burns subtitles into the video with FFmpeg.
- An ergonomic CLI with useful flags.
What I did
- Designed the CLI and the modular Rust architecture.
- Integrated Whisper and FFmpeg.
- Implemented Advanced SubStation Alpha (ASS) subtitle formatting and rendering.
- Built translation and real-time word highlighting.
- Wrote the engineering requirements documentation.
Challenges
- Learning Rust while building something non-trivial in it.
- Handling real-time, word-level timestamping.
- Syncing and overlaying subtitles correctly through FFmpeg.
- Keeping the CLI intuitive for non-technical users.
Demo
The project is open source under the GNU General Public License v3.0.