1. 首页
  2. 科技数码

硬核 篇一:全网首发  保姆教程  威联通Qnap 显卡直通  Plex的三种模式  任你选

威联通系统界面中,显卡可用于3种平台,QTS本身、Container station、Virtualization station.

QTS显卡三种模式QTS显卡三种模式

威联通型号  TVS-h1688X   显卡 MSI RTX2070 8G 暗黑龙爵威联通型号 TVS-h1688X 显卡 MSI RTX2070 8G 暗黑龙爵

Plex影音媒体库,但是占用cpu很高,那么QTS、Container station、Virtualization station怎么调动外接显卡用于plex呢?

目前未找到关于plex调用显卡在QTS、Container station的教程,Virtualization station教程较多。

下面将分步介绍三种方式在QTS、Container station、Virtualization station的用法

QTS plex调用显卡

按照QNAP官方系统设置步骤,常规设置-硬件-硬件资源-资源使用设置为QTS。应用商店安装plex,步骤简单,但是我发现时候plex无法调用显卡,想要调用显卡,请按下列步骤操作。


1. 关闭plex

2. putty winscp ssh登录nas

3. 打开/share/ZFS530_DATA/.qpkg/PlexMediaServer/Library/Plex Media Server

4. 编辑Preferences.xml

5. 末尾加上 HardwareDevicePath="/dev/dri/renderD129"(ssh 登录nas.输入ls -la /dev/dri 显示两个render,数字大的为gpu,我的是renderD129

查看显卡代码查看显卡代码

6. 保存退出即可

7. 效果

Container station模式Container station模式


Container station(Docker)调用显卡

官方教程:设备添加显卡设备,创建后我们发现依旧无法调用显卡,值得注意的是教程指导中有一步ssh装载显卡的步骤,可能问题出在这里。这似乎为我提供了一些思路。qts中plex调用显卡也提供了些思路,虽然QTS与Container station都识别出了设备,但是想要调用,还必须明确指定设备。

Container station(docker)比QTS更难调动显卡,在于docker独立性比较强,更像是沙盒,这也是docker的优势,不影响系统文件,随便折腾。docker本身并未安装显卡驱动,怎么调动显卡呢?那就需要再docker里安装显卡驱动。nvdia docker应运而生。这也为其他系统上使用docker调用显卡提供了方法,威联通似乎给出了一个更好的解决方法。显卡安装时安装的两个显卡驱动,包含了所需要的条件,难点在如何在威联通系统与docker之间建立联系。让docker使用已经安装好的显卡驱动。


nvdia docker项目

nvdia docker项目介绍nvdia docker项目介绍

威联通不用安装也没法安装,感兴趣的其他平台可以研究下

1. QTS 两个显卡驱动(必备)

QTS 两个显卡驱动(左需要手动安装 右自动安装)QTS 两个显卡驱动(左需要手动安装 右自动安装)

2. Docker-compose

version: "2.1"

services:

plex:

image: lscr.io/linuxserver/plex

container_name: plex

network_mode: host

environment:

- PUID=0

- PGID=0

- TZ=Asia/Shanghai

- VERSION=docker

- PLEX_CLAIM= 登录查看(https://www.plex.tv/claim)

- PATH="/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

- LD_LIBRARY_PATH="/usr/local/cuda/extras/CUPTI/lib64:/usr/local/nvidia/lib:/usr/local/nvidia/lib64"

- NVIDIA_VISIBLE_DEVICES:"all"

- NVIDIA_DRIVER_CAPABILITIES:"all"

volumes:

- /share/ZFS530_DATA/.qpkg/NVIDIA_GPU_DRV/usr:/usr/local/nvidia:rw

(/share/ZFS530_DATA/.qpkg/NVIDIA_GPU_DRV 显卡驱动位置可用winscrp查看具体路径)

- /share/ZFS23_DATA/Container/Docker/Plex/config:/config (plex配置文件夹)

- /share/ZFS23_DATA/Container/Docker/Plex/transcode:/transcode(plex转码文件夹)

- /share/ZFS19_DATA/library:/library (媒体库)

- /share/ZFS20_DATA/librarys:/librarys (媒体库)

devices:

- /dev/nvidia0:/dev/nvidia0

- /dev/nvidiactl:/dev/nvidiactl

- /dev/nvidia-uvm:/dev/nvidia-uvm

restart: always

(winscrp 查看是否有这三个文件)(winscrp 查看是否有这三个文件)

3. 如果没有nvidia-uvm这个文件

ssh 输入:

modprobe nvidia-uvm

mknod -m 666 /dev/nvidia-uvm c `grep nvidia-uvm /proc/devices | awk '{print $1}'` 0

4. 效果

Container station模式Container station模式

QTS模式QTS模式

实际测试发现Container station(docker) ,QTS模式和Container station模式均可调动显卡

Virtualization station调用显卡

虚拟机安装,我安装的是win11,挂载显卡

显卡位置显卡位置

挂载显卡挂载显卡

我使用的是微软自带的远程桌面,需要在挂载前,在系统开启,路由器映射端口3389,挂载显卡后,再次开机,安装windows版对应显卡驱动就可以了。

后话:

plex在调用显卡转码时,我发现cpu仍会出现一瞬的上升,也就是plex仍然会使用cpu.

原因如下:

查询发现 CPU在plex中的作用,处理媒体的所有打包和实际发送。它还将根据需要进行音频转换。如果您有字幕,它们将使用CPU而不是GPU。(The CPU will handle all the packetizing and actual sending of the media.It will also do the audio conversions as needed.If you have subtitles, they will be burned by the CPU not the GPU)

字幕刻录始终由 CPU 完成。(Subtitle burning is always done by the CPU)

1.它从要叠加的字符生成图像(It generates the image from the characters to be overlayed)

2.它将该图层合并到图像中。(It merges that layer into the image)

*列出的本机系统系统解码器/编码器仅在指示硬件加速可用时使用。否则,Plex 将使用自己的捆绑软件库 (libavcodec/x264),以获得最大的兼容性和质量。*列出的本机系统系统解码器/编码器仅在指示硬件加速可用时使用。否则,Plex 将使用自己的捆绑软件库 (libavcodec/x264),以获得最大的兼容性和质量。

技术规格(Tech specs)

为了跨各种硬件和平台提供可靠的硬件加速流,Plex Media Server 支持多种不同的硬件加速引擎。Plex媒体服务器按下表所示的优先级顺序选择最佳视频引擎。Plex 支持从硬件到软件的自动回退。如果硬件视频引擎无法解码或编码视频,Plex将无缝切换到使用软件而不会导致错误。(To provide reliable Hardware-Accelerated Streaming across a variety of hardware and platforms, Plex Media Server supports several different hardware acceleration engines.The optimal video engine is selected by Plex Media Server in the order of priority shown in the table below.Plex supports automatic fallback from hardware to software. If the hardware video engine fails to decode or encode a video, Plex will seamlessly switch to using software without causing an error.)

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

原创文章,作者:夜风博客,如若转载,请注明出处:https://www.homedt.net/47420.html