作者:E4b9a6, 创建:2024-08-17, 字数:3578, 已阅:560, 最后更新:2024-08-17
Quick Sync 是 Intel 的硬件视频编码和解码技术,它提供了更高效的硬件加速性能
与 VAAPI(Video Acceleration API) 相比,VAAPI 是一个开源的 API,允许应用程序使用 GPU 进行视频处理,但它的性能通常是不如 Quick Sync 来的高效
Quick Sync 在低端 Intel 处理器上非常有性价比,实测 Intel J3455 CPU 转码 4K 占用率不到 40%
但由于 Quick Sync 是 Intel 的专属技术,所以需要手动安装其依赖驱动
本文用的是 LinuxServer 制作的 Jellyfin docker 镜像,其他镜像可能不兼容/不通用
LinuxServer 的 Docker 镜像质量通常都是上佳,一般优先考虑他家的镜像
下面是我的 docker-compose.yaml 文件参考:
services:
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
# - JELLYFIN_PublishedServerUrl=192.168.0.5 #optional
volumes:
- ./config:/config
- /dev/dri:/dev/dri
- ./media:/media
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
ports:
- 8096:8096
# - 8920:8920 #optional
# - 7359:7359/udp #optional
# - 1900:1900/udp #optional:
restart: unless-stopped
运行镜像并进入容器内部:
# 运行容器
sudo docker-compose up -d
# 进入容器
sudo docker exec -it jellyfin /bin/bash
在容器内执行:
apt update -y
apt install intel-media-va-driver-non-free vainfo -y
使用 vainfo
确认驱动是否安装成功:
root@278s7h26x:/# vainfo
error: XDG_RUNTIME_DIR is invalid or not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.20.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.20 (libva 2.12.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.1.0 ()
vainfo: 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
VAProfileVP8Version0_3 : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointFEI
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointVLD
看到 Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.1.0 ()
表示Intel驱动正常
最后在 Jellyfin 的 Dashboard 中配置:
找一部 HEVC 的片播放并查看转码信息:
观察服务器的后台资源消耗:
参考资料: