欲哭无泪!Emby突然罢工,无奈又转回了Jellyfin!关于Jellyfin设置的一些查漏补缺
上回书说到折腾了一番我利用Rock5b开发板搭建的NAS,因为eMMC存储被撑爆而无奈另起炉灶,建起了Emby环境,还拿到了小金标。
Emby一直以来运行得都很正常,毕竟是付费软件,比起Jellyfin而言,要稳定很多。但是,Apple在9月份推出的新系统改变了一切,升级后手上的iPhone 14开始频繁无响应自动锁定,直到恢复默认设置后才逐渐恢复正常。而家里的播放器在升级后,Emby客户端播放电影时无法正常加载中文字幕,显示方块,且画面出现明显卡顿,但是切换回英文字幕又一切正常。
一开始我并没有觉得是苹果系统升级的原因,因为播放器是自动升级无感的。
于是按照经验重装Emby APP未果,然后怀疑是不是Emby的当前版本4.7.14.0太低。于是,按照哔哩哔哩上大佬共享的资源(原文地址),重新安装了最新版Emby,命令如下:
sudo docker run -d
--name=emby
-e PUID=1000
-e PGID=1000
-e TZ=Asia/Shanghai
-p 8096:8096
-v /srv/dev-disk-by-uuid-91b16c01-2496-4993-aeee-a99c21d83597/share/appdata/emby/config:/config
-v /srv/dev-disk-by-uuid-91b16c01-2496-4993-aeee-a99c21d83597/share/resources/tv:/tv
-v /srv/dev-disk-by-uuid-91b16c01-2496-4993-aeee-a99c21d83597/share/resources/movie:/movies
-v /opt/vc/lib:/opt/vc/lib
--add-host api.themoviedb.org:13.224.161.90
--add-host api.themoviedb.org:13.35.67.86
--add-host www.themoviedb.org:54.192.151.79
--add-host api.themoviedb.org:52.85.247.30
--add-host api.themoviedb.org:52.85.247.33
--add-host api.themoviedb.org:52.85.247.69
--add-host api.themoviedb.org:52.85.247.81
--device /dev/dri:/dev/dri
--device /dev/vchiq:/dev/vchiq
--device /dev/video10:/dev/video10
--device /dev/video11:/dev/video11
--device /dev/video12:/dev/video12
--restart unless-stopped
--privileged
linuxserver/emby:latest
下载解压文件到embyserver目录中的system里,重启emby服务,进入emby服务端设置,在Premiere Key中随便输入字符确定即可完成本地验证。 注意目录是在Docker中,需要进入Docker后执行拷贝覆盖操作。
随后在浏览器内终端(F12)执行 window.location.reload(true);
可以看到已经升级到最新版本,且有金标。

但是问题依旧存在,后来我查看了设置才想到可能是升级后带来的问题。
可是我不能坐以待毙,等待emby推出新的APP,毕竟看电影是无论如何不能断的。
所以我最终决定,转回Jellyfin!
Rock5b是ARMV8架构,所以只能选择官方的Jellyfin镜像安装。
sudo docker run -d
--name=jellyfin
-e PUID=1000
-e PGID=1000
-e TZ=Asia/Shanghai
-e JELLYFIN_PublishedServerUrl=192.168.1.66
-p 8097:8096
-p 8921:8920
-p 7359:7359/udp
-p 1900:1900/udp
-v /srv/dev-disk-by-uuid-91b16c01-2496-4993-aeee-a99c21d83597/share/appdata/jellyfin_cache:/cache
-v /srv/dev-disk-by-uuid-91b16c01-2496-4993-aeee-a99c21d83597/share/appdata/jellyfin_metadata:/metadata
-v /srv/dev-disk-by-uuid-91b16c01-2496-4993-aeee-a99c21d83597/share/appdata/jellyfin:/config
-v /srv/dev-disk-by-uuid-91b16c01-2496-4993-aeee-a99c21d83597/share/resources/tv:/tv
-v /srv/dev-disk-by-uuid-91b16c01-2496-4993-aeee-a99c21d83597/share/resources/movie:/movie
-v /srv/dev-disk-by-uuid-91b16c01-2496-4993-aeee-a99c21d83597/share/resources/music:/music
-v /srv/dev-disk-by-uuid-91b16c01-2496-4993-aeee-a99c21d83597/share/resources/downloads:/downloads
--device /dev/dri:/dev/dri
--restart unless-stopped
jellyfin/jellyfin:latest
注意这里 -v /srv/dev-disk-by-uuid-91b16c01-2496-4993-aeee-a99c21d83597/share/appdata/jellyfin_cache:/cache的参数是为了将缓存数据存储在我的数据盘上,而非系统盘上。Jellyfin会将转码的缓存数据保存到/var/lib/jellyfin中,占用大量空间。
安装的时候疏忽了,没有加上add-host参数,因为国内的特殊情况,无法刮削电影信息。
无法刮削的症状是这样的,添加了媒体库之后,只会显示1、2部电影,但是搜索电影名可以正常显示。这个问题很具欺骗性,Jellyfin的机制是只有刮削成功才会在默认媒体库视图里显示。

我在国外Jellyfin论坛搜索了好久也没有人遇到类似问题,因为国外不存在特殊情况啊。
解决方法有两种,要么重装Jellyfin加上参数,要么使用MetaShark插件,从豆瓣抓取信息。
具体的步骤如下:
点击我的插件——存储库,点击+号新建存储库。
添加插件存储库:

确认Json地址添加到存储库中。

MetaShark为Active状态。

进入控制台 -> 媒体库,点击任一媒体库进入配置页,在元数据下载器选项中勾选MetaShark,并把MetaShark移动到第一位。


同理也可将图片获取程序改为MetaShark。

配置完成后,所有媒体库的电影信息即可被刮削且正常显示。

顺便把Jellyfin的硬件加速功能也启用了。

完成后,Jellyfin App可以正常播放高清电影了。
准备在未来一段时间内保持Emby和Jellyfin两个Docker同时存在,等待Emby的客户端的下一个版本更新。播放效果上,两者看不出什么差别。但是Jellyfin对于字幕文件的兼容性略差一些,有些ass字幕文件无法显示。
已经修改了字幕设置如下:

并进入容器安装字体。
docker exec -it jellyfin /bin/bash
apt update
apt install fonts-noto-cjk-extra
为了避免字幕显示方块,也可以启用备用字体。

将mysh.woff2(微软雅黑)字体文件拷贝到数据盘上,并重启Jellyfin Docker。

播放ass字幕时还是有明显卡顿,看来Jellyfin确实需要折腾的地方比较多,新手要弄成一个完美配置有一定的难度。

校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案