Files
plezy/README.md
T
2025-10-22 14:12:57 +02:00

2.9 KiB

Plezy

Plezy is a modern Plex media client that provides a seamless streaming experience across desktop and mobile platforms. Built with Flutter, it offers native performance and a clean, intuitive interface for browsing and playing your Plex media library.

Download

Mobile

Coming soon

Desktop

Download the latest release from the Releases page

Features

🔐 Authentication & Server Management

  • OAuth PIN-based authentication
  • Automatic server discovery with smart connection selection
  • Persistent sessions with auto-login

📚 Media Browsing

  • Browse libraries with rich metadata
  • Discover featured content
  • Advanced search across all media
  • Season and episode navigation

🎬 Video Playback (MediaKit/mpv)

  • Wide codec support including HEVC, AV1, VP9, and more
  • Advanced subtitle rendering with full ASS/SSA support
  • Audio and subtitle track selection with user profile preferences
  • Playback progress sync and resume functionality
  • Auto-play next episode

🎨 User Experience

  • Material Design 3 with dark theme
  • Custom controls and context menus
  • Desktop window management with custom macOS titlebar
  • Fullscreen support with adaptive orientation

Platform Support

  • macOS
  • Windows
  • Linux
  • Android
  • iOS

Prerequisites

  • Flutter SDK 3.8.1 or higher
  • A Plex account
  • Access to a Plex Media Server (local or remote)

Installation

  1. Clone the repository:
git clone https://github.com/edde746/plezy.git
cd plezy
  1. Install dependencies:
flutter pub get
  1. Generate required code:
dart run build_runner build
  1. Run the application:
flutter run

Configuration

On first launch, Plezy will guide you through:

  1. Authenticating with your Plex account
  2. Selecting your Plex Media Server
  3. Testing connections to find the optimal one

Your credentials and preferences are securely stored locally for automatic sign-in on subsequent launches.

Development

Code Generation

The project uses code generation for JSON serialization. After modifying model classes, run:

dart run build_runner build --delete-conflicting-outputs

Building for Production

Android

flutter build apk --release
# or
flutter build appbundle --release

Desktop

flutter build macos --release
flutter build windows --release
flutter build linux --release

Acknowledgments