umlx5h/LLPlayer
The media player for language learning, with dual subtitles, AI-generated subtitles, real-time translation, and more!
LLPlayer – a video player built for language learners
What it is – LLPlayer is a Windows‑only desktop media player written in C#/.NET that adds a suite of AI‑powered subtitle tools to help you study languages while watching videos.
Key AI‑related capabilities
- Live ASR subtitles – Generates text subtitles on‑the‑fly using OpenAI’s Whisper model (via
whisper.cpporfaster‑whisper). - Real‑time translation – Sends the generated subtitles to a translation backend (Google, DeepL, OpenAI, Ollama, LM Studio, etc.) and can also run locally with LLM‑based engines for “context‑aware” translation.
- OCR for bitmap subtitles – Uses Tesseract (or Microsoft OCR) to turn image‑based subtitles into searchable text.
- Word lookup & custom browser searches – Click a word in the subtitle pane to open a configurable search URL or copy it to the clipboard for external dictionary extensions.
- Dual subtitle view – Shows two subtitle tracks simultaneously (e.g., foreign language on the left, native translation on the right).
Other useful features
- Sidebar with subtitle navigation, incremental search, and export to SRT.
- Integrated
yt‑dlpso you can stream online videos (YouTube, etc.) and have AI subtitles generated instantly. - Fully customizable UI theme, shortcut keys, and subtitle placement.
- Open‑source (GPL‑3.0) and built on the Flyleaf .NET media library.
System requirements
- Windows 10 (1903+) or Windows 11, 64‑bit.
- .NET Desktop Runtime 10.
- Visual C++ Redistributable 2022 (needed for Whisper/Tesseract).
- Optional NVIDIA/AMD GPU + CUDA/Vulkan for faster Whisper inference.
Getting started
- Download the latest
LLPlayer.exefrom the Releases page. - Run the program; the installer will prompt for the .NET runtime if missing.
- Open Settings (
Ctrl+.) → ASR tab → download a Whisper model (choose size/ language). - In Translate tab, set your native “target” language and pick a translation engine (GoogleV1 is default).
- Open a local video file or paste an online video URL; enable the two “CC” buttons to show primary (learning) and secondary (native) subtitles.
- Use the subtitle sidebar to search, seek, or look up words.
Building from source
git clone https://github.com/umlx5h/LLPlayer.git
# Open LLPlayer.slnx in Visual Studio or Rider
# Build the LLPlayer project
The project depends on the Flyleaf player library and several NuGet wrappers for Whisper, Tesseract, etc.
Roadmap highlights
- Finish ASR pause/resume and improve subtitle search/export.
- Add dictionary‑API integration and tighter browser‑extension hooks (Yomitan, 10ten).
- Future cross‑platform UI with Avalonia (Linux/macOS).
- Deeper LLM‑based context translation, Anki export, and word‑management features.
Contribution – Pull requests are welcomed, especially for core player improvements. The author encourages contributions to the underlying Flyleaf library as well.
License – GPL‑3.0.
Related
- Project
- Project
- Project
- Project
- Project