proxmoxVE LXC 安装设置 Jellyfin 多媒体家庭影院

1.下载模板并上传到PVE

国内源地址:
https://mirrors.ustc.edu.cn/turnkeylinux/images/proxmox/debian-10-turnkey-mediaserver_16.0-1_amd64.tar.gz

2、创建CT.
第一步记得要把无特权容器的选项去掉,否则会创建不成功
模板选择我们刚刚下载好的debian-10-turnkey-mediaserver_16.0-1_amd64.tar.gz

3、配置CT渲染设备节点,开启硬件加速:

默认情况下.LXC并不会自动映射dev目录下的设备节点文件.所以我们首先需要修改配置文件,使LXC自动映射dev下的设备文件.
首先我们需要在host(pve) shell中确认一下host设备文件的情况:

root@pve:~# ls -l /dev/dri/
total 0
drwxr-xr-x 2 root root         80 Aug 31 10:05 by-path
crw-rw---- 1 root video  226,   0 Aug 31 10:05 card0
crw-rw---- 1 root render 226, 128 Aug 31 10:05 renderD128

=============================================================

video id: 226, 0
render id:226, 128

修改LXC的配置文件,路径为/etc/pve/lxc/{你的CT ID}.conf.

例如我的CT ID是100,所以对应的文件是/etc/pve/lxc/100.conf
使用编辑器打开该文件进行编辑:

vim /etc/pve/lxc/100.conf

将以下内容添加到文件末尾(将对应的id替换成自己的):

lxc.cgroup.devices.allow = c 226:0 rwm
lxc.cgroup.devices.allow = c 226:128 rwm
lxc.autodev: 1
lxc.hook.autodev:/var/lib/lxc/100/render_device_hook.sh

CT启动的时候,会执行lxc.hook.autodev里的内容,我们需要手动创建对应的节点文件
还是一样,使用编辑器创建并打开脚本文件:

vim /var/lib/lxc/100/render_device_hook.sh

将以下内容添加到文件中(一样,还是要替换成自己的设备id):

mkdir -p ${LXC_ROOTFS_MOUNT}/dev/dri
mknod -m 666 ${LXC_ROOTFS_MOUNT}/dev/dri/card0 c 226 0
mknod -m 666 ${LXC_ROOTFS_MOUNT}/dev/dri/renderD128 c 226 128

最后设置文件权限:
chmod 755 /var/lib/lxc/100/render_device_hook.sh

这样,我们CT的配置就修改好了,现在去启动CT吧.
启动后,我们还需要在CT里安装VA的驱动文件,以下命令均在CT内执行:

apt install i965-va-driver vainfo

安装完成后执行vainfo命令,如果打印如下类似信息就表明硬件转码已经可用了:

root@turnkeyMediaServer ~# vainfo
error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.4.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.4 (libva 2.4.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Coffee Lake - 2.3.0
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointVLD

现在再到Jellyfin的控制台,将转码的硬件加速设置为VA API

===============================================================

jellyfin android 客户端
https://repo.jellyfin.org/releases/client/android/

jellyfin androidTV 客户端
https://repo.jellyfin.org/releases/client/androidtv/

猜你喜欢

转载自blog.51cto.com/14386969/2542506