本文最后更新于 2024-08-19,文章内容可能已经过时。

大家好,这里是Cherry,喜爱折腾、捡垃圾、玩数码,热衷于分享NAS、docker玩耍经验~

前言

本来打算写emby的,因为感觉emby开心版比jellyfin要好用一些。不过在部署过程中,发现2款emby的容器在R1上部署都有点小问题,于是便将目标专为N大 修订的jellyfin特供版。

n大的jellyfin最后一次更新已经是10个月前了,更新了av1的解码功能,这个功能被jellyfin官方引用,十分强悍了。

本文主要教大家如何在海康存储R1上部署jellyfin,并开启硬解,配置IPTV,解决ffmpeg版本问题以及中文字幕显示方块问题,整完以后应该是最强的完整版jellyfin了。

注:本教程全部NAS通用,涉及到环境变量的其它NAS在特权里对应界面开启即可。


# | 项目部署

1、配置docker镜像库

老规矩,首先扫码登录海康智存PC客户端,扫码登录。点击左下角的【智能生活】打开【docker】应用。
image.png

目前因为网络环境的问题,我们已经无法直连到docker.io服务了,不过好在还有很多可以用的镜像地址供我们使用。这里比较推荐的是1panel的地址。点击左下角的【Docker设置】——【镜像源设置】——【自定义】,输入URLhttps://docker.1panel.live,完成以后应用并重启。
image.png

2、拉取镜像并创建容器

参照路径【镜像管理】——【常用镜像】,下载nyanmisaka/jellyfin镜像。
image.png

下载完成以后,切换到【镜像管理】,选择刚才下载的镜像【创建容器】,名字的话,随便取一个,一般就用软件名称就行了。
image.png

存储空间主要是持久化存储和媒体库两个内容:一个是持久化存储的装置路径为【/config】,这个是固定不能变的,但是左侧的【文件/文件名】可以自定义;第二个是媒体库【/meida】,支持自定义,可以是【/data】、【/movie】都可以,左侧的【文件/文件名】就是我们在R1里存储影视资源的文件夹。
image.png

一般建议大家选到媒体库的根目录就可以了,这样内部可以根据子目录来识别,也很方便。
image.png

jellyfin一般的默认端口是8096/TCP,左侧的本地端口支持自定义。如果是ipv6用户,这里就不用设置了,我们直接走host就行了。
image.png

最关键的地方来拉, 要让emby支持ipv6和硬件,需要在环境中增加【–net】、【–device】这两个cli指令,可以参照我的图片里的内容设置。
image.png


系统使用

1、初始化

初次登录,语言选择为简体字。
image.png

自己设置一个超级管理员账号密码就行。
image.png

可以设置一个媒体库,如果不设置直接点下一步,后面也可以在控制台设置
image.png

一般来说,movie和tv shows是最常用的媒体库了,当然,emby也支持音乐、照片、MV等媒体库。
image.png

当新建一个媒体库的时候,我们需要增加路径,并且将元数据语言都修改为中文,方便刮削。
image.png

这里的路径选择刚才配置的【装置路径】,即【/media/电影或电视剧】。
image.png

2、设置硬解与转码

点击右上角【头像】,选择【控制台】
image.png

选择左侧的【播放】,在【硬件加速】下选择QSV或者VAAPI都可以。解码可以都选上,问题不大。
image.png

【编码器】的意思,就是将现有的存量影片进行压缩,默认为H264,对体积有要求的可以选择开始H265(HEVC)或AV1。
image.png

往下拉,关于恒定速率因子(CRF),是 越低画质越好体积越大,一般默认的就行了。编码线程可以控制在2或者3。
image.png

3、解决ffmpeg版本和中文字幕方块

关于ffmpeg版本的设置,jellyfin支持我们安装自定义的ffmpeg版本。ffmpeg是视频处理工具,我们通常的转码都是使用ffmpeg来实现的。字体文件同理,如果不配置的话,很有可能中文字幕会变成方块字(记得悬赏启用备用字体)。
image.png

我们可以把ffmpeg和中文字体,放到海康R1的jellyfin/config目录下,然后在jellyfin里就填入【/config/ffmpeg/ffmpeg】【/config/字体.tif】
image.png

4、开启IPTV直接看电视

jellyfin还有一个大功能,就是支持IPTV播放、录制。具体的操作之前cherry其实专门出过一篇文章,这里再整合一下。注:本文只提供方法,iptv地址不提供,请自行获取。
image.png

IPTV源,我们可以到恩山去找,也可以自己在家里通过路由器去抓,方法很多,这就不赘述了。
image.png

设置完iptv源之后,我们再来设置EPG(节目电子指南),其实就是小时候看报纸上的电视节目单,选择数据源为XmlTV格式。
image.png

EPG的地址也有很多,比较有名的就是51zmt的节目单,每天更新,很不错。
image.png

初次刷新EPG会需要一段时间,等刷新完成以后,我们就可以在jellyfin首页看到电视节目单了。
image.png

如果提示无法兼容的流类似的报错,大概率是iptv源是ipv6的,而容器没有ipv6地址,注意路由器给DHCP6,并且容器开启host
image.png

5、关于TMDB、豆瓣刮削以及各类插件

那有了媒体资料,怎么能没有海报墙呢~ 目前海报墙推荐大家使用豆瓣刮削,或者TMDB来实现。

1、关于TMDB刮削

我们要修改TMDb的host,主要要解析到对应的DNS,网址分别是下面四个

api.thetvdb.org
api.themoviedb.org
image.themoviedb.org
www.themoviedb.org

我们需要做的就是登录https://www.itdog.cn/dns, 然后输入网址,获取本地最优的DNS,然后配置在/etc/hosts下。 这里演示了api.thetvdb.org,返回的三网DNS都是192.241.234.54。
image.png

根据查询的结果,我们形成如下格式的记录

# 域名和IP之间用英文冒号分割,两头用英文引号圈起来
"api.thetvdb.org:192.241.234.54" 
"api.themoviedb.org:104.244.43.35"
"image.themoviedb.org:138.199.36.10"
"www.themoviedb.org: 3.160.150.117"

然后重新创建一下docker,除了最前面提到的环境变量,增加【–add-host】变量,每一行输入一个"域名:ip"的组合
image.png

2、关于豆瓣刮削及各类插件

可以看之前cherry发的一篇插件大全的文章,这里就不赘述了。

Jellyfin影视库插件推荐,各国小姐姐家装、豆瓣刮削、动漫刮削、皮肤美化…_软件应用_什么值得买 (smzdm.com)