GitHub

LLPlayer is a video player specifically designed for language learning, offering a wide array of subtitle-centric features. It goes beyond standard media players by providing tools to enhance comprehension and vocabulary acquisition while watching videos.

What is the project about?

LLPlayer is a media player focused on enhancing the language learning experience through advanced subtitle features.

What problem does it solve?

Traditional video players lack features optimized for language learners. LLPlayer addresses this by providing tools like dual subtitles, real-time translation, AI-powered subtitle generation, and word lookup, making it easier to understand and learn from video content in a foreign language. It removes the friction of pausing, searching for translations, or struggling with missing/inaccurate subtitles.

What are the features of the project?

  • Dual Subtitles: Display two subtitles simultaneously (e.g., target language and native language). Supports both text and bitmap subtitles.
  • AI-generated subtitles (ASR): Uses OpenAI Whisper to generate subtitles in real-time for videos without existing subtitles. Supports 99 languages.
  • Real-time Translation: Translates subtitles on-the-fly using Google Translate or DeepL API (134 languages supported).
  • Real-time OCR subtitles: Converts bitmap subtitles (image-based) to text subtitles using Tesseract OCR or Microsoft OCR.
  • Subtitles Sidebar: Displays subtitles in a sidebar for easy navigation, seeking, and word lookup. Includes an anti-spoiler feature.
  • Instant word lookup: Look up the meaning of words directly from the subtitle text.
  • Customizable Browser Search: Perform browser searches from the context menu of a word, with customizable search engine options.
  • Plays online videos: Integrates with yt-dlp to play videos from various online platforms (e.g., YouTube) with all the subtitle features.
  • Flexible Subtitles Size/Placement Settings: Customize the size and position of dual subtitles.
  • Subtitles Seeking: Seek through video using subtitles, regardless of format.
  • Built-in Subtitles Downloader: Download subtitles from opensubtitles.org.
  • Integrate with browser extensions: Works with browser extensions like Yomitan and 10ten for enhanced dictionary lookups (requires setup).
  • Customizable Dark Theme: Black-based theme with customization options.
  • Fully Customizable Shortcuts: Customize keyboard shortcuts for all actions.
  • Built-in Cheat Sheet: Provides in-app documentation on controls and features.
  • Free, Open Source, Written in C#: Easily customizable due to its C#/WPF codebase.

What are the technologies used in the project?

  • C# / WPF: The core application is built using C# and Windows Presentation Foundation (WPF).
  • Flyleaf: A .NET media player library used as the core player engine.
  • OpenAI Whisper: For AI-powered automatic speech recognition (ASR) and subtitle generation.
  • whisper.net & whisper.cpp: .NET and C++ bindings for Whisper.
  • Tesseract OCR: For optical character recognition of bitmap subtitles.
  • Microsoft OCR: Alternative OCR engine.
  • Google Translate API: For real-time subtitle translation.
  • DeepL API: Alternative translation engine (requires API key).
  • yt-dlp: For playing online videos from various platforms.
  • .NET Desktop Runtime 9: Required runtime.
  • Microsoft Visual C++ Redistributable (>= 2022): Required for Whisper ASR and Tesseract OCR.
  • MaterialDesignInXamlToolkit: For the user interface.
  • lingua-dotnet: For language detection.
  • WpfColorFont: For font selection.

What are the benefits of the project?

  • Enhanced Language Learning: Provides a comprehensive set of tools to improve language comprehension and vocabulary acquisition.
  • Accessibility: Makes video content accessible to learners by generating subtitles and providing translations.
  • Customization: Offers extensive customization options for subtitles, shortcuts, and appearance.
  • Flexibility: Supports various subtitle formats, online video sources, and integration with external tools.
  • Free and Open Source: Allows for community contributions and modifications.
  • Privacy-Focused: ASR and OCR are performed locally, ensuring user privacy.

What are the use cases of the project?

  • Watching foreign language films and TV shows: Learn a new language by watching videos with dual subtitles, real-time translation, and word lookup.
  • Learning from online video courses: Generate subtitles and translations for online courses in various languages.
  • Watching videos without subtitles: Use AI-powered ASR to generate subtitles for any video.
  • Improving pronunciation: Use subtitles to follow along with the spoken dialogue.
  • Expanding vocabulary: Look up unfamiliar words instantly and integrate with dictionary tools.
  • Watching anime with Japanese subtitles and using tools like Yomitan (with setup).
LLPlayer screenshot