创作立场声明:Jellyfin用户,没用过Emby,Plex等。欢迎大家在评论区互相友好交流,谢谢!
大家好呀!
这是我第一篇文章,写的不好请大家多多包涵。
相信大家很多人都升级到了jellyfin 10.7。 我本人也是一直在关注10.7什么时候上市,因为想体验一下浏览器或者jellyfin官方app播放HDR。众所周知Jellyfin 10.6.4是不支持HDR->SDR的颜色映射的。那个效果,用过的都知道,HDR视频都是灰蒙蒙的一片。当我迫不及待的升级到10.7,并且打开了OpenCL颜色映射的时候,我人直接傻了。4K HDR HEVC -> 720p 4Mbps你告诉我只有18fps。这看个毛线啊。Jellyfin控制台里还有一个选项是VPP颜色映射,但我当时是docker里跑的jellyfin/jellyfin镜像生成的容器,打开这个选项就不能播放了。没办法,我当时也懒得折腾,反正大多是情况都是电视上Kodi硬解,或者iOS上用infuse播放,jellyfin只负责一个刮削的功能。等到了10.7.1我又升级了,结果还是十几fps。经过不断地折腾,看官方的documentation和reit上找资料,我终于折腾出来了VPP颜色映射,4K HDR HEVC -> 1080p 20Mbps可以有50+fps,外网播放从此非常的舒服。下面废话不多说,直接开始教程。
设备介绍:
: QNAP TS-453Dmini ( J4125 核显应该是UHD600吧), 开启Container Station的docker,linuxserver/jellyfin:latest镜像,portainer/portainer:latest (可选)。所以本教程适用于大部分x86-64带核显NAS设备。
具体步骤:
1. 首先安装linuxserver/jellyfin。如果你像我一样以前使用的是jellyfin/jellyfin镜像因为linuxserver/jellyfin镜像开启硬件加速转码会花屏,请不要担心,本教程切换到linuxserver/jellyfin后会在打开VPP映射的同时,解决屏幕花屏。这一步有一下两种变式:
a. 如果是使用jellyfin/jellyfin镜像并且有portainer的朋友,并且之前配置了tmdb的host不想重建的可以直接在portainer的edit/duplicate里将镜像改为linuxserver/jellyfin然后deploy。
b. 想重新安装/新安装的方法。
在威联通的Container目录下新建一个叫jellyfin的文件夹。如果这里之前有这个文件夹的话把它清空。使用这段命令安装:
docker run -d --name jfl --add-host=image.tmdb.org:65.8.49.12 --add-host=image.tmdb.org:65.8.49.19 --add-host=image.tmdb.org:65.8.49.49 --add-host=image.tmdb.org:65.8.49.128 --add-host=api.themoviedb.org:54.230.18.34 --add-host=api.themoviedb.org:54.230.18.44 --add-host=api.themoviedb.org:54.230.18.80 --add-host=api.themoviedb.org:54.230.18.129 --device=/dev/dri:/dev/dri --restart always -e PUID=$UID -e PGID=$GID -p 8096:8096 -p 8920:8920 -v /share/Container/jellyfin:/config -v [你资视频资源库的路径]:/media linuxserver/jellyfin:latest
这里我加上了themoviedb最新的ip地址,这样可以使得themoviedb正常刮削。如果设置完成之后发现不能刮削,去ipaddress.com搜索上面两个网址最新的ip地址,将上面的ip进行替换。
2.安装好jellyfin之后,我们需要手动更新intel的核显驱动,解决花屏和打开VPP。
a. 有portainer的朋友按这个方法进入容器的终端:
b. 没有portainer的朋友,先ssh到NAS。输入这个命令去打开这个container的终端:
docker exec -it jfl /bin/bash
如果提示没有权限,请在这句话最前面加上sudo。如果你的容器的名字不是jfl,请将jfl替换成你容器的名字。
这一步之后不管你是portainer还是内置终端都已经到了容器的终端,所以后面的步骤都一样。
一句一句的执行下面的命令(不要输入两行之间的东西,那些是说明这个命令是干嘛的,或者告诉你要等到什么时候)。
echo 'deb http://archive.ubuntu.com/ubuntu hirsute main' > /etc/apt/sources.list.d/hirsute_main.list
echo 'deb http://archive.ubuntu.com/ubuntu hirsute universe multiverse' > /etc/apt/sources.list.d/hirsute_universe.list
这两步是添加两个ubuntu的源,这样才可以下载驱动
apt update
更新源的目录,等更新完再执行下一步
apt install -y intel-media-va-driver-non-free vainfo
下载安装驱动
完成之后输入vainfo,查看是否是这个效果
到这里就已经差不多完成了,接下来进入jellyfin进行设置。新安装jellyfin的用户可以参考其他人的教程把jellyfin的普通设置设置好。
接下来进入控制台->播放。如果你也是J4125的话可以和我一样把这些全部钩上。其他带核显的CPU要自行判断自己的U可以解码那些格式,或者也可以全部钩上,有东西播放不了再勾掉。
其实也可以选择VAAPI,但是国外论坛上说Intel Quick Sync应该是快一些。VAAPI的话不要勾选 启用色调映射, 只勾选 启用VPP色调映射。(不能启用色调映射因为linuxserver/jellyfin镜像缺少两个驱动。在jellyfin/jellyfin镜像下可以开启,但是核显的效果非常的差,720p只能18fps的样子)。
至此,你就可以快乐地在SDR屏幕上通过转码播放HDR视频了,给大家看几张转码效率的图
写在最后:
目前Jellyfin还是有些bug的,比如部分4K视频无法进行转码,
然后每次re-deploy容器(升级jellyfin呀或者themoviedb无法刮削了 更新了host)都需要重新更新那个驱动,一直到linuxserver/jellyin镜像自带21.1.1的驱动为止。
给好奇的人:
为啥要用linuxserver/jellyfin?
linuxserver/jellyfin 基于的是Ubuntu 20.04的环境。目前全网只有Ubuntu源有3个intel-media-va-driver-non-free的驱动。jellyfin/jellyfin的环境是基于某种debian的,debian那边只有两个unstable的intel-media-va-driver-non-free,我安装过都不能正常转码,然后安装ubuntu的也不行,所以除非你能自己编译intel-media-va-driver-non-free,还是建议转到linuxserver/jellyfin。貌似有些什么值得买上的文章使用的是其他的驱动(有一篇基于proxmax的),那个可能也行。
sources:
jellyfin官方教程
reddit
本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com
本文链接:http://zleialh.tongchengxian.cn/news/8240.html
有话要说...