PLAY. is an open source premium video player for Windows built around one goal: deliver a better viewing experience. It combines broad real-world media compatibility, high-performance playback, strong rendering quality, and a polished desktop presentation in one focused app.
Playdot Player Website
stephanorgiazzi.github.io/playdot-player
Why it stands out
- Excellent compatibility across modern and legacy containers, codecs, tracks, and demanding files
- Strong playback performance on high resolutions, high bitrates, and complex media libraries
- Better image presentation with high-quality scaling, tone mapping, and sharper overall rendering
- Better HDR-to-SDR viewing results than many mainstream desktop players
- Built-in
FSRupscaling for sharper playback when you want more from lower-resolution sources - Optional
SVPintegration for high-frame-rate motion interpolation on systems that have it installed - Premium desktop feel with fast controls, polished interaction, and a player UI built around the video
- Why PLAY.
- Playback Strengths
- Experience
- Architecture
- Stack
- Quick Start (Development)
- Quality Checks
- Build and Release
- Scripts
- Open Source
PLAY. is built to be the premium Windows video player: fast, capable, and visibly better where it matters most — playback quality, compatibility, and responsiveness.
- Open local files fast
- Support pasted
httpandhttpsmedia URLs - Launch directly from associated video files
- Control playback with keyboard, mouse, wheel, and context menu workflows
- Stay focused on the video instead of clutter
The playback stack is what gives PLAY. its edge, and that advantage carries directly into the app experience.
- Broad real-world compatibility inherited from
mpv - Strong responsiveness on demanding files
- High-quality scaling and tone mapping
- Better SDR presentation from HDR sources
- Built-in
FSRupscaling as a first-class playback enhancement - Optional
SVPintegration for users who want smoother interpolated motion - Reliable handling of audio tracks, subtitle tracks, and common playback adjustments
Two standout features make PLAY. more than just a polished player.
FSRupscaling improves perceived sharpness and presentation, especially when lower-resolution content is shown largerSVPintegration lets PLAY. use an installed SVP setup for motion interpolation and smoother high-frame-rate playback
- Open a file or paste a media URL.
- Get smooth playback with high image quality and strong format support.
- Scrub, seek, adjust volume, and change playback settings instantly.
- Turn on
FSRupscaling or use installedSVPintegration when you want a more enhanced viewing experience. - Cycle audio and subtitles, adjust subtitle size, toggle fullscreen, and tune the viewing experience without friction.
Current feature set includes:
- Timeline scrubbing with hover time preview
- Audio and subtitle track cycling
- Fullscreen toggle and playback speed controls
- Subtitle size adjustment
FSRupscaling toggle- Optional
SVPintegration when installed locally
- Rust hosts the Tauri 2 shell, startup media argument handling, native integrations, and window lifecycle
- React and TypeScript own the player UI, shortcuts, chrome behavior, and control flow
tauri-plugin-libmpvdrives playback and observed player state- Bundled runtime libraries and shaders let the app ship as a self-contained Windows desktop app
- Tauri 2
- Rust
- React 19
- TypeScript 6
- Vite 8
- libmpv via
tauri-plugin-libmpv oxlintandoxfmt
npm install
npm run setup-lib
npm run app:devNotes:
npm run setup-libpreparessrc-tauri/lib/with the requiredmpvruntime filesnpm run app:devstarts theVitefrontend and theTauridesktop app together- This project is intended for Windows development and packaging
npm run lint
npm run format
npm run buildBuild the app:
npm run tauri:buildCreate the Windows installer and release artifacts:
npm run releaseOutputs are written under src-tauri/target/release/bundle/ and release/.
| Command | Description |
|---|---|
npm run app:dev |
Run full Tauri desktop development mode |
npm run build |
Type-check and build the frontend |
npm run lint |
Run oxlint with the project rules |
npm run tauri:build |
Build desktop bundles |
npm run setup-lib |
Prepare bundled libmpv runtime files |
npm run release |
Build installer and local artifacts |
PLAY. is MIT licensed. See LICENSE.
