开篇
自从发现了亚马逊海外购上的好价群晖之后,感觉手中的QNAP 453Dmini就不太香了。但是碍于银子,该用的还得接着用啊。正好这两天在用Jellyfin转码播放的时候,感觉卡顿比较严重,于是就搜了下如何开启硬件转码的功能。虽然不能买新的nas,但是让手中的NAS更好用还是可以试一试。
Jellyfin设置转码(VAPPI)前期准备在用Docker或者Docker-compose安装Jellyfin的时候,需要添加 '/dev/dri/renderD128',并以 'Privileged mode' 运行。 - --device=/dev/dri/renderD128:/dev/dri/renderD128
复制代码
在portainer中设置如下:
portainer中的设置
设置VAPPI转码
在jellyfin控制台中,选择“播放-硬件加速-Video Acceleration API(VAAPI)“,VA API设备地址:/dev/dri/renderD128
开启VAAPI转码
此时VAPPI转码设置就完成了,播放的时候即可使用VAPPI进行转码播放。
Jellyfin设置转码(Intel Quick Sync)
前期准备因为我安装Jellyfin的NAS的CPU是J4125,在实际的使用过程中,发现VAPPI转码效率比较低下,体验并不是很理想。经过查阅资料之后,发现使用Intel Quick Sync进行转码,效率可提高2-4倍。在金钱的压力下,只能尽量榨取CPU的性能了。 使用Intel Quick Sync进行转码的准备和VAPPI基本一样,添加设备的时候添加'/dev/dri/'这个就可以了。 - --device=/dev/dri:/dev/dri
复制代码
安装驱动不同于开源的VAPPI,使用Intel Quick Sync需要安装驱动。打开一个Console进入container中,输入命令: - <p style="line-height: 24px;"># Add package repository
- sudo apt-get update
- sudo apt-get install -y gpg-agent wget
- wget -qO - https://repositories.intel.com/graphics/intel-graphics.key | sudo apt-key add -
- sudo echo 'deb [arch=amd64] https://repositories.intel.com/graphics/ubuntu focal main' >> /etc/apt/sources.list</p><p style="line-height: 24px;">
- # Install run-time packages
- sudo apt-get update
- sudo apt-get install intel-opencl-icd intel-level-zero-gpu level-zero intel-media-va-driver-non-free libmfx1
- # 可选安装: Install developer packages
- sudo apt-get install libigc-dev intel-igc-cm libigdfcl-dev libigfxcmrt-dev level-zero-dev</p>
复制代码
此时驱动安装完成,检查权限是否正确 - stat -c "%G" /dev/dri/render*
- groups ${USER}
复制代码
如果不正确需要调整一下:(假设用户组是render) - sudo gpasswd -a ${USER} render
- newgrp render
复制代码
更新jellyfin-ffmpeg版本在使用docker部署Intel Quick Sync转码的时候,发现总是失败,看了贴子后发现是因为jellyfin-ffmpeg的版本有问题。 使用如下命令查看jellyfin-ffmpeg的版本: - dpkg -l | grep jellyfin-ffmpeg
复制代码
现在最新的版本应该是jellyfin-ffmpeg-4.3.2-1,可以正常转码。 在用linuxserver.io的container时,可以用如下命令更新jellyfin-ffmpeg的版本: - apt update
- TEMP_DEB="$(mktemp)" &&
- wget -O "$TEMP_DEB" 'https://repo.jellyfin.org/releases/server/ubuntu/versions/jellyfin-ffmpeg/4.3.2-1/jellyfin-ffmpeg_4.3.2-1-focal_amd64.deb' && dpkg -i "$TEMP_DEB"
- rm -f "$TEMP_DEB"
复制代码
或者可以这样: - wget https://repo.jellyfin.org/releas ... 2-1-focal_amd64.deb
- apt install /4.3.2-1/jellyfin-ffmpeg_4.3.2-1-focal_amd64.de
复制代码
到这里,就可以开启Intel Quick Sync进行转码了 设置jellyfin使用Intel Quick Sync转码
在jellyfin控制台中,选择“播放-硬件加速-Intel Quick Sync“
开启Intel Quick Sync转码 |