返回 小玩具
小玩具
5 分钟阅读

基于 Jellyfin 的家庭媒体库搭建

在 NAS Docker 上部署 Jellyfin 服务端,并对比各平台客户端的选型与接入方案

概述

Jellyfin 是一款开源、免费的媒体服务器软件,从 Emby 3.5 分支而来,不依赖订阅或许可证。它负责扫描本地媒体文件、提取元数据(海报、简介、演职员表等),并通过 HTTP API 向客户端提供流媒体播放能力。

与 Plex、Emby 等商业方案相比,Jellyfin 的核心优势在于完全自主可控:数据留在本地,无需绑定厂商账号,适合在家庭 NAS 或私有服务器上长期运行。

架构

整体采用典型的 C/S 架构:

┌─────────────┐     HTTP / HTTPS      ┌──────────────────┐
│  客户端 App  │ ◄──────────────────► │  Jellyfin Server │
│ (Vidhub 等)  │     8096 端口         │  (Docker @ NAS)  │
└─────────────┘                       └────────┬─────────┘
                                               │ 挂载卷
                                               ▼
                                      ┌──────────────────┐
                                      │  /media (电影库)  │
                                      └──────────────────┘
  • 服务端:运行在 NAS 的 Docker 容器中,媒体目录通过 Volume 挂载至容器内指定路径。
  • 客户端:各平台原生 App 或浏览器,通过局域网 IP + 端口访问服务端。

服务端部署

当前方案将 Jellyfin 直接部署在 NAS 的 Docker 环境中,并将预先规划好的 media 目录挂载为容器内的媒体库路径。Jellyfin 启动后会自动扫描该目录,按电影、剧集等类型建立索引。

Jellyfin 服务端管理界面

典型的 Docker 运行参数如下(路径需按实际 NAS 配置调整):

docker run -d \
  --name jellyfin \
  -p 8096:8096 \
  -v /path/to/media:/media \
  -v /path/to/config:/config \
  jellyfin/jellyfin:latest

首次访问 http://<NAS_IP>:8096 完成初始化向导,添加媒体库并指向 /media 即可。

客户端选型

Jellyfin 官方客户端覆盖主流平台,但在交互细节、转码策略和跨平台一致性上表现一般。以下是在实际使用中对比过的几款第三方客户端:

客户端平台优势局限
VidhubiOS / iPadOS / macOS / tvOS / Android界面成熟,跨 Apple 与 Android 生态;直连 Jellyfin API,播放体验流畅付费软件(终身授权约 ¥100+)
InfuseApple 全系解码能力强,支持 8K 与高码率片源仅 Apple 生态;订阅价格较高
SenPlayerApple 全系同时支持 Jellyfin 与 IPTV 源IPTV 体验不如专用播放器
官方客户端全平台免费,与服务器版本同步更新UI 与操作逻辑相对粗糙
浏览器任意零安装,适合临时访问无原生解码优化,高码率片源体验较差

Vidhub(推荐)

目前在 Apple 生态(iOS、iPadOS、macOS、tvOS)上功能已相当完善。2025 年初起也支持 Android 手机、平板与 TV,在以下设备上实测表现稳定:

  • Xiaomi 14 Pro(HyperOS 2.0)
  • 红米投影仪(HyperOS For TV)
  • Samsung Galaxy Tab S8(OneUI 7.0 For Tablet)

配置方式:在 App 中添加 Jellyfin 服务器地址(http://<host>:8096),登录账号后即可同步媒体库。

Infuse

适合对画质有更高要求的 Apple 用户。Infuse 内置强大的本地与网络解码引擎,可流畅播放 8K 与高码率内容。若终端设备不支持高规格输出,这一优势在实际场景中意义有限。此外,Infuse 不支持 Android,且采用订阅制,长期使用成本较高。

SenPlayer

可作为 Jellyfin 的备选客户端,额外支持 IPTV 直播源接入。若已有专用 IPTV 播放器(如 APTV),建议 IPTV 与点播分 App 使用,各取所长。

浏览器访问

无需安装客户端时,可直接通过浏览器访问:

http://<host>:8096

适合偶尔查阅媒体库或在未安装 App 的设备上临时播放,不建议作为日常主力方案。

效果预览

Jellyfin 客户端播放界面