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.cpp or faster‑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‑dlp so 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

  1. Download the latest LLPlayer.exe from the Releases page.
  2. Run the program; the installer will prompt for the .NET runtime if missing.
  3. Open Settings (Ctrl+.) → ASR tab → download a Whisper model (choose size/ language).
  4. In Translate tab, set your native “target” language and pick a translation engine (GoogleV1 is default).
  5. Open a local video file or paste an online video URL; enable the two “CC” buttons to show primary (learning) and secondary (native) subtitles.
  6. 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