A beautiful, extensible, high-performance desktop media player powered by Tauri v2, Rust, React, and libmpv
Download Β· Release Notes Β· Plugin SDK Β· License
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.
- π§© Open plugin SDK: User-installed plugins can declare permissions, persist runtime data, open custom views, listen for playback events, and call controlled mpv APIs.
- π§© Desktop integration: Optional Windows media association and Explorer preview registration for selected formats.
OpenPlayer 1.5.0 expands the plugin system into a documented SDK for external developers and AI-assisted plugin authoring. Plugins can use typed manifests, capability checks, runtime events, scoped storage, validated network requests, custom views, native dialogs, and permission-gated mpv controls for playback, filters, OSD, and script messages.
- SDK guide: docs/plugins/sdk-1.5-developer-guide.md
- Plugin host overview: docs/plugins/README.md
- Official plugin packages: AreChen/openplayer-plugins
The latest release is available from GitHub Releases:
Current release:
- π·οΈ
v1.5.0 - πͺ Windows:
OpenPlayer_1.5.0_x64-setup.exe - π§ Linux:
OpenPlayer_1.5.0_amd64.debandOpenPlayer_1.5.0_amd64.AppImage - π macOS:
OpenPlayer_1.5.0_arm64.dmgandOpenPlayer_1.5.0_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.

