Wiina brings the IINA experience to Windows in a WinUI 3 player with a libmpv core, floating OSC, acrylic controls, and a quick-settings sidebar, shipping as a 100 MB installer that just works.
- v1.3.9
- Published at
- 3d ago
- 3
- Stars
- 6
- Download
- Synced at
- 1d ago
Latest release
v1.3.9Oct 25, 2026, 12:19 PMREADME
Project Overview
Wiina does not copy AppKit; it rebuilds IINA's interaction model — floating OSC, sidebar quick settings, OSD, and mode state machine — to Windows 11 Fluent standards in WinUI 3, with playback handed to libmpv. The UI is real XAML while video renders through mpv's d3d11 composition, dressed in Segoe UI Variable, Mica and acrylic, rounded corners, and system-following themes. The roughly 100 MB installer bundles .NET 10, Windows App Runtime, libmpv 0.41, and decoders, so it plays out of the box with d3d11va hardware decoding on first open.
IINA's feel, Windows 11's native polish.
| Item | Value |
|---|---|
| Platform | Windows 10 2004+ (build 19041) and Windows 11, x64 |
| Stack | WinUI 3 + libmpv + C# / .NET 10 |
| Installer | About 100 MB with runtime and decoders bundled |
| License | GPL-3.0-only |
| Testing | 943 passing xUnit tests |
Key Features
- Floating OSC: draggable, dockable, and position-remembered, auto-hides on idle mouse, ignores jitters under 5 px, with precise thumbnails on progress hover
- Acrylic and solid: OSC and OSD offer Fixed / Dynamic / Always / Solid tiers, acrylic blurs the video frame under controls, solid skips capture for low-end rigs
- Resume playback: the welcome window lists recent files and last positions for one-click resume, tracked per file
- Settings search: 11 pages searchable in Chinese and English, typing subtitles jumps to font size and borders, changes apply instantly
- Keybinding schemes: built-in Wiina (IINA habits, 79 keys) and mpv presets, with recording, conflict checks, import/export
- Quality tuning: 23 mpv options grouped into scaling, chroma, dithering, debanding, interpolation, and sync, labeled with original keys and JSON profiles
- Thumbnails: pre-generation indexes a 23-minute video in about 30 seconds, or switch to instant preview with 250 ms debounce and a tunable disk LRU cache
- Smart subtitles: same-episode external subs auto-listed, assfonts preferred, dual subtitles, manual picks never overridden
- System integration: open URLs to play HLS streams, file associations written in one click and restored on uninstall
Interface & Operation
- Quick-settings sidebar: Shift+Alt+V video, A audio, S subtitles, P playlist
- Playback controls: Space toggles play, arrows step 5 seconds (Ctrl for 30), Enter fullscreen, Ctrl+S screenshot
- PiP mode: Ctrl+Shift+P enters frameless picture-in-picture with main-window shortcuts and edge snapping
- Themes: light/dark follows the system, with Mica, acrylic, and Windows accent colors reacting live
Quick Start
- Download the portable zip or installer exe from Releases, the portable build runs anywhere with its own uninstall cleaner
- Open a file to play, defaulting to d3d11va hardware decoding with automatic software fallback
- Fine-tune via settings search for keywords like cache or hardware decoding
- If SmartScreen blocks first launch, click More info → Run anyway, SHA-256 hashes are on the release page
System Requirements
| Item | Requirement |
|---|---|
| OS | Windows 10 2004+ / 11, x64 |
| Runtime | .NET 10 and Windows App Runtime bundled |
| Repo layout | Wiina.App shell, Wiina.Core logic, Wiina.Mpv bindings, Wiina.Uninstall uninstaller |
Notes
- Unsigned: no code signature, SmartScreen prompts are expected
- Layered design: Core is a pure-logic library, Mpv handles bindings and player wrapping, keeping UI and logic testable apart
- Roadmap: the mpv plugin system and IINA plugin compatibility layer arrive next version
- Rich docs: architecture decisions, IINA replication spec, thumbnail logic, shortcut comparisons, and performance reports all live under docs/