Plezy Logo Plezy

A modern client for Plex and Jellyfin on desktop, mobile, and TV. Built with Flutter for native performance and a clean interface.

Website · Screenshots · Download · Contributing · License

Plezy mobile screenshots

## Download Download on the App Store Get it on Google Play Available at the Amazon App Store Get it from Microsoft | Platform | Download | | --- | --- | | macOS | [DMG (x64, arm64)](https://github.com/edde746/plezy/releases/latest/download/plezy-macos.dmg) | | Linux x64 | [.deb](https://github.com/edde746/plezy/releases/latest/download/plezy-linux-x64.deb) · [.rpm](https://github.com/edde746/plezy/releases/latest/download/plezy-linux-x64.rpm) · [.pkg.tar.zst](https://github.com/edde746/plezy/releases/latest/download/plezy-linux-x64.pkg.tar.zst) · [portable tar.gz](https://github.com/edde746/plezy/releases/latest/download/plezy-linux-x64.tar.gz) | | Linux arm64 | [.deb](https://github.com/edde746/plezy/releases/latest/download/plezy-linux-arm64.deb) · [.rpm](https://github.com/edde746/plezy/releases/latest/download/plezy-linux-arm64.rpm) · [.pkg.tar.zst](https://github.com/edde746/plezy/releases/latest/download/plezy-linux-arm64.pkg.tar.zst) · [portable tar.gz](https://github.com/edde746/plezy/releases/latest/download/plezy-linux-arm64.tar.gz) | Package managers: - [Nix](https://search.nixos.org/packages?channel=unstable&query=plezy) - Community package by [@mio-19](https://github.com/mio-19) and [@MiniHarinn](https://github.com/MiniHarinn) - **Homebrew** (macOS): ```bash brew tap edde746/plezy https://github.com/edde746/plezy brew install --cask plezy ``` - [AUR](https://aur.archlinux.org/packages/plezy-bin) (Arch Linux) - Community maintained by [@jianglai](https://github.com/jianglai): ```bash yay -S plezy-bin ``` - **WinGet** (Windows): ```bash winget install edde746.Plezy ``` ## Features ### Browse & Discover - Libraries, collections, and playlists — video and audio - Discover hub — Continue Watching, Next Up, trending, and recommendations - Cross-server search across every connected Plex and Jellyfin server - Filtering, sorting, and alphabetical jump navigation - Folder browsing and folder playback — home-video libraries open in folder view - Resolution, HDR/Dolby Vision, and audio-format badges on cards and detail pages - Favorites and unwatched library filters[^jf] - Extras — trailers, deleted scenes, behind-the-scenes ### Explore & Requests - Explore tab — watchlist, trending, popular, and recommendation rows from Plex Discover[^plex], Trakt, MyAnimeList, AniList, Simkl, and Seerr[^connect] - Search any connected catalog source - Catalog titles matched back to your own libraries by external ID - Seerr — request movies and shows with per-season, 4K, and advanced destination options, and see request status inline - Watchlist sync — add and remove titles on Plex, Trakt, MyAnimeList, AniList, and Simkl from anywhere in the app ### Playback - Wide codec support (HEVC, AV1, VP9, and more) - HDR and Dolby Vision[^hdr] - Direct play, or transcode presets from 240p/320 kbps to 1080p/20 Mbps - Multi-version switching with per-version file details - Full ASS/SSA subtitles with customizable styling - Online subtitle search & download[^plex] - Audio & subtitle choices remembered per title, or follow the server's per-episode selections - Progress sync and resume - Auto-play next episode with skip intro / skip credits - Chapter navigation with thumbnail scrub previews - Playback speed from 0.25x to 8x, audio sync offset, sleep timer (fixed durations or end of video) - Video zoom 50-200% with pinch, presets, and hotkeys - Audio passthrough[^pass], stereo downmix with center-channel boost, and loudness normalization - File Info sheet — every version, file, and stream the server reports - Ambient lighting and GLSL shader presets[^mpv] - Picture-in-Picture[^pip] - Refresh-rate matching[^rrm] - External player launch (VLC, MX Player, etc.) with progress sync back[^android] ### Music - Music libraries — artist, album, and track browsing with square artwork - Album and artist screens with play, shuffle, and Instant Mix - Gapless playback with a full play queue — reorder, remove, play next, add to queue - Now Playing with synced lyrics[^lyrics], persistent mini-player, and sleep timer - Background playback with lock-screen, media-key, and notification controls[^bgaudio] - Offline playback of downloaded albums and tracks - Streaming quality presets — Original, 320, 192, or 128 kbps ### Live TV & DVR - Live TV channel browsing, tuning, and favorites - EPG guide with What's On and per-show schedules - DVR recording rules, scheduled recordings, and a rememberable recording target library[^plex] - Multi-server Live TV support where available ### Downloads & Offline - Download movies, shows, and music for offline playback[^dl] - Background queue with pause / resume - Sync rules for automatic downloads, with per-show "Include Specials" - Offline browsing with watch state sync-back on reconnect ### Watch Together - Synchronized playback with friends - Real-time play / pause / seek sync ### Integrations - Discord Rich Presence[^desktop] - Trakt, MyAnimeList, AniList, and Simkl — ratings, watched sync, and real-time scrobbling[^rt] - Plezy Remote — control desktop and TV from mobile - Watch Next row and tvOS Top Shelf[^shelf] ### Platform & Customization - Desktop, mobile, and TV — full D-pad, keyboard, and gamepad support - Multiple servers at once — Plex and Jellyfin side by side - Profiles with per-profile downloads, watch state, and settings; Plex Home switching with PIN - Jellyfin local-server discovery, multiple URLs per server, and Quick Connect sign-in - TV layout options — corner spotlight backdrop, full-card artwork, and Force TV mode on desktop - Customizable keyboard shortcuts[^desktop] - Metadata and artwork editing - Settings import/export - Localized in English plus 21 translations [^jf]: Jellyfin only. [^plex]: Plex only. [^connect]: Requires connecting the service under Settings > Services. [^hdr]: In-app HDR toggle on Windows, macOS, iOS, and tvOS. Dolby Vision on Android and Apple TV. [^pass]: Desktop, Android TV, and Apple TV. [^mpv]: Requires the mpv player backend — unavailable on iOS and tvOS, and Android defaults to ExoPlayer. [^pip]: Android, iOS, and macOS — not on Android TV or Apple TV. [^rrm]: Windows, Android, and tvOS. [^android]: Progress sync on Android. [^lyrics]: Where your server provides lyrics. [^bgaudio]: tvOS pauses music when the app is backgrounded. [^dl]: Not available on tvOS. [^desktop]: Desktop only. [^rt]: Real-time scrobbling on Trakt and Simkl; MyAnimeList and AniList update on completion. [^shelf]: Android TV / Fire TV and tvOS. ## Building from Source ### Prerequisites - Flutter SDK 3.44.0+ - A Plex account or Jellyfin server with user credentials ### Setup ```bash git clone https://github.com/edde746/plezy.git cd plezy flutter pub get scripts/codegen.sh flutter run ``` ### Code Generation After modifying model classes or other generated sources: ```bash scripts/codegen.sh ``` After modifying translations: ```bash dart run slang ``` ### Local Checks ```bash scripts/ci_checks.sh ``` To install the same pre-commit checks locally: ```bash scripts/setup_hooks.sh ``` End-to-end tests (Android emulator plus a Dockerized Jellyfin fixture): ```bash python3 scripts/run_maestro.py basic ``` ## Contributing See [CONTRIBUTING.md](CONTRIBUTING.md) for development workflow, formatting, tests, and translation guidelines. ## License Plezy is licensed under [GPL-3.0](LICENSE). ## Acknowledgments - Built with [Flutter](https://flutter.dev) - Supports [Plex Media Server](https://www.plex.tv) and [Jellyfin](https://jellyfin.org) - Playback powered by [mpv](https://mpv.io), [MPVKit](https://github.com/mpvkit/MPVKit), Android [ExoPlayer](https://developer.android.com/media/media3/exoplayer), [libass-android](https://github.com/peerless2012/libass-android), and [libmpv-android](https://github.com/jarnedemeulemeester/libmpv-android)