首页
社区
课程
招聘
[原创]关于jellyfin在docker中对HEVC 10bit解码的避坑记录
发表于: 2025-6-6 09:37 150

[原创]关于jellyfin在docker中对HEVC 10bit解码的避坑记录

2025-6-6 09:37
150

鄙人最近升级了自己的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直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 15661
活跃值: (18963)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
2
jellyfin抽风了,按照这个配置刚配置好还能播放的,结果过几天再播放,就又不行了……
2025-6-10 22:46
0
雪    币: 15661
活跃值: (18963)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
3
经过本人一晚上加一上午的探索,大概搞清楚原因了
首先jellyfin会解码你的视频,然后在以一个格式编码你的视频,然后发送给你,此时你本地的硬件会解码这个二次编码的视频,这个本地解码的过程就取决于你自己的硬件了;所以上述无法播放的问题的最好的解决方案就是在jellyfin的设置界面,将编码格式选项的“允许以HEVC格式编码”和“允许以AV1格式进行编码”全部取消勾选,这样的话jellyfin就会以h.264格式进行二次编码,这个格式99%的硬件都能正常解码
6天前
0
游客
登录 | 注册 方可回帖
返回