前言:
很多小伙伴在购买了KEY,或者白嫖EMBY之后,在群晖上使用套件安装的emby会出现转码器内没有硬件的选项!今天我通过docker来运行一个,可以硬件加速的方法!
教程:
以下为专享内容:
因为本人没有群晖,所以这里用旧图片和部分其他机器的信息给大家演示,原理是一样的。
群晖面板对docker的部分功能缺失,所以我们需要SSH命令行来操作,如果是群晖的话下面的内容基本可以完全照抄,其他系统可以适当借鉴!
出现不能硬件加速的问题:
群晖出现不能加速的问题,有两种:
第一种是群晖的引导,不支持Intel I915的驱动,白的机器部分型号没有GPU加速,目前可以支持的DS916+ .DS918+ 和部分后面是play结尾的X86架构的SOC 基本都是可以的。
第二种是有驱动,emby或者其他服务器进程没有访问/dev/dri路径的权限。
以上两种情况第一种白的机器可以使用套件,如果不行也可以参考本教程使用docker,如果是没有IGPU的驱动的,需要寻找带有驱动的引导,目前DS918+的引导 部分已经包含I915 所以我们首选DS918+的黑群晖引导,DS916+的部分引导页带有驱动,但是没有必要再去参考老型号。
判断驱动:
判断驱动是否驱动正常,可以通过两个指令来查看:
第一种 使用命令查看I915是否加载, lsmod | grep i915
第二种 查看/dev/dri 是否有文件,如果为驱动则没有此路径! ls -la /dev/dri
友情提示!其他Linux环境的机器,也可以通过上面的两条命令来查看
开始安装:
安装之前,我们需要在群晖系统内安装docker,这个我就不说了,自己去套件商店安装即可,安装完成后,我们在控制面板内打开群晖的SSH,(注意:如果是外网打开SSH,请映射非22端口,以免被SSH扫描或者被攻击)
链接客户端,如果客户机是windows10 以上(包括win10)的系统,我们可以使用系统自带的命令提示符(cmd)来使用下面的命令直接链接服务器的SSH
ssh -p 22 root@serverip (注意22端口需要替换为你自己的,root账户替换为自己的群晖默认的是admin @后台面的可以为IP地址或者域名)
我们执行命令id来查看用户的PID GID 查询到之后我们进行记录,一会启动容器的时候我们需要用。
本人演示的系统中 root的用户 uid gid groups 均为0
我们拿到用户ID 信息之后,我们使用docker命令 pull最新的emby服务端到本地。
docker pull emby/embyserver 此命令如果网络不太好的话,我建议 单独执行,如果网络OK 可以不用单独执行此命令!
我们开始启动emby服务端的容器!
docker run --name emby -d --net host --env UID=0 --env GID=0 --env GIDLIST=0 --device /dev/dri/renderD128:/dev/dri/renderD128 --privileged -v /:/home/data -v /youfile:/config emby/embyserver:latest
启动命令中需要更改的位置:
--env UID=0 --env GID=0 --env GIDLIST=0 三个变量中的ID ,需要修改 可以改为你系统中root的id 即表示此容器使用root用户运行
-v /:/home/data 此路径为 媒体文件 要注意:前面的是宿主机的路径(就是群晖的本地路径) :后面的是容器内的路径,这里我们修改 宿主机路径,路径内需要包含媒体文件。
-v /youfile:/config 此路径为emby的系统配置路径,内部包含,视频的元数据 emby的配置数据 插件数据等。
启动容器之后,我们不要着急去输入高级key去激活,可以先去转码器,然后选择高级,查看是否出现硬件加速解码 编码的硬件信息,如果没有,请按照本教程,在仔细重新检查一遍!
开机自动启动:
在容器等内容都配置好以后,我们需要让容器开机自动启动,这里我提供一个 命令的方式,或者你也可以用群晖面板的开机自动启动的开关来启动容器!
docker update restart=always emby 开机自动启动容器!
发表评论