PerchPlay is a Flutter-built local video player for Android and iOS, featuring a glassmorphism UI, full-format playback, DLNA casting and WebDAV/FTP network storage.
- v1.1.8
- Published at
- 1h ago
- 0
- Stars
- 34
- Download
- Synced at
- 25m ago
Latest release
v1.1.8Oct 28, 2026, 12:50 PMREADME
Project Overview
PerchPlay is a local video player for phones and tablets, written in Flutter and running on Android / iOS / iPadOS alike. The playback core is media_kit (libmpv), supporting 21 video formats with a hardware-decode toggle; the UI follows a glassmorphism style with a switchable real-time blur navbar.
| Item | Value |
|---|---|
| Platform | Android / iOS / iPadOS |
| Playback core | media_kit 1.2.0 (libmpv) |
| Formats | mp4 / mkv / avi / mov and 21 in total |
| Networking | DLNA casting, WebDAV, FTP |
| Stack | Flutter 3.22, Riverpod 2.5, GoRouter 14, SQLite |
| License | MIT |
Local library, tablet two-pane, TV casting — one player covers it all.
Key Features
- Formats and subtitles: 21 formats, 0.25x-2.0x speed, embedded subtitle track selection, external SRT / ASS / VTT, with embedded and external subtitles shown together for bilingual viewing
- Gestures: left-edge slide for brightness, right-edge for volume, horizontal slide to seek with a live progress bar, double-tap to pause
- Automatic series grouping: recognizes 8 kinds of season/episode markers such as
S01E02,1x02,第1季第3集andEP05, merging same-title episodes across folders while keeping movies out - Resume and queue: progress saved automatically, with previous/next episode continuous play
- DLNA casting: SSDP discovery plus manual IP fallback, and a built-in Range-capable HTTP media server that serves local files to the TV
- NAS direct connect: WebDAV and FTP, auto-detecting Synology, QNAP, TrueNAS, Unraid, fnOS and more on the LAN and verifying WebDAV availability
- Keyboard shortcuts: with an external keyboard,
Spaceplays,←→seek 10 s,Ffullscreen,[]switch episodes
Responsive Layout
Phones get bottom navigation with fullscreen playback; portrait tablets switch to a NavigationRail with enlarged controls; landscape tablets get a two-pane Master-Detail with a dedicated player pane. On Android the frosted glass degrades to translucent overlay per GPU compatibility.
Install and Permissions
Grab the APK from Releases or build it yourself. Android 13+ requests READ_MEDIA_VIDEO, and Android 11+ can additionally enable "All files access" for fuller scans; on iOS, scanning runs inside the sandboxed Documents with multi-select import from the Files app and photo-library video scanning.
System Requirements
| Item | Requirement |
|---|---|
| Android | 8.0 and above |
| iOS / iPadOS | Modern versions, sandbox or file import |
| Network (optional) | A DLNA device or NAS on the LAN |
Notes
- Casting is DLNA only: Chromecast and AirPlay are not implemented, and the UI never fakes a connection
- No SMB: for network storage, WebDAV — supported by both Synology and QNAP — is recommended
- Background play: on Android it uses a foreground service with notification, controlled by the "background play" switch