更新2:nyanmisaka/jellyfin 最新版10.8.9刚刚发布,各位已经用上的朋友可以抓紧更新,在任何配置没有变化的情况下,编解码速度进一步提升,最后的对比截图有详细数据供各位参考哦。也很期待有Intle Arc显卡的朋友,试试这版,已经正式支持啦!)
以下是原文:
CPU:Intel i5-9500T(35w低功耗,UHD630核显,6核6线程,2.2G)
主板:ASRock B360M-HDV
内存:16G DDR4 *2
磁盘:三星 970pro 500G(老机器淘汰下来,主要是存放docker/虚拟机系统),直接喂给unraid用
BIOS:开启IGP优先,共享内存1024M(最大)
OS:Unraid 6.11.5
Emby:官方最新4.7.11.0 docker版,docker如何安装设置,色魔大牛文章到处都是哈。
看来,要搞定杜比视界的片源,emby可能真的不行,若有高手已经搞定,还请指点一二。接下来就是看看Jelllyfin是否可以搞定了。
Jellyfin作为emby3.5.2版本开始单独演变出的开源软件后,各种版本满天飞,好处是更新快,功能强,缺点就是初学者一头雾水,不知道选哪个版本才适合自己。其中作为Jellyfin代码官方贡献者之一的nyanmisaka(中国人,https://zhiyou.smzdm.com/member/4340858291/)也推出了适合国人的魔改版本,核心优势是内置CJK字库(解决媒体库封面无法显示中文),intel核显驱动(可以支持QSV模式下转码杜比视界Dolby Vision到SDR!!!),具体优势及如何安装,请移步到他的主页即可。目前最新版本10.8.8,官方版本是10.8.9,基本上无差别。
是不是觉得有了这个版本一键部署后就一劳永逸了?还真的是,基本上绝大部分的HDR视频都能流畅观看。只有一个悬念,高帧率的杜比视界片源是否可以搞定呢?毕竟我这个核显只是UHD630,和最新的intel UHD730/750/770或Xe核显的性能差距不小,比如下图这个片源,帧率50,动态范围类型DOVI(杜比视界的简写),Bitrate并不高,色彩是正常了,可惜转码帧率才30多帧,播放不流畅。
这时候,本着不断追求性能极致的穷屌丝心态(实质是不想折腾换主板+CPU去升级到11-12代),我在B站里给nyanmisaka作者本人私信留言请教有没有解决方案,未曾想居然第二天就回复了,他建议我开启一下低电压编码功能,就是Jellyfin播放设置里的“启用低电压模式的 Intel H.264 /HEVC 硬件编码器”。研究之后,自感操作上还算简单,适合有一定基础的NAS用户,以我自己的Unraid为例,其他NAS系统应该差不多(群晖的Liunx核心目前最高4.4,应该不支持11代及以上核显,不知道有没有大神已经搞定,我没有相关设备,不去深究了),以下是操作步骤。
第一步,确保你的NAS系统已经内置最新Intel Linux核显固件(Unraid 6.11.5,官方社区已经确认内置),核显为9代及以上可以支持Huc/Guc,我的9代仅支持Huc,详细介绍如下图:
第二步,打开核显的Huc/Guc功能,需要用root权限进入系统终端命令窗口ttyd或者SSH登录,输入以下命令,顺便解释下,VI是Linux下纯字符界面的文本编辑器,后面的/etc/modprobe.d/i915.conf是显卡配置文件,
vi /etc/modprobe.d/i915.conf
进入Vi后,键盘上按“i”进入插入编辑模式,输入下方字段,然后用ESC退出编辑模式,键盘上按“:”,输入WQ,保存退出,接下来重启系统。
options i915 enable_guc=2
如果是UHD770或Xe核显,上面参数改为3,其他核显均为2,我是UHD630,选择2,切记!切记!
第三步,在Jellyfin硬解设置里,硬件加速选择QSV,硬件编码选择“启用低电压模式的 Intel H.264 硬件编码器”,如果你的核显是UHD770,还可以开启“启用低电压模式的 Intel HEVC 硬件编码器”。记得开启色调映射,上方还有一个启用VPP色彩映射,是针对使用VAAPI驱动模式,这里不用启用。
如果在播放时候,提示“该客户端与媒体不兼容,服务器未发送兼容的媒体格式”,基本上就是前面步骤不正确,或者系统没有带核显固件,亦或是核显硬件低于9代。
另外,参考nyanmisaka建议的,色调映射算法从默认的BT.2390改为Reinhard或者Mobius,速度还可以再快点。
开启前后效果对比(更新!!!2023.2.6 nyanmisaka发布最新10.8.9版本,下载后不做任何修改,帧率又又又提升了些许,基本可以满足这个变态帧率的杜比视界视频文件了!!!!!)
10.8.9版本,转码帧率46fps,对比官方版本提升31%,基本无卡顿!
以下是10.8.8版本对比数据:
开启后,转码帧率42fps
开启前,转码帧率35fps
对比下来,调整后转码速度从35提升到42,相对提升比例达到20%(更新,10.8.9版本提升了31%!)不过对于这部帧率达到50fps的杜比视界片源,Jellyfin基本可以流畅播放,我估计这可能是UHD630的硬件极限了,如果想要完美播放(编解码帧率超过片源自身帧率,也就是>50fps),就不得不升级到UHD770或者Xe核显的CPU。虽然现在杜比视界/HDR10的片源日益增多,像这样的高帧率片源毕竟凤毛麟角,我这套硬件还可以苟且一段日子,综合评估下来,我还是拥抱了开源的Jellyfin,Emby留着等日后新版本出来再看看吧。
intel核显Linux之Guc/Huc说明文档
https://wiki.archlinux.org/title/intel_graphics#Enable_GuC_/_HuC_firmware_loading。
以下是惯例的分割线
补充,emby在播放HDR10片源时,画面底部必定会出现绿色条纹,不知道哪位朋友遇到过没有,感觉是FFMpeg配置或版本问题,求教啦!