当前位置:首页 > 技术分析 > 正文内容

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

ruisui882个月前 (02-28)技术分析23

本内容来源于@什么值得买APP,观点仅代表作者本人 |作者:追不到的男神

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

QTS显卡三种模式

威联通型号 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(Docker)调用显卡

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

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


nvdia docker项目

nvdia docker项目介绍

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

1. 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 查看是否有这三个文件)

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模式

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 t?he 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),以获得最大的兼容性和质量。

技术规格(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.)


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



扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/2327.html

标签: docker plex
分享给朋友:

“全网首发,保姆教程:威联通Qnap显卡直通,Plex的三种模式 任你选” 的相关文章

【幼儿园收费管理系统】——中小型幼儿园收费管理的好帮手!

为了让幼儿园收费管理更加高效、便捷,我们推出了《幼儿园收费管理系统》!这款软件专为中小型幼儿园设计,集基础信息、幼儿管理、收费管理、车辆管理、生日提醒、报表统计等功能于一身,是您管理幼儿园的得力助手!一、基础设置:一款好的软件,首先要让您轻松上手。我们的系统提供了幼儿园信息、年级设置、班级设置、餐...

几个linux发行版使用感受

linux发行版有哪些linux发行版有上千种,但每一种发行版并不是与其它的发行版没任何关系,有些发行版是基于其他发行版制作的。如果乐意,你自己也可以动手制作属于自己的发行版,然后分发给其他人使用,所以非常自由,可选择的非常多。常见的发行版有:RedHat、Ubuntu、OpenSUSE、Gento...

vue:组件中之间的传值

一、父子组件之间的传值----props/$emit1、父组件向子组件传值--props2.子组件想父组件传值-this.$emit('select',item)二、父组件向下(深层)子组件传值----provide/injectprovide:Object | () => O...

GitLab-合并请求

描述合并请求可用于在您对项目进行的其他人员之间交换代码,并轻松与他们讨论更改。合并请求的步骤步骤1-在创建新的合并请求之前,GitLab中应该有一个创建的分支。您可以参考本章来创建分支-步骤2-登录到您的GitLab帐户,然后转到“ 项目”部分下的项目 -步骤3-单击“ 合并请求”选项卡,然后单击“...

快速掌握 Git:程序员必会的版本控制技巧

在现代软件开发中,版本控制系统(VCS)是开发人员不可或缺的工具。无论是个人项目,还是多人协作的团队开发,良好的版本控制都能确保代码管理的高效性与稳定性。而在版本控制系统中,Git 凭借其分布式、灵活性和高效性,成为了最流行的工具之一。几乎所有的开发团队都在使用 Git 来管理代码版本、协作开发和追...

别让“跑焦”毁所有!仅需这一项设置,即可显著改善镜头对焦精度

我常常会收到一些摄影爱好者的私信,也一直在努力的帮助大家解决更多摄影中常见问题。在我收到的所有问题中。有一个问题是最麻烦的,那就是“为什么我的图像看起来模糊?”。这个问题几乎每个人都遇到过,究其原因可以说是多种多样相对复杂。起初我一直认为是对焦问题所导致,也就有了我之前所写的“后按对焦”以及“对焦模...