Jellyfin中使用QSV替代VAAPI转码

使用过Jellyfin的应该都会遇到转码的问题,默认情况下都是使用VAAPI进行转码,这种方式兼容性比较好,但是转码的性能比较一般。如果使用的是Intel平台J4125及更早的CPU的话,建议切换为QSV(Intel Quick Sync )进行转码,效率会比VAAPI快很多,并且CPU也会更低。

Jellyfin
用过Jellyfin的朋友应该都遇到过转码的问题,这个麻烦的事情真是让人头大啊!不过好消息是,我这个个好心的家伙发现了一个可以提升转码效率的方法!

默认情况下,Jellyfin使用VAAPI来进行转码。这个老兄的兼容性是挺好的,各种老的新的硬件都能用,但就是性能上差点意思。如果你用的CPU是Intel平台J4125或者更早的型号,那笔者强烈建议你换个口味,试试QSV(Intel Quick Sync)这个转码神器!

这个方法的效率可比VAAPI快多了,简直就是飞一般的速度!而且令人惊喜的是,CPU负载也会变得更低了,下面容我慢慢道来。

一、 准备工作

  • 使用docker部署的Jellyfin
  • 镜像推荐使用 linuxserver/jellyfin的版本,其他镜像有可能环境不一样
  • 建议使用高权限允许Jellyfin,否则需要手工映射/dev/dri
  • 建议使用host模式启动Jellyfin,减少其他异常情况

二、 操作方法

1、首先登入Jellyfin容器

docker exec -it jellyfin /bin/bash
 

2、安装QSV驱动

由于Quick Sync 是 Intel 的专有技术,开源软件包一般是不会预装的,所以要自己动手安装。

#更新软件包
apt update
   
#安装QSV驱动
apt install -y intel-media-va-driver-non-free vainfo 
 

3、查看驱动安装情况

安装完以后,用下面命令查看驱动的安装情况

/usr/lib/jellyfin-ffmpeg/vainfo
 

如果看到Intel iHD driver驱动版本为高于21.1.1就可以了,下面会列出支持的编码格式。

root@jellyfin:/# /usr/lib/jellyfin-ffmpeg/vainfo
libva info: VA-API version 1.16.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_16
libva info: va_openDriver() returns 0
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 22.5.4 (e461c05)
ainfo: Supported profile and entrypoints
     VAProfileNone                   :	VAEntrypointVideoProc
     VAProfileNone                   :	VAEntrypointStats
     VAProfileMPEG2Simple            :	VAEntrypointVLD
     VAProfileMPEG2Main              :	VAEntrypointVLD
     VAProfileH264Main               :	VAEntrypointVLD
     VAProfileH264Main               :	VAEntrypointEncSlice
     VAProfileH264Main               :	VAEntrypointFEI
     VAProfileH264Main               :	VAEntrypointEncSliceLP
     VAProfileH264High               :	VAEntrypointVLD
     VAProfileH264High               :	VAEntrypointEncSlice
     VAProfileH264High               :	VAEntrypointFEI
     VAProfileH264High               :	VAEntrypointEncSliceLP
     VAProfileVC1Simple              :	VAEntrypointVLD
     VAProfileVC1Main                :	VAEntrypointVLD
     VAProfileVC1Advanced            :	VAEntrypointVLD
     VAProfileJPEGBaseline           :	VAEntrypointVLD
     VAProfileJPEGBaseline           :	VAEntrypointEncPicture
     VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
     VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
     VAProfileH264ConstrainedBaseline:	VAEntrypointFEI
     VAProfileH264ConstrainedBaseline:	VAEntrypointEncSliceLP
     VAProfileVP8Version0_3          :	VAEntrypointVLD
     VAProfileHEVCMain               :	VAEntrypointVLD
     VAProfileHEVCMain               :	VAEntrypointEncSlice
     VAProfileHEVCMain               :	VAEntrypointFEI
     VAProfileHEVCMain10             :	VAEntrypointVLD
     VAProfileVP9Profile0            :	VAEntrypointVLD
 

4、设置Jellyfin

驱动安装完成后,推出容器。打开Jellyfin的控制面板,在播放页面中,将硬件加速改为Intel QuickSync(QSV),在启用硬件解码项中,勾选需要启用的编码类型,然后保存即可。
Jellyfin

5、大功告成

接下来就播放一个码率比较高或大体积的视频,看看播放时的转码效果吧。
Jellyfin


​可以看到,我的CPU是弱鸡J4125,但是转码播放时的负载也不高。
Jellyfin

怎么样?是不是很心动?如果你也被转码问题搞得很烦恼,那就赶紧试试这个方法吧!让你的Jellyfin转码问题迎刃而解,一切变得简单又高效!原创不易,如果觉得此文对你有帮助,不妨点赞+收藏+关注,你的鼓励是我最大的动力!

高等精灵实验室

原创文章,作者:诺多,如若转载,请注明出处:https://www.huluohu.com/posts/141/

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Jellyfin媒体封面显示方块的解决方法
上一篇 2022年8月26日 02:22
解决macOS Ventura打开软件提示已损坏的问题
下一篇 2022年12月26日 02:25

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注