Nyanmisaka/Jellyfin最新版本230901:低电压模式、转码效率与色调映射

2023-10-29 17:54:08 14点赞 164收藏 55评论

前言

之前的文章介绍了大神Nyanmisaka的特供版Jellyfin,主要提升在硬解和色调映射(HDR转SDR)效率。今年9月(2023年9月),Nyanmisaka大神的jellyfin更新到了230901版本,继续在硬件转码上提升性能。如果你对使用Docker部署Jellyfin感兴趣,可以阅读以下两篇文章。

本文目的:

  1. 对比了Nyanmisaka/Jellyfin的221029版和230901版的转码效率;

  2. 开启核显的低电压模式,进一步验证该模式对转码效率的提升;

  3. Jellyfin中的色调映射与Potplayer对比。

本文部署的软硬件环境:

操作系统:Ubuntu 20.04 ,内核版本内核版本5.4.0-165-generic

CPU: J4105,4核4线程,1.50 GHz,核显:HD600

整个平台日常运行功耗为5w左右(〔日常〕的定义:不开启jellyfin)

镜像

关于镜像拉取,必须要带上tag,即nyanmisaka/Jellyfin:tag,不能忽略tag或者使用latest。

docker pull nyanmisaka/jellyfin:230901-amd64

由于一些众所周知的网络问题,下载这个镜像还是有点不容易。我没有科学办法,硬拉,试了好几天终于给拉下来了。据说把国内镜像加速关掉后,使用latest可以拉取到最新的镜像,这个我没试过。

Nyanmisaka/Jellyfin最新版本230901:低电压模式、转码效率与色调映射

将jellyfin容器启动后,进入控制台可以看到版本是10.8.10,之前221029-amd64对应的jellyfin版本是10.8.6。

Nyanmisaka/Jellyfin最新版本230901:低电压模式、转码效率与色调映射

进入到容器,可以看到ffmpeg版本是6.0,这个版本是当前最新的稳定版。之前221029-amd64镜像中的ffmpeg版本是5.1.2。

ffmpeg 6.0ffmpeg 6.0

配置低电压模式

低电压模式需要操作系统加载GuC/HuC两个固件,GuC与核显负载的调度有关,HuC可以将有些工作让GPU来完成,减少CPU与GPU的同步。以上为Intel官方的解释。个人认为开启低电压模式(Low Power Mode,LP Mode)与CPU硬件和Linux内核版本是有关系的,太旧的内核版本可能存在问题。

Jellyfin官方对低电压模式有一段说明:

The setup is not necessary unless you are using an Intel Jasper Lake or Elkhart Lake processor, or you want faster OpenCL tone-mapping speed on Linux. This also applies to the bleeding edge hardware such as 12th Gen Intel processors, ARC GPU and newer but step 2 should be skipped.

官方指出,本项设置不是必须的。也提到开启低电压模式后,对色调映射(tone mapping)的效率有一定的提升。另外,如果CPU是N5105,也需要配置低电压模式,否则Jellyfin的硬件加速将无法正常使用。

个人认为如果CPU性能比较够用了,不需要再配置低电压模式,因为配置是否顺利与操作系统、Linux内核、CPU有一定关系,最新版Nyanmisaka的特供版Jellyfin在不开启低电压模式下已经基本够用了。但是,我的J4105实在有点弱,指望通过开启低电压来提升硬件转码效率。

操作系统开启低电压模式

以下操作参照Jellyfin官方的指引:

1. 安装firmware:

apt install -y linux-firmware

firmwarefirmware

2. 将guc的设置写入配置文件i915.conf (可以写入时直接创建该文件):

sudo sh -c "echo 'options i915 enable_guc=2' >> /etc/modprobe.d/i915.conf"

i915.enable_guc=1 ## 启用GuC提交和电源管理

i915.enable_guc=2 ## 只启用HuC认证

i915.enable_guc=3 ## 将两个功能结合在一起

enable_guc=2enable_guc=2

3. sudo update-initramfs -u

Nyanmisaka/Jellyfin最新版本230901:低电压模式、转码效率与色调映射

4. 更新grub:

sudo update-grub

Nyanmisaka/Jellyfin最新版本230901:低电压模式、转码效率与色调映射

5. 重启主机:reboot

验证是否加载成功:

Nyanmisaka/Jellyfin最新版本230901:低电压模式、转码效率与色调映射

上图中看到glk_guc_33.0.0.bin submission: disabled,但是查看guc_load_status又是running。上面对enable_guc的参数值(1,2,3)也做了解释。网上有文章也遇到相同情况:“如果i915.enable_guc=2,GuC submission会是disabled”。实际使用体验低电压模式是有效果的,具体见下面的测试。

sudo cat /sys/kernel/debug/dri/0/i915_guc_load_status

guc statusguc status

sudo cat /sys/kernel/debug/dri/0/i915_huc_load_status

huc statushuc status

以上两张图表明,加载Guc/Huc是成功的。

Jellyfin配置

在Jellyfin的控制台->播放页面下,硬件加速选择“Intel QuickSync(QSV)”,勾选“启用低电压模式”的两个选项。

Nyanmisaka/Jellyfin最新版本230901:低电压模式、转码效率与色调映射

开启色调映射,将HDR转换为SDR。色调映射会占用一部分核显性能,因此开启后转码效率会降低。开启色调映射,在不支持HDR的显示器播放HDR视频不会出现画面发灰的情况。

Jellyfin中选择“启用色调映射”,我选择了Mobius算法,参数默认。因为效率问题,不推荐使用VPP色调映射,所以上面“启用VPP色调映射”不要勾选。

Nyanmisaka/Jellyfin最新版本230901:低电压模式、转码效率与色调映射

视频实测

验证低电压模式

Jellyfin播放4K H265视频,使用intel_gpu_top命令查看核显工作情况(如果命令不存在,那么安装sudo apt install intel-gpu-tools)。当未开启低电压模式时,Render负载一直在90%以上;开启低电压模式后,Render负载下来了,大概维持在60~70%。

未启用低电压模式未启用低电压模式启用低电压模式启用低电压模式

转码帧率实测

测试视频概况

在四个视频上测试nyanmisaka/jellyfin:230901的转码效率,与nyanmisaka/jellyfin:221029进行对比,并且记录开启低电压模式(LP Mode)前后转码帧率,验证低电压模式对转码效率的提升。

前三个测试视频格式如下,都是4K/HDR/H265,码率一般,第四个是高码较高。这四个视频对于我这个硬件平台来说还是有点困难的。

测试视频测试视频测试视频测试视频

221029版本 vs 230901版本

相比去年的221029版本,目前最新的230901版本在其中三个视频上转码效率上有所提高。以《FAST10》为例,在开启色调映射的情况下,从25fps提高到了37fps。对于高码率的,两个版本的转码帧率持平。

221029 vs 230901 on <FAST10> without LP mode221029 vs 230901 on <FAST10> without LP mode221029 vs 230901 on <PI> without LP mode221029 vs 230901 on <PI> without LP mode

色调映射对转码帧率的影响

实测开启色调映射(Mobius),对转码帧率有比较大影响。以《PI》为例,直接从36fps降到了25fps。所以色调映射还是比较消耗核显性能,至少对于这块J4105来说是这样。

Nyanmisaka/Jellyfin最新版本230901:低电压模式、转码效率与色调映射

低电压模式

所有四个视频,在开启低电压模式(加载GuC/HuC)后,转码效率都有提升情况。以《FAST》为例开启后,转码帧率确实有提升,开启低电压模式,CPU负载也有所降低,开启时为40~50%,未开启时为50%~55%。

with and without LP-mode on <FAST10>with and without LP-mode on <FAST10>

对于高码率的视频《Transformers》,在不开启LP mode情况下,转码帧率<视频帧率,开启LP mode的情况下,勉强可以流畅播放。

with and without LP-mode on <Transformers>with and without LP-mode on <Transformers>

实测小结

以下为实验数据汇总:记录了开启色调映射情况下,221029230901两个版本nyanmisaka/jellyfin的转码帧率实测数据,后两列还对比了未开启低电压模式与开启情况下的转码帧率。

总体来说,这个硬件播放4K/HDR还是比较吃力的,转码帧率都比较低。

(为保证数据相对准确,对每个视频的相同时间点进行记录,且保证播放一段时间转码帧率已趋于稳定)

实测结果实测结果

色调映射:Jellyfin vs Potplayer

这部分是偶然想到加上的测试。主观上对两者色调映射(tone mapping)结果进行对比,没有优劣之分,纯粹主观感受。Jellyfin中选择Mobius算法(默认参数),Potplayer使用MadVR Measure。

Nyanmisaka/Jellyfin最新版本230901:低电压模式、转码效率与色调映射Nyanmisaka/Jellyfin最新版本230901:低电压模式、转码效率与色调映射

从画面来看,Jellyfin(Mobius)比madVR更加鲜艳,亮度更高,但是细节不如madVR丰富。比如《PI》中远处的波浪纹理,由于Mobius将亮度拉的过高导致细节被抹平了,但是madVR保持的比较好。当然这也不是madVR最好的效果,只是我粗调的结果。madVR参数可见我之前的一篇文章。

总结

在本文使用的软硬件环境下:

  1. nyanmisaka/jellyfin:230901确实比221029版本在转码效率上有所提高;

  2. 开启核显的低电压模式(加载GuC/HuC),对转码效率有所提高;

  3. 在使用最新版本以后,J4105硬件平台对于一般码率(30Mbps以下)4K/HDR视频基本上能实现流畅硬件转码,包括色调映射(虽然转码帧率不高);

  4. 对于高码率4K/HDR视频,需要开启低电压模式,否则无法流畅播放。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
55评论

  • 精彩
  • 最新
  • 我也是4105感觉开启低电压好难

    校验提示文案

    提交
    有报错吗?

    校验提示文案

    提交
    收起所有回复
  • 你这个日常的定义要不要带硬盘啊

    校验提示文案

    提交
    不带 [观察]

    校验提示文案

    提交
    收起所有回复
  • 真详细!回头我跟着来一遍。我是g4650t,带的610核显

    校验提示文案

    提交
    谢谢。这颗U应该强不少

    校验提示文案

    提交
    收起所有回复
  • 有空在我的N5105上试试

    校验提示文案

    提交
    5105必须可以

    校验提示文案

    提交
    收起所有回复
  • 不知道3455是否可以

    校验提示文案

    提交
    也有人问过,n大的回复是有提升,但应该不大。

    校验提示文案

    提交
    收起所有回复
  • 4125如何

    校验提示文案

    提交
    4125性能可以的

    校验提示文案

    提交
    4125不也是HD600么,我有个3867U,是HD610,是不是跟HD600没啥差距

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 为啥我的好多片放不了,报错说服务器没有推送正确的格式。有大佬能解答下什么问题吗?

    校验提示文案

    提交
    n5105?硬解设置了吗?

    校验提示文案

    提交
    我是6代i 7

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 已经安装老版本的,能无损直接升级吗?

    校验提示文案

    提交
    我原先是安装老版本nyanmisaka/jellyfin:221029,直接在portainer里把镜像换成nyanmisaka/jellyfin:230901,实测没问题

    校验提示文案

    提交
    收到,回头试试

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 必须要开低电压吗

    校验提示文案

    提交
    n5105这代必须要开,其他非必要(可以提升硬解效率)

    校验提示文案

    提交
    收起所有回复
  • 我的群晖nas如何加载GuC/HuC固件呢

    校验提示文案

    提交
    品牌nas不建议这么玩吧,还是要请个高手解答下

    校验提示文案

    提交
    因为现在遇到个问题,就是视频打开后加载时间有点久,大概要1分钟(手机web)的样子才加载出来,电脑web端的话要好一些

    校验提示文案

    提交
    还有5条回复
    收起所有回复
  • 请问一下jellyfin有办法添加smb或者webdav目录作为资源库吗?

    校验提示文案

    提交
    smb是可以的,webdav没试过

    校验提示文案

    提交
    好像都不行,是不是因为docker只能读取docker内部的文件目录,smb我也填不成功

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • [皱眉] 黑裙物理机按楼主教程操作失败。安装firmware就直接报错

    校验提示文案

    提交
    apt install -y linux-firmware报错?

    校验提示文案

    提交
    是的啊

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 听说现在nyanmisaka/Jellyfin 已经升级至 10.10 版本,tag要怎么填呀?

    校验提示文案

    提交
    我也想问这个

    校验提示文案

    提交
    收起所有回复
  • 厉害了

    校验提示文案

    提交
  • 请问unraid怎么安装firmware啊

    校验提示文案

    提交
  • N5105 安装的SA6400版本黑裙,怎么开低电压模式?我也觉得好难

    校验提示文案

    提交
  • 这个版本无法硬解,不知道什么情况,准备刷回旧版了

    校验提示文案

    提交
  • 什么硬件?

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
164
扫一下,分享更方便,购买更轻松