Jellyfin 是免费开源自建媒体服务器,可把硬盘上的影视音乐整理成带海报和简介的媒体库,支持多端播放、多用户和硬件转码。文章详解安装前准备、iStoreOS 应用商店安装、首次初始化、豆瓣刮削及 OpenWrt Docker 部署,强调规范命名和配置路径。按步骤操作即可搭好家庭影音库。
硬盘里存了几百部电影,用的时候还是得插到电脑上、翻文件夹、找那个名字像乱码的 mkv——这是很多人「自建影音库」失败的原因:文件有了,但没有一层像样的界面。Jellyfin 补的就是这一层:扫描硬盘、自动刮削海报和简介、生成海报墙,手机、电视、平板、浏览器都能直接点开看。
这篇从「它是什么、能干什么」讲到安装、初始化、刮削、硬解、远程观看和命名规范,iStoreOS 走应用商店,原版 OpenWrt 走 Docker,每一步都写到能照着做。系统还没装的,先看 iStoreOS 安装教程。
一、Jellyfin 是什么
Jellyfin 是一套开源、免费、完全自建的媒体服务器。它不管你的片子从哪来,只负责:把你硬盘上的视频、音乐、照片整理成一个有海报、有简介、有分类的媒体库,再通过网页或客户端播出去。
和几个常见方案的区别:
| 方案 | 费用 | 特点 | 不足 |
|---|---|---|---|
| Jellyfin | 免费开源 | 功能完整、无会员、无硬件绑定、可硬解转码 | 刮削依赖 TMDB,国内网络要额外处理 |
| Emby | 部分功能收费 | 客户端成熟、硬解强 | 硬解、离线下载等要开会员 |
| Plex | 订阅制 | 生态最好、远程访问省心 | 远程播放逐渐要会员,账号在官方服务器 |
| 直接插硬盘播放 | 免费 | 零配置 | 没海报、没分类、多设备麻烦 |
一句话:想要「像 Netflix 一样的界面,但片源在自己硬盘上」,就用 Jellyfin。
二、它能用来做什么
1. 海报墙
扫描媒体库后自动抓取封面、评分、简介、演员、上映年份,按「最近添加」「类型」「演员」分类展示。这是它最直观的价值。
2. 多端播放
同一套库,浏览器、手机、平板、电视盒子、Apple TV 都能看,进度还能同步——在客厅看到一半,回卧室用手机接着看。
3. 多用户与家长控制
可以给家里人各建一个账号,分别记录观看进度,还能给儿童账号限制分级和可见的媒体库。
4. 硬件转码
老片是 H.264,新片是 HEVC / AV1,手机浏览器只认一部分格式。Jellyfin 能把不支持的格式实时转成能播的,用核显硬解时 CPU 占用很低,中端软路由也能同时带几路。
5. 字幕与音轨
支持外挂 srt、ass,支持内封多音轨切换。中文字幕、国语/原声可以随时切。
6. 音乐与照片
除了影视,音乐库(专辑封面、歌手分类)和家庭照片也能一起管。
7. 电视直播与录制(进阶)
配合 IPTV 源或电视卡,可以做直播和定时录制(DVR)。这一块配置复杂,本文不展开。
三、装之前要准备什么
1. 一块挂好载的硬盘
媒体文件必须放在已经挂载的磁盘上。iStoreOS 后台 → 系统 → 挂载点,确认硬盘挂在 /mnt/sda1 这类路径下,并且重启后能自动挂载。
硬盘还没分区、空间不够的,先看 OpenWrt 磁盘扩容教程。
2. 给 Docker 留足空间(关键,很多人卡在这)
iStore 上的 Jellyfin 是 Docker 应用。iStoreOS 默认的 Docker 根目录在系统盘上,可用空间往往只有几百兆,Jellyfin 镜像两百多兆,装到一半就失败。
做法:在硬盘上建一个目录,把 Docker 根目录改过去。
- 先在 SMB 共享目录里新建
docker文件夹 - iStoreOS 后台 → Docker → 配置 → Docker 根目录,填
/mnt/sda1/docker - 保存并应用,回概览页确认可用空间已经变大
Docker 的网络模式和挂载细节,可以对照 iStoreOS Docker 教程。
3. 把片子按规范放好(很重要)
Jellyfin 靠文件名识别影片。名字乱写,海报墙就是一堆「未知影片」。最低要求:
| 类型 | 推荐结构 |
|---|---|
| 电影 | /media/movies/流浪地球 (2019)/流浪地球 (2019).mkv |
| 剧集 | /media/tv/怪奇物语 (2016)/Season 01/怪奇物语 S01E01.mkv |
| 动画 | 同剧集,用 S01E01 编号 |
| 音乐 | /media/music/歌手/专辑/01 - 曲名.flac |
记住三点:年份加括号、剧集用 SxxExx、文件名和文件夹名一致。规范化的整理一次,后面省很多事。
4. 一台性能别太差的机器
纯直连播放(客户端能直接解码)对 CPU 几乎没要求,ARM 盒子、N100 都够。要做实时转码,Intel 核显(QSV)体验最好;AMD 和 ARM 的硬解支持有限,容易退化到 CPU 软解。
四、在 iStoreOS 上安装
iStoreOS 把 Jellyfin 做成了带图形配置的应用,不用敲命令。
1. 打开 iStore 应用商店
后台 → 左侧 iStore → 全部软件,搜索 Jellyfin。条目名是「Jellyfin私有影院」,点 安装。
2. 填写配置(安装前就要填)
这个应用会在安装前让你填四个路径,都是容器内的映射关系,别填错:
| 字段 | 填什么 | 说明 |
|---|---|---|
| 媒体文件路径 | /mnt/sda1/media |
你的片子所在目录,会映射到容器内 /media |
| 配置数据路径 | /mnt/sda1/jellyfin/config |
默认在 /root,一定要改到硬盘,否则重装系统配置全丢 |
| 转码缓存路径 | /mnt/sda1/jellyfin/cache |
可不填,填了能减少系统盘写入 |
| 端口 | 8096 |
默认值,被占用再改 |
/root。iStoreOS 升级或重装时 /root 可能被清空,媒体库、用户、观看记录全部要重来。3. 选择网络模式并安装
安装界面里有 宿主网络(host 网络)选项,勾上。用 host 模式,局域网内客户端能自动发现服务器,DLNA 也能用。
点安装,等它拉镜像。镜像两百多兆,网速一般要几分钟,界面上会有进度。
4. 打开 Jellyfin
安装完回到 iStore 的「已安装」或后台 服务 → Jellyfin,点 打开,会跳到 http://路由器IP:8096。
五、首次初始化:六步走完
第一次打开是设置向导,跟着点就行。
1. 选择显示语言
下拉选 简体中文。这一步只影响后台界面,不看也能改。
2. 设置管理员账号
填用户名和密码,密码建议别用弱口令——后面要开远程访问的话,这就是唯一一道门。
3. 添加媒体库
点 添加媒体库:
- 内容类型:电影 / 节目(电视剧)/ 音乐,按你的目录选
- 显示名称:随便起,比如「电影」「剧集」
- 文件夹:点 + 号,路径选
/media(就是安装时映射进来的那个目录)。新固件也可以直接选/mnt下挂载的磁盘
4. 设置元数据语言
向下找到 首选下载语言 选 Chinese,国家/地区 选 China。这两项决定了海报和简介抓哪种语言,不设的话简介全是英文。
5. 刮削器保持默认
默认勾选的是 TheMovieDb 等,不用动,直接下一步。
6. 完成并登录
点「完成」,等它扫描。扫描进度在 控制台 → 计划任务 里能看到。扫完回首页,海报墙就出来了。
六、豆瓣刮削器(国内网络建议装)
Jellyfin 默认走 TMDB,国内直连经常超时,结果是「有片子没海报」。装豆瓣插件是成本最低的解法。
1. 下载插件
在 iStoreOS 官方文档里能找到豆瓣刮削插件的下载地址,下下来是一个插件文件夹(一般叫 Douban)。
2. 放进配置目录
把文件夹放到你安装时设置的配置数据路径下的 plugins 目录,也就是:
/mnt/sda1/jellyfin/config/plugins/
开了 SMB 共享的话,在 Windows 资源管理器里打开 \路由器IP,进到 sda1/jellyfin/config/plugins 直接拖进去就行。
3. 重启 Jellyfin
回 iStore 或 Docker 里把 Jellyfin 容器重启一次,后台 控制台 → 插件 里就能看到 Douban。
4. 调整刮削顺序
进 控制台 → 媒体库 → 选中你的电影库 → 管理媒体库 → 在「元数据下载器」「图像获取器」里勾上 Douban,并拖到第一位。
5. 重新扫描
回媒体库点「扫描媒体库」,让它重新抓一遍元数据。
七、在原版 OpenWrt 上用 Docker 部署
不是 iStoreOS 也能装,用官方镜像起一个容器即可。
1. 建目录
mkdir -p /mnt/sda1/jellyfin/config /mnt/sda1/jellyfin/cache /mnt/sda1/media
2. 启动容器
docker run -d
--name jellyfin
--net=host
--restart=unless-stopped
-v /mnt/sda1/jellyfin/config:/config
-v /mnt/sda1/jellyfin/cache:/cache
-v /mnt/sda1/media:/media
--device=/dev/dri:/dev/dri
jellyfin/jellyfin:latest
3. 参数说明
| 参数 | 作用 | 要不要改 |
|---|---|---|
--net=host |
用宿主机网络,客户端能自动发现 | 保留 |
-v .../config:/config |
配置、用户、媒体库元数据 | 换成你的硬盘路径 |
-v .../media:/media |
片子目录 | 换成你的媒体路径 |
--device=/dev/dri |
把核显透传给容器,用于硬解 | 有 Intel/AMD 核显就加 |
--restart=unless-stopped |
重启后自动拉起 | 保留 |
4. 确认核显已经透传
ls -l /dev/dri/
能看到 renderD128 就说明核显在。没有的话检查 BIOS 里核显是否开启,或者换个带核显的平台。
5. 打开并初始化
浏览器访问 http://路由器IP:8096,走第五节的六步。
八、客户端与播放
1. 各平台客户端
| 平台 | 客户端 | 说明 |
|---|---|---|
| 电脑 / 局域网 | 浏览器 | 直接开 IP:8096,最省事 |
| Android | Jellyfin 官方 APP | 支持直连和转码 |
| iOS / iPadOS | Swiftfin、Infuse | Infuse 播放能力更强,收费 |
| Android TV / 盒子 | Jellyfin for Android TV | 遥控器操作,体验最好 |
| Apple TV | Swiftfin | – |
| Kodi | Jellyfin 插件 | 把 Jellyfin 当片源 |
2. 直连还是转码
客户端能直接解码,服务器就只负责传文件,CPU 几乎不干活,这叫直接播放。触发转码的常见情况:
- 视频编码不被支持(浏览器放 HEVC、AV1)
- 音频是 DTS / AC3,浏览器解不了
- 字幕是图片型(PGS)或特效 ASS,需要「烧」进画面
- 客户端设置的码率上限低于片源码率
想少转码,就选支持格式多的客户端(Infuse、Kodi、Android TV 版),字幕优先用外挂 srt。
3. 字幕
最常见的问题是乱码:外挂 srt 如果是 GBK 编码,Jellyfin 可能读成乱码。用文本编辑器另存为 UTF-8 即可。文件名和视频同名、放同一目录,就会自动挂上。
九、硬件加速怎么开
iStoreOS 那个 Jellyfin 镜像已经预配好硬解,装完不需要再动「硬件加速」选项——官方文档明确写了这点。
用 Docker 自己装的,需要手动开:
- 控制台 → 播放 → 转码
- 硬件加速 选
Intel QuickSync (QSV)或VAAPI - 勾选 启用硬件解码,编码同样勾上
- 下方把 HEVC、H.264、VP9 等常用编码都勾上
- 保存后随便播一个高码率片子,在控制台「活动」里看是不是显示
(hw)
十、远程观看
在家看很简单,外网看要解决「怎么连进来」。三种方案:
1. DDNSTO(最简单)
iStore 里装 DDNSTO,给 8096 端口加一个域名,外网通过 HTTPS 域名访问。免费套餐带宽有限,适合偶尔看看,别指望流畅播 4K。配置见 iStoreOS DDNSTO 教程。
2. IPv6 + DDNS(速度最好)
现在的宽带基本都有公网 IPv6,给路由器配个域名,外网直接用 https://域名:8096 访问,带宽就是你家上行,看 1080P 没问题。前提是光猫和防火墙放行对应端口。
3. 组网(最省心)
Tailscale、ZeroTier 这类点对点组网,手机装个客户端就相当于回到家里局域网,不用管端口和域名。适合长期在外使用。
十一、常见问题
1. 装到一半失败,提示空间不足
Docker 根目录还在系统盘。按第三节把 Docker 根目录改到 /mnt/sda1/docker,再重装。
2. 媒体库扫出来是空的
- 路径填错:容器里看到的是
/media,不是/mnt/sda1/media - 权限问题:容器用户读不到文件,检查目录权限
- 文件扩展名不在支持列表里(比如
.rmvb有时识别不到)
3. 有片子没海报
先看文件名是否符合规范(年份要带括号),再看 TMDB 能不能连通。国内网络建议按第六节装豆瓣插件。
4. 海报是英文的
媒体库的「首选下载语言」没设成 Chinese,或者设置后没有重新扫描。改完要手动触发一次「扫描媒体库」。
5. 播放很卡、CPU 100%
在看转码而不是直连。去控制台「活动」里看播放状态:如果是 (hw) 说明硬解在跑;如果没标就是软解,检查硬解有没有开、/dev/dri 有没有透传。
6. 字幕乱码
srt 是 GBK 编码。用记事本另存为 UTF-8,或者用 Subtitle Edit 转一下。
7. 时间显示不对
容器时区没设。iStore 应用一般自动处理;Docker 手动装的话加一个环境变量 -e TZ=Asia/Shanghai,或者挂载 /etc/localtime。
8. 忘记管理员密码
停掉容器,删掉配置目录里的 data/jellyfin.db 会重置所有数据(不建议)。更稳的做法是进配置目录找密码重置文档,或者重建一个管理员账号。
9. 换了硬盘,媒体库全红
挂载路径变了。把新盘挂到原来的路径(比如还是 /mnt/sda1),或者在媒体库里重新指定文件夹。
十二、总结
整个流程:挂硬盘 → Docker 扩容 → iStore 装 Jellyfin(填三个路径 + 8096)→ 初始化设中文和账号 → 添加 /media 媒体库 → 装豆瓣插件补刮削。
真正决定体验的是三件事:文件名规范、刮削能不能连通、播放是直连还是转码。这三件处理好,N100 级别的软路由也能撑起一个像样的家庭影院;处理不好,再强的 CPU 也是一堆「未知影片」。
装完之后如果还想继续折腾,这几篇可以接着看:
- iStoreOS Docker 教程:3 种安装、4 种网络、3 种磁盘位置——Jellyfin 就是跑在 Docker 上的,扩容和挂载全在这篇。
- OpenWrt 磁盘扩容教程:5 种方式一步步操作——影音库吃空间,先解决存储再谈海报墙。
- iStoreOS DDNSTO 教程:路由远程访问安装与网络配置——在外面也能打开家里的 Jellyfin。
- iStoreOS 网络插件盘点:DNS、去广告、穿透与 VPN——组网、穿透方案一次看全。
- 文章名称:软路由 Jellyfin 私有影院安装与配置教程
- 文章永久网址:https://www.997wan.com/jellyfin-private-cinema-install-guide/
- 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长 997笔记 进行删除处理。
- 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
- 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
- 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
- 如无特别声明本文即为原创文章仅代表个人观点,版权归《997笔记》所有,欢迎转载,转载请保留原文链接。