A beautiful, extensible, high-performance desktop media player powered by Tauri v2, Rust, React, and libmpv
OpenPlayer is a lightweight, visually refined desktop media player built with Tauri v2, Rust, React, and libmpv. It keeps playback close to the native mpv surface while using a transparent React overlay for polished controls, menus, shortcuts, and settings.
The default playback path is mpv-embed: the main Tauri window hosts the native libmpv video surface, while the overlay window hosts the interactive UI. This split gives OpenPlayer native-level playback behavior without giving up a modern, customizable desktop experience.
- ⚡ Native mpv playback: Embedded libmpv backend with broad media compatibility and high-performance decoding.
- 🪟 Video host + transparent overlay: Native rendering and React controls are separated for stability, responsiveness, and UI flexibility.
- 🌐 Bilingual interface: English and Simplified Chinese are supported, with automatic language matching based on the operating system.
- 🎨 Studio Dark theme: Built-in dark visual system with configurable accent colors and synchronized appearance across windows.
- ⌨️ Reliable shortcuts: Configurable shortcuts plus a native Windows shortcut bridge for cases where the video surface owns focus.
- 🎞️ Precise playback control: Fullscreen restore, smooth progress, frame stepping, loop modes, playback speed, track selection, and subtitle controls.
- 🧭 Smart chrome hiding: Controls and the title bar hide during playback inactivity and when the mouse leaves the window.
- 🗂️ Playback memory: Recent media and resume progress are persisted with a lightweight redb store, with clear-history and private playback options.
- 🧩 Desktop integration: Optional Windows media association and Explorer preview registration for selected formats.
The latest release is available from GitHub Releases:
Current release:
- 🏷️
v1.3.1 - 🪟 Windows:
OpenPlayer_1.3.1_x64-setup.exe - 🐧 Linux:
OpenPlayer_1.3.1_amd64.debandOpenPlayer_1.3.1_amd64.AppImage - 🍎 macOS:
OpenPlayer_1.3.1_arm64.dmgandOpenPlayer_1.3.1_x64.dmg - 🔐 Checksums: release assets include
.sha256files
Windows packages are not code-signed yet, so SmartScreen may show a warning on first install. Linux packages are an initial distribution target and still rely on the host desktop media stack, including system libmpv.
| Action | Shortcut |
|---|---|
| Open media | Ctrl + O |
| Play / Pause | Space |
| Seek backward 5 seconds | Left |
| Seek forward 5 seconds | Right |
| Previous frame | D |
| Next frame | F |
| Fullscreen / Restore | Enter |
| Volume | Mouse wheel / Up / Down |
Prerequisites:
- Rust stable toolchain
- Node.js 20+
- npm 10+
- Tauri v2 system dependencies for your platform
- Windows builds use the local mpv runtime under
vendor/native/mpv/windows-x64
Install dependencies:
Set-Location apps/desktop
npm installRun the desktop app:
Set-Location apps/desktop
npm run tauri:devVerify the project:
npm run verify:shell
npm run build
cargo test -p openplayer-desktopBuild the Windows installer:
Set-Location apps/desktop
npm run tauri:build -- --config src-tauri/tauri.windows.conf.jsonThe installer is emitted under:
target/release/bundle/nsis/
OpenPlayer stands on the work of excellent open source projects:
- Tauri - secure, lightweight desktop app shell.
- Rust - native backend, shell integration, and persistence.
- mpv / libmpv - high-quality media playback engine.
- React - overlay controls and settings UI.
- Vite and TypeScript - frontend tooling.
- redb - embedded persistence for history, settings, and playback state.
OpenPlayer's application source code is released under MIT. Release packages also include or link to upstream components under their own licenses.
- Tauri, Rust ecosystem crates, React, Vite, TypeScript, and redb are MIT, Apache-2.0, or similarly permissive according to their package metadata.
- Windows release automation uses the
mpv-dev-lgpllibmpv artifact fromzhongfly/mpv-winbuildto keep the bundled media runtime aligned with OpenPlayer's permissive application license. - Linux packages depend on the distribution's
libmpv2; macOS packages bundle Homebrew libmpv dylibs. Their notices and source obligations remain governed by the upstream packages used for each platform.
OpenPlayer is released under the MIT License.

