-
-
[原创]关于jellyfin在docker中对HEVC 10bit解码的避坑记录
-
-
[原创]关于jellyfin在docker中对HEVC 10bit解码的避坑记录
鄙人最近升级了自己的NAS,能看h.265编码的视频也是我升级NAS的其中一个原因,但是我在某天晚上播放h.265 10bit的视频的时候发现jellyfin会报错,无法播放,由于本人的CPU是12500t,从Intel官网上已经确认是肯定可以播放的,故折腾了一翻,才有了这篇避坑文章,旨在帮助后人在再次遇到此类问题时能有些许帮助
硬件:12500t+32G
系统:Ubuntu 24.04.2 LTS (GNU/Linux 6.11.0-26-generic x86_64)
docker:nyanmisaka/jellyfin
由于各个视频网站的编解码方案不同,所以很难总结出“视频网站到底是服务器解码还是客户端解码”的经验结论,从jellyfin的使用经验来看,jellyfin应当是将视频解码成一段99%用户都能解码的视频数据,然后发送给用户,再由用户web端进行解码播放,所以在使用时可能出现h.264能正常播放,而HEVC视频却无法播放,网上有些言论认为这是web端的问题,这是可能的原因之一,但是根据官方文档,在使用docker的时候需要对硬件的权限组做操作
首先需要给/dev/dri/renderD128设备666权限,保证即使docker是普通用户权限也能正常访问
然后需要在宿主机上安装Intel的VA-API驱动,如果不确定自己有没有这个驱动则可以使用vainfo命令查看
注意这里使用apt search会搜索到两个intel-media-va-driver,此处根据官方文档,基于Debian的Linux系统应当使用non-free的版本
安装完成后需要查看一下render所在的用户组
运行结果应该是一个三位的数字
然后就可以直接运行jellyfin的docker了
1、需要确认你的CPU确实可以解码HEVC视频
2、上面提到的web端的设置,也需要开启
chmod 666 /dev/dri/renderD128
chmod 666 /dev/dri/renderD128
sudo apt update
sudo apt-get install intel-media-va-driver-non-free vainfo -y
vainfo
sudo apt update
sudo apt-get install intel-media-va-driver-non-free vainfo -y
vainfo
传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!