1.下載模板並上傳到PVElinux
國內源地址:https://mirrors.ustc.edu.cn/turnkeylinux/images/proxmox/debian-10-turnkey-mediaserver_16.0-1_amd64.tar.gz
android
二、建立CT.
第一步記得要把無特權容器的選項去掉,不然會建立不成功
模板選擇咱們剛剛下載好的debian-10-turnkey-mediaserver_16.0-1_amd64.tar.gz
shell
三、配置CT渲染設備節點,開啓硬件加速:vim
默認狀況下.LXC並不會自動映射dev目錄下的設備節點文件.因此咱們首先須要修改配置文件,使LXC自動映射dev下的設備文件.
首先咱們須要在host(pve) shell中確認一下host設備文件的狀況:
iview
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
ide
修改LXC的配置文件,路徑爲/etc/pve/lxc/{你的CT ID}.conf.code
例如個人CT ID是100,因此對應的文件是/etc/pve/lxc/100.conf
使用編輯器打開該文件進行編輯:
server
vim /etc/pve/lxc/100.conf
get
將如下內容添加到文件末尾(將對應的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/