问题
jellyfin是一个开源的视频管理平台,比群晖自带的video station功能更强,但是直接通过918的docker界面直接安装的jellyfin,由于没有进行device的映射,因此实际上是没有启动硬解的。
表面上jellyfin的控制台开启了VAAPI,但实际上在后台一直在报错。
后台报错如下:
原因
这是由于群晖的docker控制台的限制,群晖核显/dev/dri/renderD128并没有真正映射到容器中。
解决方案
ssh到群晖后台,利用root账户启动docker,例如:
sudo -i
docker pull jellyfin/jellyfin:10
docker run -d --volume /volume1/docker/jellyfin:/config --volume /volume1/docker/jellyfin:/cache --mount type=bind,source=/volume1/video,target=/media --net=host --restart=always --device /dev/dri/renderD128:/dev/dri/renderD128 --device /dev/dri/card0:/dev/dri/card0 --name="jellyfin10" jellyfin/jellyfin:10
# 命令详解,以下部分不需要执行
sudo -i #进入root账户
docker pull jellyfin/jellyfin:10 #拉取jellyfin的images
docker run -d /
--volume /volume1/docker/jellyfin/config:/config / #/volume1/docker/jellyfin请根据你本地jellyfin配置所在的文件夹进行修改
--volume /volume1/docker/jellyfin/cache:/cache /
--mount type=bind,source=/volume1/video,target=/media / #/volume1/video请根据你本地电影存放的文件夹进行修改
--net=host / #让jellyfin和群晖使用同一个子网,方便dlna投影
--restart=always / #jellyfin容器随群晖开机自动启动
--device /dev/dri/renderD128:/dev/dri/renderD128 / # 核心就是这两句,把renderD128和car0
--device /dev/dri/card0:/dev/dri/card0 / # 作为device映射到jellyfin容器中
--name "jellyfin10" /
jellyfin/jellyfin:10 # jellyfin/jellyfin:10请根据你的jellyfin的image版本进行调整
核心就在于--device /dev/dri/renderD128:/dev/dri/renderD128 --device /dev/dri/card0:/dev/dri/card0
这两句,之后就可以愉快的玩耍啦,实测一台白918和另一台蜗牛j1900安装的黑群晖均可以硬解。而且后续通过群晖docker控制台停止、重启该容器,都不影响硬解。
实测环境 | 版本 |
---|---|
群晖 | 918 6.2.1-23824 Update 6 |
jellyfin | 10 |