使用 Jellyfin 搭建二次元媒体库
10 年前,叔叔开始购买版权,打开屑站就能随时随地同步追番。
10 年后,即使你“游泳”到港澳台地区,你也只能看到少量蜜汁和谐过的内容。
至于大冤种会员?哦,他们只能看三体动画
为什么用 Jellyfin
其实最开始垃圾瓢虫安利的是 Emby,但是这公司似乎是掉到钱眼里面了:
- 在不同的设备上播放都需要内购
- 下载文件到本地离线播放需要内购
- 硬件解码也需要内购
就很离谱,不想每个平台都买?那你得订阅 Premiere(我现在还不能理解为何这点功能能卖 $54 一年)
为了恰烂钱,甚至把他们的代码闭源了
而 Jellyfin 是 Emby 3.5.2 版本的一个开源 Fork,自由且免费。
Jellyfin seeks to continue development of the original Emby project with a Free Software ethos. It is committed to bringing all its users access to the best possible Media System, developed entirely by a community of volunteers who contribute code, documentation, translations, and support to the project.
《About Jellyfin》
Jellyfin 安装很简单,可以用 Docker,可以直接下载运行,而我的选择更简单——AUR
毕竟是 .NET 开发的软件,对运行环境没有依赖,直接交给 systemd 管理即可
搭建媒体库
由于 NAS 本身数据都在 ZFS 上,就直接开了一个 Jellyfin 的 Data Set,关闭了压缩和去重。
官方给的目录结构要求:https://jellyfin.org/docs/general/server/media/shows
1 | Shows |
这类个人推荐使用 Root > (Series) > (Season) > (Episode).xxx
的结构,可以降低元数据拉取的难度。
动漫的来源主要有 3 类:
- 新番订阅类,个人比较常用的是 mikanani.me
- BT / 离线下载,主要是下载一些压制好的老番,甚至准备了一个专门运行这类奇怪下载器的服务 apps.kookxiang.cloud (限内网)
- 一部分 PT 站下载的内容
其中 1 2 比较简单,直接配置下载目录到媒体库中,或者下载后移动过来即可
3 的话略微麻烦一点,需要保留一份原始结构用于挂种,之前我用的 ZFS 自动去重,现在更推荐走软连接
拉取番剧的元数据
Jellyfin 最大的问题是内置的几个数据源对动漫支持非常差,基本上只有像名侦探柯南这种才可能有元数据。
其实也还行,不过搜索的时候最好用日文名去搜,我现在是 Bangumi + TMDB 双持了
好在 C# 我也会一点,于是整了个 bgm.tv 的数据源插件:
https://github.com/kookxiang/jellyfin-plugin-bangumi
安装后在媒体库设置中勾选 Bangumi 这个数据源就能用上。
这个插件核心功能之一是自动识别集号,还记得官方的命名要求吗?文件名得有 [E01]
[S01E01]
这样的内容才行。
实际上国内字幕组在命名的时候五花八门,有 番剧名 - 01
,有 [番剧名][01]
……
而且还会在文件名里带上奇怪的内容,比如 [1080P]
[10bit]
[h264]
还有部份文件名带了 CRC32 Hash 的。
直接带来的问题就是在默认情况下 Jellyfin 会识别成第 1080 集等奇怪的集数,一个个重命名过于麻烦,且对于 RSS 这类自动下载文件名的需要手动修改就更麻烦了。
所以插件内内置了几个常见的正则,涵盖了上面的几种情况,可以自动识别出正确的集号返回给 Jellyfin。
此外插件还会使用 bgm 上的评分和标签数据,这样界面上显示的评分和推荐视频会更科学。
别忘了登录授权下,这样能自动推送观看进度(自动点格子)
在各种设备上观看
搭建好 Jellyfin 以后就可以直接在网页版看了,不过受限于浏览器,能够硬解的内容实在少得可怜,还是更推荐使用客户端看。
另外为了提升服务端上转码效率,我给 NAS 插上了矿潮时斥巨资 ¥450 购买的半高 GeForce GTX 1050 Ti
装上 nvidia-dkms 以后重启服务器,后台启用 NVENC 转码即可
如果还想折腾,可以打下破解补丁,解除消费级显卡上的 NVENC 数量限制
https://github.com/keylase/nvidia-patch/
MPV + Anime4K + SVP4
这里必须安利 jellyfin-mpv-shim 这个官方项目。
它的原理十分简单,在 Jellyfin 上选择投屏到它播放后,它就会自动调用 MPV 进行播放。
由于是走的投屏,可以使用手机登录 Jellyfin 进行远程控制,我这种床头吊显示器的用户表示爽翻了。
jellyfin-mpv-shim 自带的 MPV 已经内置了 Anime4K 的支持,按回车键进入菜单后选择对应的 Profile 即可。
MPV 也是能够用上 SVP 的插帧能力的,不过 jellyfin-mpv-shim 已经内置了支持,参考 readme 打开开关并配置使用 SVP 安装目录下的 MPV 就行了。
PS:这套方案我也在 macOS 上跑通了,但是 Macbook Pro 的性能…… 此外还要占用一个 SVP 授权,咕咕咕了
Infuse
之所以这几个放在一起说,是因为 Infuse 时苹果生态中最好用的媒体库软件,我的 iPhone / iPad / Apple TV 都用它。
如果你看的内容不涉及 4K HDR 以上的话理论上是不需要订阅的,不过它是在我 Apple TV 上唯一能正常播放杜比全家桶 Demo 还非常流畅的。
使用非常简单:新增文件来源中点击最下面的添加,菜单中直接可以添加 Jellyfin。
体验
访问我的媒体库主要有 3 种方式:
- 如果你能收到 10.8.1.0/24 路由,那么你可以内网直接访问
- 可以通过 Cloudflare 中继访问,需自备梯子
- 可以通过腾讯云服务器中转,目前只有 5M 带宽,可能会卡
如果你想体验一下,可以联系我获取地址
使用 Jellyfin 搭建二次元媒体库
https://kk.sb/2023/use-jellyfin-to-organize-anime-library.htm