-
-
[原创]关于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
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课