About this project

LLPlayer is a specialized media player for language learning, built with C#/WPF and leveraging the Flyleaf library. Unlike general-purpose players like VLC, it focuses on subtitle-centric features to aid language acquisition. Key features include: - **Dual Subtitles:** Display two subtitles simultaneously, supporting both text and bitmap formats. - **AI-Generated Subtitles (ASR):** Real-time subtitle generation from any video/audio using OpenAI Whisper, with support for whisper.cpp and faster-whisper engines. Generation runs locally, with optional CUDA/Vulkan acceleration for NVIDIA/AMD GPUs. - **Real-Time Translation:** Integrates multiple translation engines (Google, DeepL, Ollama, LM Studio, OpenAI) and supports context-aware translation via LLMs for higher accuracy. - **OCR Subtitles:** Converts bitmap subtitles to text in real time using Tesseract or Microsoft OCR. - **Subtitles Sidebar:** Browse, seek, and search subtitles incrementally; supports both text and bitmap formats. - **Word Lookup:** Instantly look up words or search the web from subtitle text, with customizable browser search sites. - **Online Video Playback:** Plays online videos via yt-dlp integration, enabling ASR and translation on streaming content. - **Customization:** Flexible subtitle size/positioning, fully customizable keyboard shortcuts, dark theme, and built-in cheat sheet. - **Extras:** Built-in subtitle downloader (opensubtitles.org), browser extension integration (e.g., Yomitan, 10ten) via clipboard, and local processing for privacy. LLPlayer is in beta, requiring Windows 10/11, .NET Desktop Runtime 10, and VC++ Redistributable. It is open-source and actively developed, with a roadmap including cross-platform support (Avalonia) and Anki integration. The project acknowledges inspiration from Language Reactor and credits libraries like Flyleaf, Whisper, and MaterialDesignInXAML.