问答媒体

 找回密码
 立即注册
快捷导航
搜索
热搜: 活动 交友 discuz
查看: 129|回复: 4

Jellyfin

[复制链接]

2

主题

3

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2022-11-30 12:40:18 | 显示全部楼层 |阅读模式
前言

PS:由于Jellyfin搭建过程比较简单,所以未做记录,本文只记录了CentOS7.9+Docker环境下Jellyfin+1050ti硬解码优化的实现过程。
       之前618给自己的游戏主机做了升级,淘汰下来了一堆硬件,因为不舍得放着吃灰,也懒得挂到闲鱼斗智斗勇,于是用这些硬件DIY组装了自己的个人服务器,除了用作自己的代码托管、搭建博客、个人图床以外,性能还是相当过剩,于是又搭建了磁盘阵列配合Nextcloud用作私人存储,但这个时候服务器性能还有相当大的冗余,尤其是硬盘。抱着不浪费资源的想法,就通过搭建Jellyfin打造了属于自己的家庭流媒体中心。
       美中不足的是,Jellyfin默认是不开启硬解码的,可我硬盘上清一色的4K-HDR资源动辄就是2、30GB,直接播放的话CPU占用率直接拉满,温度直接上85℃(服务器的CPU散热我用的是之前淘汰下来的360一体水冷),这负担属实够大。正巧之前升级主机还淘汰下来一块服役了将近四年的铭瑄1050ti终结者。当时就想,这卡4G显存,75W超低功耗(4090ti:勿cue),四年老将,食之无味弃之可惜,用来做硬解码岂不正合适!
       没错,我把1050ti怼到了服务器上!




驱动安装

0、把显卡插到服务器上,插好显卡供电,开机

1、查看机器上识别到的支持CUDA的GPU列表

lspci | grep -i nvidia2、验证系统是否是受支持的Linux版本(点此查看受支持的Linux版本)

uname -m && cat /etc/redhat-release3、验证系统是否有GCC编译环境

gcc -v4、验证是否安装了内核头文件和开发包

yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)5、禁用nouveau

       nouveau是一个第三方开源的Nvidia驱动,一般Linux安装的时候默认会安装这个驱动。 这个驱动会与Nvidia官方的驱动冲突,在安装Nvidia驱动和和CUDA之前要先禁用nouveau。
       查看系统是否正在使用nouveau:
lsmod | grep nouveau       如果有显示内容,则执行以下命令禁用:
vim /etc/modprobe.d/blacklist-nouveau.conf       写入以下内容后保存并退出编辑:
blacklist nouveau
options nouveau modeset=0       备份当前的镜像:
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak       建立新的镜像:
dracut /boot/initramfs-$(uname -r).img $(uname -r)       重启:
reboot       最后输入最开始的命令验证:
lsmod | grep nouveau6、安装驱动

       驱动下载地址:https://www.nvidia.com/Download/Find.aspx
       根据操作系统和显卡型号找到自己对应的驱动:


       我这边下载下来的文件名为NVIDIA-Linux-x86_64-520.56.06.run,把文件上传到服务器上,并加上执行权限并执行安装:
chmod +x NVIDIA-Linux-x86_64-520.56.06.run
sh ./NVIDIA-Linux-x86_64-520.56.06.run       如果出现“X services error”异常,如下图:


       解决方式为,关闭X窗口会话,并切换为完全多用户模式:
# 关闭X窗口会话
systemctl stop lightdm

# 切换为完全多用户模式
init 3       然后重新运行安装命令,安装结束后,重启服务器,并运行以下命令:
nvidia-smi       若有如下输出即代表安装成功:


7、安装CUDA驱动

       安装完显卡驱动以后,还需要安装CUDA驱动,Jellyfin才能正确使用显卡进行硬解码和HDR视频的色彩映射,驱动下载地址为:https://developer.nvidia.com/cuda-75-downloads-archive


       安装方式图中已说明,这里不再赘述。安装完成后再次执行“nvidia-smi”,若出现CUDA版本信息即代表安装成功:


Docker配置

       我采用的是docker-compose方式启动,在docker容器里使用显卡硬解码需要将GPU与驱动映射至容器内,以下为我的docker-compose.yml配置文件:
version: "3.7"
services:
        jellyfin:
                container_name: jellyfin
        image: "nyanmisaka/jellyfin:221016-amd64"
        environment:
                        - PUID=0
                        - GUID=0
                        - NVIDIA_DRIVER_CAPABILITIES=all
                        - NVIDIA_VISIBLE_DEVICES=all
        ports:
                        - "10029:8096"
                volumes:
                        - "/jellyfin/config:/config"
                        - "/jellyfin/movies:/movies:ro"
                        - "/jellyfin/teleplay:/teleplay:ro"
                restart: always
                devices:
                        - "/dev/dri:/dev/dri"
                                deploy:
                                        resources:
                                                reservations:
                                                        devices:
                                                                - capabilities: [gpu]Jellyfin配置

       浏览器打开并登录到Jellyfin,进入控制台,选择“播放”菜单,并做如图配置:




效果

       至此完成,到我的媒体库里挑一部4K-HDR电影看下效果:






       CPU负载一下就降了下来,温度直接被压在40℃以下,显卡温度也一直保持在50℃以内,显存占用1G出头,媒体播放如德芙般纵享丝滑。


       Jellyfin配合GPU硬解码优化完成!


文章地址

  • 原文链接 - https://halo.namophice.icu/archives/dgk9vbeqbryw2crw
  • 知乎专栏 - https://zhuanlan.zhihu.com/p/577254006
回复

使用道具 举报

1

主题

2

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2022-11-30 12:40:34 | 显示全部楼层
楼主宿主系统是什么[思考]我现在用pve  用j4125核显解码有点难顶 单部4K不是很友善
回复

使用道具 举报

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2022-11-30 12:40:42 | 显示全部楼层
你这个画面看起来就不是hrd开了。。。
回复

使用道具 举报

1

主题

6

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2022-11-30 12:41:31 | 显示全部楼层
确实有这种感觉,图是最开始入坑的时候截的,看起来有点发黄,排查后发现hdr确实开了,我关闭以后试过,整个画面灰蒙蒙的,最后发现是这部的源文件有问题,其他的资源看起来就很正常,但是依然有种还差点那味儿的感觉,目前仍然在调参优化中
回复

使用道具 举报

1

主题

3

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2022-11-30 12:41:45 | 显示全部楼层
宿主系统ubuntu,个人认为主要还是硬件的性能原因,毕竟我怼了张1050ti上去做硬解
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver| 手机版| 小黑屋| 问答媒体

GMT+8, 2025-7-9 13:27 , Processed in 0.108794 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2020, LianLian.

快速回复 返回顶部 返回列表