Overview
Myna Player is a local-first AI video player built around a simple goal: watch a video in another language without choosing between fast subtitles and coherent translation.
It processes audio ahead of playback, creates word-timed source subtitles locally, gives translation providers enough surrounding context to preserve meaning, and renders the result against the native player clock.
The problem
Live subtitle systems usually optimize either latency or context. Translating tiny fragments can be fast but incoherent. Waiting for large blocks improves meaning but makes the subtitle arrive too late. A useful player needs separate strategies for timing and translation.
Pipeline
Myna Player separates the workflow into stages:
- extract prioritized audio windows ahead of the current playback position;
- run local Whisper transcription with word timestamps;
- derive natural subtitle cues from those timestamps;
- send finalized text and limited neighboring context to an optional translator;
- validate that translated cue identifiers and timing have not changed;
- cache and render source, translated, or dual subtitles against the player clock.
Processing is resumable and stored through SQLite and WAL checkpoints. Users can export SRT and VTT files, correct subtitle text or timing, and reset all generated data for an individual video.
Privacy and providers
Transcription is local by default. FFmpeg, voice activity detection, and Whisper run on the user’s computer. Cloud translation is optional and receives text with limited context, not the video or extracted audio.
Provider adapters support DeepL, Gemini, MiniMax, OpenAI, and OpenRouter. Credentials are stored through the operating system credential store.
Desktop architecture
The project uses Rust and Tauri with a native libVLC video surface. Runtime dependencies and models are pinned, downloaded or built through packaging scripts, checked with SHA-256, and accompanied by license documentation. The application includes diagnostics and bounded worker logging for the media pipeline.
My role
I designed the product, built the Rust workspace and processing architecture, implemented the player and subtitle pipeline, added translation providers, persistence, correction and reset workflows, and prepared the open-source packaging and documentation.
Current status
Myna Player is a public alpha. The macOS application works, Windows integration and packaging are under active verification, and the project is open for technical review and contributions before its first stable release.