开源项目
edde746/plezy avatar
edde746/plezy

Plezy:一个用 Flutter 写成的 Plex、Jellyfin 与 Emby 三端客户端

使用 Flutter 构建的现代跨平台 Plex 和 Jellyfin 客户端。致谢 使用 Flutter 构建支持由 mpv、MPVKit、Android ExoPlayer、libass-android 和 libmpv-android 提供支持的 Plex 媒体服务器和 Jellyfin 播放。

3,457 个 Star318 个 ForkDartGPL-3.0

秒懂

它是什么?
Plezy 是一个基于 Flutter 的跨平台媒体客户端,同时支持 Plex、Jellyfin 和 Emby。它的功能清单很长,但真正值得关注的是它对多服务器、多协议的统一处理方式,以及 GPL-3.0 许可带来的使用边界。
适合谁用?
Plezy 适合同时使用 Plex、Jellyfin 或 Emby 中任意两种以上服务的用户,尤其是那些想在电视、桌面和移动设备上获得一致操作体验的人。它不适合只需要一个轻量播放器、或者对 mpv 后端没有需求的人,因为 Android 默认走 ExoPlayer,iOS 和 tvOS 上部分高级播放功能直接不可用。
能商用吗?
可以,但有条件。GPL-3.0 是 copyleft 许可证:如果你分发包含它的软件,就必须以同一许可证公开该软件的源代码。只在内部运行、不对外分发,则不会触发这项义务。
还在维护吗?
在维护。仓库在最近一天内有新的提交。
用什么语言写的?
主要是 Dart(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

它解决的是多服务器碎片化问题

市面上大多数媒体客户端只绑定一个后端。Plex 官方客户端不支持 Jellyfin,Jellyfin 官方客户端也不碰 Plex。Plezy 的定位是把这三者放进同一个界面,让用户在一个应用里同时连接多个服务器,并且可以并排浏览。README 里明确写了支持多服务器同时在线,包括 Plex、Jellyfin 和 Emby 的混合环境。这对家庭里既有 Plex 又有 Jellyfin 的用户来说,省去了切换应用的麻烦。它面向的是那些已经有多套媒体服务器、不想为每套服务器维护独立客户端的人。

播放核心:mpv、ExoPlayer 与平台取舍

播放能力由多个引擎分担。桌面端和 Android TV 走 mpv 后端,Android 手机默认用 ExoPlayer,iOS 和 tvOS 则完全没有 mpv 可用。这个分工直接决定功能差异。GLSL 着色器预设、环境光效果这些依赖 mpv 的特性,在 iOS 和 tvOS 上不存在。Dolby Vision 只在 Android 和 Apple TV 上支持,HDR 开关在 Linux 上需要色彩管理的 Wayland 合成器。音频直通只覆盖桌面、Android TV 和 Apple TV。这些限制不是 bug,是平台授权和硬件解码能力决定的。如果你主要在 iPhone 上看片,Plezy 的高级播放特性对你来说就是摆设。

安装方式:包管理器比预期齐全

下载渠道覆盖了主流平台。macOS 有 DMG,Linux 提供 deb、rpm 和 tar.gz,Windows 走 WinGet,命令是 winget install edde746.Plezy。Arch Linux 用户可以直接 sudo pacman -S plezy,这是官方仓库里的包。macOS 还有 Homebrew tap,需要先执行 brew tap edde746/plezy https://github.com/edde746/plezy 再 brew install --cask plezy。Nix 也有社区维护的包。移动端分别上架了 App Store、Google Play 和 Amazon。安装路径没有特殊要求,但注意 Linux 的 arm64 版本和 x64 版本是分开发布的,下载时别选错架构。

跨服务器搜索与元数据匹配的实际价值

Plezy 的搜索不是简单地在每个服务器里各搜一遍。README 提到它支持跨服务器搜索,并且能把外部目录服务里的标题通过外部 ID 匹配回你自己的媒体库。这意味着你在 Trakt 或 AniList 里看到一部电影,可以直接跳转到你服务器上已有的副本。这个机制的价值在于,它把发现和播放之间的断层补上了。发现层接入了 Plex Discover、Trakt、MyAnimeList、AniList、Simkl 和 Seerr,请求功能也内置了。但注意,这些服务都需要在设置里手动连接,不是开箱即用。而且外部 ID 匹配的准确性取决于服务器端是否提供了正确的元数据,如果你的媒体库命名不规范,匹配率会明显下降。

下载与离线:同步规则是亮点也是复杂度来源

离线播放不是简单的下载按钮。Plezy 支持同步规则,可以按剧集自动下载,还能单独设置是否包含特别篇。下载队列支持后台暂停和恢复,离线浏览时观看状态会在重新连接后同步回去。这个设计对经常出差、网络不稳定的用户是实际的帮助。但同步规则的配置本身有学习成本,特别是当你有多个服务器、多个配置文件时,规则之间的优先级需要自己理清。README 没有给出规则冲突时的处理策略,这部分文档是缺失的。如果你只是偶尔缓存一两集,用不上这个功能;如果你要维护一个完整的离线媒体库,得先花时间把规则理清楚。

观看同步与远程控制:生态整合的深浅不一

Trakt、MyAniList 和 Simkl 的同步是实时的,包括评分、观看记录和 scrobbling。Plezy Remote 允许手机控制桌面和电视端。Discord Rich Presence 只在桌面端有效。Watch Next 行和 tvOS Top Shelf 是 Apple 生态特有的。这些集成不是平均用力。Plex 专属的功能最多,比如在线字幕搜索、DVR 录制规则、Plex Home 切换。Jellyfin 和 Emby 只拿到本地服务器发现和 Quick Connect 登录。如果你主要用 Jellyfin,Plezy 的很多宣传特性对你不可用。这种偏向性在 README 的脚注里写得很清楚,但用户第一次浏览时很容易忽略。

GPL-3.0 与维护成本的现实考量

项目采用 GPL-3.0 许可证。这意味着你可以自由使用和修改,但如果你分发修改后的版本,必须同样以 GPL-3.0 发布。对于个人用户没有影响,对于想把它嵌入商业产品的团队,这是个需要提前评估的法律边界。维护方面,项目最近一次提交是 2026 年 8 月 24 日,版本号到 2.17.1,更新频率看起来是稳定的。但 Flutter 生态本身的升级节奏很快,依赖 mpv 和 ExoPlayer 这类底层库意味着每次上游更新都可能带来适配工作。README 里没有提供升级指南或迁移说明,这部分只能依赖社区。如果你要长期使用,建议关注每个版本的 release notes,特别是播放引擎相关的变更。

编辑结论

Plezy 适合同时使用 Plex、Jellyfin 或 Emby 中任意两种以上服务的用户,尤其是那些想在电视、桌面和移动设备上获得一致操作体验的人。它不适合只需要一个轻量播放器、或者对 mpv 后端没有需求的人,因为 Android 默认走 ExoPlayer,iOS 和 tvOS 上部分高级播放功能直接不可用。在采用之前,先确认你的服务器版本与 Plezy 2.17.x 的兼容性,特别是 Dolby Vision 和音频直通功能,这两项在 README 中明确标注了平台限制。另外,GPL-3.0 许可意味着如果你要分发修改版本,必须开源,这一点对商业集成方是硬约束。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社区笔记

社区笔记