Jellyfin 鸿蒙客户端现状与替代方案
更新于 2026 年 8 月 31 日 · 适用于 HarmonyOS 6.0 及以上
一句话:Jellyfin 官方没有发布鸿蒙客户端。安卓版可以借助卓易通这类第三方兼容层跑起来,但功能受限、流畅度不如原生。现实的做法是用一个支持 Jellyfin 接口的鸿蒙原生播放器直接连——填服务器地址和用户名密码,服务端已经刮好的海报、简介、分集与字幕流照单全收,客户端不再重刮一遍。
Jellyfin 是怎么来的:Emby 闭源之后的那次分叉
这段历史值得先讲,因为它解释了今天你在客户端里看到的很多细节。Jellyfin 不是从零写的项目,它是 2018 年 Emby 服务端转为闭源之后,社区从最后一个开源版本上分叉出来的延续。所以两家在早期共享同一份代码,目录约定、库的组织方式、接口的形状都有明显的同源痕迹。
但这只是出发点。此后两边各走各的,接口早已不再通用——不要指望一个只写了 Emby 支持的客户端能连上 Jellyfin,反过来也一样。这也是为什么在添加源时,「媒体服务器」类下面的 Emby 与 Jellyfin 是两个独立的胶囊,而不是一个选项:底层是两套实现,只是恰好都要填 :8096。选错了那一栏,表现通常是能连上但拿不到库,或者干脆认证失败。
分叉带来的另一个实际差别是商业模式。Emby 与 Plex 把一部分服务端能力放在付费订阅档里,Jellyfin 没有这条线——它完全开源、没有付费墙,也没有一个中心化的账号服务站在你和你的服务器之间。这对自建用户是决定性的:你的服务器只对你负责,不需要在某家公司的账号体系里登记,服务停了、公司变了,你的库也不会跟着出事。
开源用户为什么盯着客户端生态看
服务端开源解决了一半问题,另一半在客户端。片库、刮削、权限都握在自己手里之后,真正的日常体验其实全部发生在你拿着的那块屏幕上:海报墙好不好看、放不放得动 4K、字幕能不能显示、看到第几集记不记得。而客户端偏偏是最难自建的一环——它要跟着每一个操作系统、每一代解码器走。
所以「有没有一个像样的原生客户端」经常是自建方案能不能长期用下去的现实门槛。鸿蒙作为一个还年轻的生态,这个门槛尤其明显:官方客户端没有,而播放器又恰好是对系统解码能力依赖最深的品类之一,隔一层兼容层最吃亏。
鸿蒙上现在是什么情况
三句话说清楚:系统自身不带安卓兼容层,应用市场里只有鸿蒙原生应用;但借助卓易通这类第三方兼容层,安卓版 Jellyfin 是可以运行起来的;代价是功能受限、体验打折、流畅度不如原生。
偶尔翻一下库,兼容层够用。但如果 Jellyfin 是你日常看片的主入口,还是走鸿蒙原生的第三方客户端更合适——硬解、画中画、后台播放、跨设备接续这些依赖系统能力的东西,只有原生应用拿得全。
接进来只要两步
在「文件」页右上角点 + 添加源,第一级选媒体服务器,在类型胶囊里选 Jellyfin,然后填两样东西:
- 服务器地址,形如
http://192.168.1.5:8096。端口别漏,Jellyfin 默认就是 8096。反代到了别的端口或路径就填反代后的完整地址。 - 用户名 + 密码,用你在 Jellyfin 里建的那个用户。
没有「起始目录」这一栏——服务端已经分好媒体库了,接进来直接按它的库结构浏览。填好点测试并保存,它会先真的连一次再存下来。三家服务器的字段差异和 Plex 那条 token 路,在鸿蒙有 Emby 客户端吗里有完整的对照。
一个容易忽略的点:账号在服务端的库权限决定你能看到什么。Jellyfin 可以按用户限制可见的媒体库,客户端只会看到被授权的那几个。登录成功但库是空的,先去服务端检查这个。
自建党最关心的:这个客户端会把我的数据传走吗
自己架服务器的人,多半就是不想让别人替自己保管这些东西,所以对客户端的怀疑是合理的。直接给答案,并且给出可以自己核对的方式。
第一,应用没有服务端。没有账号体系、没有云端同步、没有「登录 Vela Player」这一步。媒体库与源配置存在本机 SQLite 里,卸载即清空;播放进度除本机外,还可能经系统的近场分布式能力在你自己那几台鸿蒙设备之间合并——那也只在同账号同局域网内发生,不出局域网、不上云。没有一个地方能收集你的库长什么样,因为压根没有那个地方。
第二,不接任何第三方统计、广告或推送 SDK,也没有自建的行为上报。这一条比听起来重要:绝大多数「免费播放器」的真实成本就藏在这里。
第三,接 Jellyfin 源时,出站连接只有你的服务器一个目的地。这是本文最值得记住的一句。直连 NAS 的场景下,客户端要自己去 TMDB 或 OMDb 查海报,所以会有第二类出站请求(内容通常就是片名和年份)。而媒体服务器类的源用的是服务端已经刮好的元数据,客户端一次都不会去查元数据接口——这个源产生的全部网络流量,指向的都是你自己那台机器。想验证的话很简单:在路由器或防火墙上看这台设备的出站连接,扫一遍库、放一部片,除了你的服务器地址不会有别的。
第四,源密码交给鸿蒙的系统级密钥库保管,不以明文落在应用数据里。
服务端刮好的元数据,客户端不会去动它
你在 Jellyfin 后台花时间纠正过的匹配、换过的海报、手动改过的剧集编号,接进来是改后的样子,客户端不会各刮各的。由此有三条实际结论:
- 不用配 TMDB 或 OMDb。「设置 → 元数据与刮削」里那些 API Key 是给直连型源(NAS、网盘)准备的;只用 Jellyfin 的话,一个都不填也有完整海报墙。
- 「重新刮削媒体库」会跳过这类源。这是有意为之——元数据归服务端管,客户端不该覆盖它。所以你不会遇到「点了一下重新刮削,服务端上的手工修正全被冲掉」这种事。
- 外挂字幕流一并复用,服务端挂了什么字幕,播放时就能选什么。内封的 PGS、VobSub 位图轨也能渲染,不只是文本轨。
反过来说,如果你要的是「客户端自己刮」的那套玩法——比如片库其实躺在 SMB 共享里,Jellyfin 只是为了个海报墙——那可以看看不架服务器的海报墙,那篇算了一笔账:多数人架服务端只为两件事,而这两件事客户端能自己办。
常见问题
Jellyfin 会出官方鸿蒙版吗?
截至本文更新没有公开消息。Jellyfin 是社区驱动的开源项目,客户端历来由不同的人分头做,所以变数比闭源产品大一些。有进展会更新本文。
我同时有 Emby 和 Jellyfin,能都接进来吗?
可以,两个源并存,条目会一起出现在同一个媒体库里。同一部片在两边都有的话,展示层会折叠成一条主版本,其余进详情页的版本菜单。
播放靠服务端转码吗?
不靠。应用取到片源后由本机解码播放:系统 AVPlayer 永远首选(硬解、低功耗、支持画中画),系统解不了的冷门格式自动切内置的 libmpv 软解引擎接管,再不行还有 FFmpeg 转码桥兜底,切换发生在起播那一刻,界面上是同一个播放器。所以放不动通常是带宽或编码的问题,不是服务器 CPU 的问题。
HDR 片源呢?
能播,但当前版本不做 HDR 送显,画面以 SDR 呈现。这一项还在验证中,不做承诺。杜比视界片源同理。
在外网能连吗?
要你自己解决外网访问——端口映射、DDNS、VPN 之类都行,播放器只要地址通就能用。建议顺手给服务端配上 HTTPS:只开明文 HTTP 时鸿蒙的网络策略可能拦下请求,自签证书同样会被拦,应用会明确提示是这个原因。
智慧屏上能用吗?
原生鸿蒙(API 20 及以上)的智慧屏可以安装,整套界面按十英尺距离重排,遥控器方向键走焦;存量安卓底座与 LiteOS 旧款不在支持范围。
相关阅读:鸿蒙有 Emby 客户端吗(三家字段对照与排查)、Emby、Jellyfin、Plex 怎么选、不架服务器的海报墙。