Linux安装jellyfin硬件加速,ESXi7,黑群晖,Jellyfin与NVIDIA硬解的解决方案

Last updated on 2021年1月25日

这是一片没有人的领地,基本没有现成的文章和教程,参考了网络上几乎所有相关教程,总结如下。

关于实现之后的效果,可以参考:https://www.lxg2016.com/54176.html

简单来说,有几个要点:

直通NVIDIA显卡时需要加参数hypervisor.cpuid.v0=FALSE,从而让显卡认为自己在物理机上。

可以使用NFS挂载群晖下的文件夹存放数据

jellyfin的硬解需要安装ffmpeg,ubuntu下可以sudo apt install ffmpeg后用which ffmpeg查看位置,填写到jellyfin中

watch -n 1 nvidia-smi可以查看显卡状态;htop查看cpu和内存状态

我的配置:

Xeon W-2140b, X11SRM-VF, GTX1650

安装ESXi7,并安装ubuntu 20.04.1,直通显卡

略,其他文章已经很多了

注意:

1. 直通显卡需要把VGA和声卡都添加进去,也就是需要添加两个PCI设备

2. 设置直通的文章已经很多了,此处略去

3. 直通需要设置内存预留

4. 需要添加参数hypervisor.cpuid.v0=FALSE,让显卡以为还是在物理机中

00c7524a94d91254f6971614b426e0ac.png添加hypervisor.cpuid.v0=FALSE

安装Ubuntu的显卡驱动和CUDA

这就是一个黑洞……很多文章的方法会出现各种各样的问题,这里我只介绍一种方法。通过这种方式,我成功了。

此处参考了博客:https://morningd.github.io/2018/07/20/esxi-ubuntu-install-nvidia-driver/,特别感谢大佬

步骤:

禁用 nouveau

nouveau 是 ubuntu 系统自带的开源驱动,所以先要把他禁用掉。

sudo vim /etc/modprobe.d/blacklist.conf

添加一行

blacklist nouveau

执行

sudo update-initramfs -u

重启后如果 lsmod | grep nouveau 没有输出,说明已经禁用了 nouveau 了。

禁用 X 服务:我的ubuntu没有这个服务,但执行一遍也没问题

sudo service lightdm stop

键盘 Ctrl+Alt+F1 进入 tty1,登录。

安装驱动文件

执行 sudo ./NVIDIA-Linux-x86_64-384.66.run --no-opengl-files 安装驱动文件,注意参数。安装过程中 dkms 选择 yes,其余 continue 就好了。如果全程没有出错,重启,运行 nvidia-smi 将会输出显卡信息,恭喜你安装成功了。如果你遇到了编译错误,请接着往下看。(请参照原博客)

这时,使用nvidia-smi就应该可以出现这个界面了

7cff05bc856707df43711a425ea257c2.pngnvidia-smi

接下来安装CUDA套件

其实也就两行:

wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run

sudo sh cuda_11.1.0_455.23.05_linux.run

注:不同版本的行不行我不是很清楚,需要进一步实验

安装Jellyfin

这里参考了:https://twsyue.com/archives/life-media-2020062120.html

sudo apt install apt-transport-https

wget -O - https://repo.jellyfin.org/jellyfin_team.gpg.key | sudo apt-key add -

echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/$( awk -F'=' '/^ID=/{ print $NF }' /etc/os-release ) $( awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release ) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

sudo apt update

sudo apt install jellyfin

以上就安装好了,在网页配置jellyfin的部分略过不表,自己打开IP:8096一步一步来就行了很简单

控制指令:

sudo systemctl {action} jellyfin.service

注意:这篇文章后面的硬件加速教程并不适用,稍后会有说明

挂载NFS文件夹

这部分参考了:https://www.mls-tech.info/linux/ubuntu-18-nfs-client/

目的在于可以将媒体服务器和NAS解绑,从而让硬件加速成为可能(群晖DSM不支持额外的GPU,至少DS918的系统在6.22下是不支持的,能开机但不能驱动)

设置完成后,我将群晖的/video文件夹映射到了/home/vision/mnt/video文件夹,并在jellyfin中添加了这个文件夹作为Movie的所在地,没有出现问题。(反观windows下的jellyfin不能添加网络文件夹,而且如何让应用把网络文件夹当做本地文件夹的方法全网也没有找到,只能用linux这边的解决方案了)

以下内容可以直接去上面贴出的博客连接

安装并设置客户端

首先,在 Ubuntu 18.04 的机器上执行以下命令来安装 NFS Client。复制

sudo apt-get update

sudo apt-get install nfs-common

安装好以后,我们就可以通过 “showmount” 的命令来查看在指定机器 (IP 地址) 上已经共享的 NFS 文件。比如:

showmount -e 192.168.1.100

就可以看到刚才在 NAS 上共享的文件夹。

如果需要访问 NAS 上的文件夹,首先需要挂载 (mount) 该共享文件夹到本地。

首先在本地建立一个文件夹,比如建立一个名为 nfs_music 的文件夹复制

sudo mkdir /mnt/nfs_music

然后执行以下命令挂载:复制

sudo mount -t nfs 192.168.1.100:/volume1/music /mnt/nfs_music

“/volume1/music” 是共享文件夹在 NAS 上的目录。

为查看挂载的效果,可以使用 df -h 命令复制

df -h

你将得到类型下面的系统输出:复制

1

2

3

4

5

6

7

8

9

10

11Filesystem Size Used Avail Use% Mounted on

udev 967M 0 967M 0% /dev

tmpfs 200M 1.1M 199M 1% /run

/dev/sda2 5.9G 3.1G 2.6G 55% /

tmpfs 997M 0 997M 0% /dev/shm

tmpfs 5.0M 0 5.0M 0% /run/lock

tmpfs 997M 0 997M 0% /sys/fs/cgroup

/dev/loop0 89M 89M 0 100% /snap/core/7270

/dev/loop1 92M 92M 0 100% /snap/core/8689

192.168.1.100:/volume1/music 1.0T 1.0T 307G 70% /mnt/nfs_music

tmpfs 200M 0 200M 0% /run/user/1000

设置开机自动挂载 NFS

执行以上步骤后,如果重启客户端机器,需要再次执行 mount 命令来挂载 NFS 共享目录,如果希望在开机时自动挂载,需要编辑 /etc/fstab 文件,执行:复制

1sudo vi /etc/fstab

在文件末尾加上如下的行:复制

1192.168.1.100:/volume1/music /mnt/nfs_music nfs defaults,timeo=900,retrans=5,_netdev 0 0

用你的 IP 地址和目录名替换掉命令中相应的内容,编辑完以后,保存退出。 这样在机器重启时也能自动挂载 NFS 共享目录了。

为Jellyfin开启显卡加速

这就是这篇文章的关键部分了,似乎这个需求非常小众,单独买一张显卡为了解码也并不是大多数人会做的选择。(但就是想All in One)

这里需要安装FFmpeg

这是NVIDIA官方关于FFMpeg的页面:https://developer.nvidia.com/ffmpeg

重点在于这一部分:

c1a53db42ff50c4062af251feda5c85d.png

这个方法看起来很正规,但比较复杂,我并没有采用。

我选择了一种非常简单的安装方法:

sudo apt update

sudo apt install ffmpeg

ok,这就可以了

然后使用:which ffmpeg 查看安装路径,我安装到的是 /usr/bin/ffmpeg,记下这个位置

然后去web页面,如下配置:

d0fd0b5fe51acfb3ce0a1a13d95cfe2f.png

这里可以勾选上所有的硬件解码选项,因为GTX1650都可以硬解这些视频

硬解能力参考:https://developer.nvidia.com/video-encode-decode-gpu-support-matrix

可以看到,能买到桌面版的最便宜的,功耗最低的,全都能解码的就是GTX1650了,这也是我购买GTX1650作为解码卡的原因

2021.1.25补充一点:GTX1650的NVENC/NVDEC使用的是Volta架构,而从GTX1660开始才是Turing架构,买新不买旧建议1660,当然如果想要一点Volta遗物的话,1650也是可以的:)

测试

32e2ac0e0ce9612835f2385fe39d3ffc.png

可以看到,显存占用也并不大,同时满足多人在线观看也完全可以。

其他参考资料:

还有好多好多其他的博客和文章,感谢各位大佬前辈的指导

赞过:

赞 正在加载……

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装ESXi黑群晖NAS的教程如下: 1. 首先,确保你已经下载了ESXi安装包,并从[Rufus官方下载地址](https://rufus.ie/)下载并安装了Rufus软件。 2. 使用Rufus软件将ESXi安装包制作成一个安装优盘。这将用于在安装黑群晖之前安装ESXi操作系统。请按照[Rufus官方下载地址](https://rufus.ie/)上的说明进行操作。 3. 完成ESXi安装优盘的制作后,将优盘插入你想要安装黑群晖的计算机。 4. 启动计算机并进入BIOS界面。在BIOS中,将启动选项设置为从优盘启动。 5. 保存设置并重启计算机。计算机将从ESXi安装优盘启动。 6. 在ESXi安装界面中,按照屏幕上的指示进行安装。你需要选择适当的磁盘来安装ESXi操作系统。 7. 完成ESXi安装后,重新启动计算机,并确保计算机从安装好的ESXi操作系统启动。 8. 在ESXi操作系统中,通过访问ESXi的管理界面来配置网络和其他设置。请按照ESXi的官方文档或用户手册进行操作。 9. 下一步是安装黑群晖。为此,请下载黑群晖安装程序,并根据黑群晖的官方文档和教程进行安装。通常情况下,你需要将黑群晖安装程序复制到ESXi操作系统上,并在ESXi的管理界面中创建一个虚拟机并分配适当的资源。 10. 完成黑群晖安装后,你可以通过访问黑群晖的管理界面来配置和管理你的NAS系统。 请注意,以上是一个基本的安装教程概述,具体的步骤和操作可能因个人的硬件和软件配置而有所不同。建议在安装过程中参考ESXi黑群晖的官方文档和用户手册以获得更准确和详细的指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值