michelknoop21/pleya

Pleya — a cinematic client for Plex & Jellyfin. Free software (GPL-3.0), a fork of Plezy.

Dart

0

177 commits

updated Sep 23, 2026

See the code

README

Pleya Logo Pleya

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

Pleya is a fork of Plezy (© edde746), distributed under the GNU General Public License v3.0. See NOTICE and LICENSE.

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

Package managers:

  • Nix - Community package by @mio-19 and @MiniHarinn
  • Homebrew (macOS):
    brew tap edde746/plezy https://github.com/edde746/plezy
    brew install --cask plezy
    
  • AUR (Arch Linux) - Community maintained by @jianglai:
    yay -S plezy-bin
    
  • WinGet (Windows):
    winget install edde746.Plezy
    

Features

Browse & Discover

  • Libraries, collections, and playlists
  • Discover hub: Continue Watching, Next Up, trending, and recommendations
  • Cross-server search
  • Filtering, sorting, and alphabetical jump navigation
  • Extras: trailers, deleted scenes, behind-the-scenes

Playback

  • Wide codec support (HEVC, AV1, VP9, and more)
  • HDR and Dolby Vision1
  • Full ASS/SSA subtitles with customizable styling
  • Online subtitle search & download2
  • Audio & subtitle choices remembered per title
  • Progress sync and resume
  • Auto-play next episode with skip intro / skip credits
  • Chapter navigation with thumbnail scrub previews
  • Playback speed, audio sync offset, sleep timer
  • Ambient lighting and GLSL shader presets3
  • Picture-in-Picture4
  • Refresh-rate matching5
  • External player launch (VLC, MX Player, etc.)

Live TV & DVR

  • Live TV channel browsing with favorites
  • DVR support with EPG guide, recording rules, and scheduled recordings2
  • Multi-server Live TV support where available

Downloads & Offline

  • Download media for offline viewing
  • Background queue with pause / resume
  • Sync rules for automatic downloads
  • Offline browsing with watch state sync-back on reconnect

Watch Together

  • Synchronized playback with friends
  • Real-time play / pause / seek sync

Integrations

  • Discord Rich Presence6
  • Trakt, MyAnimeList, AniList, and Simkl tracking & rating
  • Pleya Remote: control desktop and TV from mobile
  • Watch Next row7

Platform & Customization

  • Desktop, mobile, and TV: full D-pad, keyboard, and gamepad support
  • Customizable keyboard shortcuts6
  • Metadata and artwork editing2
  • Settings import/export
  • Localized in English plus 14 translations

Building from Source

Prerequisites

  • Flutter SDK 3.44.0 exactly. The version is pinned in .fvmrc, and CI reads that same file. scripts/codegen.sh and scripts/ci_checks.sh refuse to run on a different SDK, because dart format output differs between versions and the mismatch only surfaces in CI.
  • A Plex account or Jellyfin server with user credentials

Setup

git clone https://github.com/edde746/plezy.git
cd plezy
flutter pub get
scripts/setup_hooks.sh   # pre-commit (CI gate) + pre-push (release notes)
scripts/codegen.sh
flutter run

scripts/setup_hooks.sh is part of the setup, not an optional extra. Git stores core.hooksPath in .git/config, so it does not travel with a clone: skip this step and you silently have no pre-commit gate and no release-note updates. scripts/ci_checks.sh and scripts/codegen.sh warn when it has not been run.

Code Generation

After modifying model classes or other generated sources:

scripts/codegen.sh

After modifying translations:

dart run slang

Local Checks

scripts/ci_checks.sh

To install the same pre-commit checks locally:

scripts/setup_hooks.sh

Contributing

See CONTRIBUTING.md for development workflow, formatting, tests, and translation guidelines.

License

Plezy is licensed under GPL-3.0.

Acknowledgments

Footnotes

  1. Not available on Linux.

  2. Plex only. 2 3

  3. Not available on iOS (iPhone/iPad). Supported on tvOS.

  4. Android, iOS, and macOS.

  5. Windows, Android, and tvOS.

  6. Desktop only. 2

  7. Android TV only.

Contributors

claude

114 commits

michelknoop21

62 commits

Copilot

1 commits

michelknoop21/pleya

Pleya — a cinematic client for Plex & Jellyfin. Free software (GPL-3.0), a fork of Plezy.

Dart

0

177 commits

updated Sep 23, 2026

See the code

README

Pleya Logo Pleya

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

Pleya is a fork of Plezy (© edde746), distributed under the GNU General Public License v3.0. See NOTICE and LICENSE.

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

Package managers:

  • Nix - Community package by @mio-19 and @MiniHarinn
  • Homebrew (macOS):
    brew tap edde746/plezy https://github.com/edde746/plezy
    brew install --cask plezy
    
  • AUR (Arch Linux) - Community maintained by @jianglai:
    yay -S plezy-bin
    
  • WinGet (Windows):
    winget install edde746.Plezy
    

Features

Browse & Discover

  • Libraries, collections, and playlists
  • Discover hub: Continue Watching, Next Up, trending, and recommendations
  • Cross-server search
  • Filtering, sorting, and alphabetical jump navigation
  • Extras: trailers, deleted scenes, behind-the-scenes

Playback

  • Wide codec support (HEVC, AV1, VP9, and more)
  • HDR and Dolby Vision1
  • Full ASS/SSA subtitles with customizable styling
  • Online subtitle search & download2
  • Audio & subtitle choices remembered per title
  • Progress sync and resume
  • Auto-play next episode with skip intro / skip credits
  • Chapter navigation with thumbnail scrub previews
  • Playback speed, audio sync offset, sleep timer
  • Ambient lighting and GLSL shader presets3
  • Picture-in-Picture4
  • Refresh-rate matching5
  • External player launch (VLC, MX Player, etc.)

Live TV & DVR

  • Live TV channel browsing with favorites
  • DVR support with EPG guide, recording rules, and scheduled recordings2
  • Multi-server Live TV support where available

Downloads & Offline

  • Download media for offline viewing
  • Background queue with pause / resume
  • Sync rules for automatic downloads
  • Offline browsing with watch state sync-back on reconnect

Watch Together

  • Synchronized playback with friends
  • Real-time play / pause / seek sync

Integrations

  • Discord Rich Presence6
  • Trakt, MyAnimeList, AniList, and Simkl tracking & rating
  • Pleya Remote: control desktop and TV from mobile
  • Watch Next row7

Platform & Customization

  • Desktop, mobile, and TV: full D-pad, keyboard, and gamepad support
  • Customizable keyboard shortcuts6
  • Metadata and artwork editing2
  • Settings import/export
  • Localized in English plus 14 translations

Building from Source

Prerequisites

  • Flutter SDK 3.44.0 exactly. The version is pinned in .fvmrc, and CI reads that same file. scripts/codegen.sh and scripts/ci_checks.sh refuse to run on a different SDK, because dart format output differs between versions and the mismatch only surfaces in CI.
  • A Plex account or Jellyfin server with user credentials

Setup

git clone https://github.com/edde746/plezy.git
cd plezy
flutter pub get
scripts/setup_hooks.sh   # pre-commit (CI gate) + pre-push (release notes)
scripts/codegen.sh
flutter run

scripts/setup_hooks.sh is part of the setup, not an optional extra. Git stores core.hooksPath in .git/config, so it does not travel with a clone: skip this step and you silently have no pre-commit gate and no release-note updates. scripts/ci_checks.sh and scripts/codegen.sh warn when it has not been run.

Code Generation

After modifying model classes or other generated sources:

scripts/codegen.sh

After modifying translations:

dart run slang

Local Checks

scripts/ci_checks.sh

To install the same pre-commit checks locally:

scripts/setup_hooks.sh

Contributing

See CONTRIBUTING.md for development workflow, formatting, tests, and translation guidelines.

License

Plezy is licensed under GPL-3.0.

Acknowledgments

Footnotes

  1. Not available on Linux.

  2. Plex only. 2 3

  3. Not available on iOS (iPhone/iPad). Supported on tvOS.

  4. Android, iOS, and macOS.

  5. Windows, Android, and tvOS.

  6. Desktop only. 2

  7. Android TV only.

Contributors

claude

114 commits

michelknoop21

62 commits

Copilot

1 commits

Languages

Dart

77.1%

GLSL

13.8%

Go

2.2%

Kotlin

2.1%

Swift

1.1%