基于unraid打造家用影音服务器
虽然逛张大妈好几年了,但是架不住懒癌晚期从来没写过文章 ,今年趁着在家隔离的时间写一下最近给家里添置的影音服务器。
本文的主要内容:
解决githubassets.com域名污染导致不能安装unraid应用中心的问题
flexget和transmission配置RSS订阅自动下载
解决jellfyin不能GPU加速的问题
购买理由
此处都是本人发自内心的废话,各位看官可以直接跳过 。
本人也没什么爱好,闲着没事就想在家看看电影啥的。之前一直用着一台黑群晖,前两年大船带着DQ77KB靠岸的时候趁着便宜淘了一片,然后捡了个惠普的服务器硬盘笼子自己做了个机箱凑合用到了现在,因为肺炎现在在老家待着,手里没图,大家想象一下就行,我是图 ,用了差不多也有两年了吧,一直任劳任怨,从没挂过。
简单说一下用到的软件,新的unraid用了一样的软件方案,正文会详细写怎么配置,flexget和transmission自动下电影,靠DSvideo刮削海报墙,电视上装了个DSvideo用来播放,说起来这套东西用着也还可以,只是黑裙一直没有洗白,不能硬解,我的电视又是最便宜的小米,现在稍微解点高码率的视频就卡,实在不能忍,于是换一套系统的想法一直在心里荡漾 其实就像想瞎折腾。
年前一段时间发现大妈上有人在写unraid的文章,浏览了一下发现这不就是我一直想找的系统吗 ,磁盘阵列组合自由,硬盘数量可以随用随加,支持正常磁盘格式组阵列,即使系统或者某个硬盘挂了其他盘拆下来挂到电脑上也可以正常读出剩下的数据,有应用商城,各种工具齐全,关键是还可以硬解,简直完美 。唯一的问题是这是个收费的系统,不过网上也有很详细的和谐版教程,当然各位如果资金充裕的话还是建议支持一下正版。
选好了系统那么接下来就要决定硬件了,要不要直接装在之前的机器上这是个问题,虽然我自己设计的机箱有一点点心血在里边 ,但是我早就看它不爽了,一点都不好看,毕竟这是个看脸的时代 。寻寻觅觅之后还是在大妈发现了暴风酷播云和蜗牛星际,本来本着省钱的原则是想入蜗牛星际的,仔细看过发现蜗牛星际从最开始的一百多涨到了现在的三四百,这不能忍啊,到手就亏一两百的事忍不了,再加上J1900的性能实在有些不够看,索性加点钱买了暴风酷播云,700块找了一家看起来比较靠谱的店,本来还有点忐忑,到手发现嗯真香,原包装都在,机器怎么说也有9.5新,拎起来也够压手,这机箱用料够厚实 。
念念碎了那么久下面进入正题,介绍一下软件部分的安装和配置,不只是为了分享,也是为了给自己留个记录,省的以后忘记了。
软件安装和配置
1.unraid系统安装
这部分比较简单,我也是参考其他人的教程来的,b站上有up主司波图的视频教程,大妈上也有详细的教程,具体可以参考下面的链接。
找个不用的u盘用来制作引导盘,主板选择从usb设备引导开机,基本可以正常开机,唯一要补充的一点是unraid开机后默认用户root,密码没有,进入系统后可以设置新的密码。第一次开机我在登陆界面懵逼了好久 想密码是啥。
现在假设你有了一台安装有unraid的电脑,和可以下各种影视资源的网站,接下来就是本文的重点了,如何配置rss订阅实现自动下载和海报墙自动刮削。
2.安装app中心
刚装好的unraid默认是没有app中心的,我们需要通过插件安装应用中心。
点击PLUGINS,Install Plugin,输入app中心地址:
点击INSTALL,之后刷新页面就可以看到顶上菜单栏多了一个APPS选项。
如果出现下面的错误,是因为githubassets.com域名解析被污染了。
通过修改hosts可以临时解决这个问题,在命令行模式下输入vi /etc/hosts,在hosts文件中添加以下内容保存就可以继续了。
199.232.4.133 raw.githubusercontent.com
3.安装flexget
unraid的apps菜单下搜索flexget
我最开始用的activ/flexget这个镜像,但是发现不能设置默认密码,最后不得不换了一个镜像用,各位看官可以自己试一下,我目前用的是wiserain/flexget这个镜像,容器设置如下图:
如果你想跟我一样想用wiserain/flexget的话可以在app中心选择activ/flexget,在安装的时候手动把repository改为wiserain/flexget。
Docker运行之后,点击flexget,console启动终端
在终端输入
flexget web passwd <your password>
可以设置webui的密码
4.安装transmission
在app中心搜索transmission。
我用的是linuxserver的镜像,docker仓库是linuxserver/transmission,配置页面如下,管理页面端口号和存储目录可以根据你的需要自行修改。
5.配置flexget,实现rss订阅通过transmission自动下载
Flexget有两种方法实现transmission自动下载:
第一中方法是transmission开启watch目录,flexget把种子下载到watch目录,transmission检测到watch目录下的新种子自动下载。
第二种方法不需要开启watch目录,flexget通过transmissionrpc调用transmission的web接口将种子添加到下载任务队列。
通常用第一种方式就可以,但是我想把电影和电视剧分开存放到不同目录,第一种方法是实现不了的,只能用第二种方法,所以我把两种配置都写一下。
打开flexget的web页面,登陆之后点击左侧的config,进入配置页面。
配置文件可以参考如下
tasks:
cmct-movies:#task名字,随意写
rss: *************#你的RSS订阅地址
accept_all: no #开启rss订阅过滤,yes不过滤,接受所有种子
regexp: #rss订阅过滤器,接受title中包含Movies,Animations,Docs关键字的种子
accept:
- Movies
- Animations
- Docs
from: title
download: /data#种子下载目录,此处对应transmission的watch目录,保存种子,transmission自动下载
cmct-tv:#第二种配置方法
rss: *****************#你的RSS订阅地址
accept_all: no
regexp:
accept:
- TV Series
- TV Shows
- Sports
from: title
download: /data/TV
transmission:#通过transmission的web接口添加下载任务
host: ***.***.***.***#你的transmission web地址
port: ****#你的transmission web端口
username: ****#用户名
password:****# 密码
path: /downloads/TV #transmission下载目录
schedules: #flexget定时任务,每15分钟执行所有task一次
- tasks: '*'
interval:
minutes: 15
6.安装jellyfin,设置硬解
首先需要开启核显,unraid默认不开启核显。
打开unraid终端,输入modprobe i915并执行,查看/dev/dri目录下有render128表示核显开启。
为了开机自动开启核显可以将以上命令添加到/boot/config/go文件中。
在app中心查找jellyfin并安装,配置如下
Jellyfin的镜像依然是linuxserver的,配置中的影音目录和webui端口号可以根据需要进行修改。
Jellyfin docker运行后在浏览器输入unraid的ip:jellyfin端口号就可以登陆jellfin的页面,第一次登陆需要设置账号,媒体库,登陆之后点击最右上角控制台选项,选择播放,设置硬件加速。
媒体库选项下可以新加媒体库,根据媒体文件分类对应不同的媒体文件夹,其他配置默认即可。
配置完成可以扫描媒体库,扫描媒体库后在主页对应的媒体库下能看到你对应文件夹下的媒体文件,海报墙和影片介绍会根据关键字自动刮削。
如果发现不对的可以手动修改,点击海报右下角的更多,识别,可以手动修改影片名称或IMDb id,之后会根据你手动填写的信息搜索对应影片信息,选择对的那个就好。
正常情况下都设置好之后就可以开始用了,但是在使用时我发现我的jellyfin不能用GPU加速,随便开个视频cpu就爆表了。
打开jellfyin的终端,找到ffmepg后,发现ubuntu里apt-get安装的ffmpeg不支持intel qsv加速,如下图
为了这个问题我又装了一个ubuntu的虚拟机,花了好长时间编译了ffmpeg,然后准备自己做jellyfin docker镜像 这个时候灵光一现,为啥别人都可以加速我的怎么就不行呢,也没见其他人自己编译ffmpeg呀 又回头仔细排查了一下,这才发现是权限问题。
可以看到renderD128设备的用户和用户组分别是root和video,其他用户是没有操作权限的,而我运行jellyfin的用户是admin,并不在video组里,理所当然没有操作renderD128的权限 。所以只要把admin追加到video组就可以解决问题了,在unraid的终端里输入如下命令追加admin到video用户组。
sudo usermod -aG video admin
修改过后重启jellyfin,打开一个电影可以看到cpu占用率基本不会超过50%,安逸了。
使用感受
目前整个设备已经配置好了,但是这几天肺炎的原因在老家隔离呢,还没有正式开始用新的服务器,从目前的配置和简单的使用来看应该是能满足我的需求的,没什么意外估计这套软件应该会用挺长一段时间。希望后边用起来不要掉链子 。
最后还有一个问题望清楚的大佬指点一下
虽然gpu加速可以用了,但是实际上在终端里查看ffmpeg信息可以看到通过apt-get安装的ffmpeg确实是不支持intel qsv插件的,实践说明现在可以调用gpu加速,但我还是不明白怎么实现的,如果有大佬清楚还请不吝赐教。
睁眼就欠钱
校验提示文案
颤栗的华尔兹
校验提示文案
最爱早睡的人
校验提示文案
ma_kkty1
校验提示文案
YIMSHING
校验提示文案
最爱早睡的人
校验提示文案
msnadsl
校验提示文案
BiN12Ni
校验提示文案
fdxwb
校验提示文案
四川男神李贝贝
校验提示文案
叁玖
校验提示文案
22日25777
校验提示文案
蓝的天白的云
校验提示文案
Fisher
1.jellyfin硬解设置ok,怎么看是否起作用了呢,需要用手机端还是?求个详细的判定方法
2.一直用的docker部署的transmission做下载,前天也是装的w开头的flexget镜像,映射目录配置和楼主的也一样,但是只看到下载了种子,并没有视频文件,tr里看进度也100了。就是找不到在哪,配置的目录里没有。见了鬼了,个别日志里还有no functional input 或者 undecided字样,求解
校验提示文案
值友96
校验提示文案
值友3214197815
校验提示文案
yoyomomomo
校验提示文案
Luiqi
校验提示文案
secondxufei
校验提示文案
安啦吃大肉
校验提示文案
尾巴小朋友
校验提示文案
暂客_Zanker
校验提示文案
一顿吃两碗碗
校验提示文案
始于热爱
校验提示文案
xuanqc
校验提示文案
xuanqc
校验提示文案
盈脉
校验提示文案
LB55
校验提示文案
黑之小白
校验提示文案
LB55
校验提示文案
secondxufei
校验提示文案
Iam大森林
校验提示文案
杰哥778
操作步骤都是按您的一步一步来的
校验提示文案
大表哥2046
校验提示文案
xiii13024
这句话不需要修改,之前在docker安装时已经制定了下载目录,不需要再次修改
校验提示文案
高坂京介
校验提示文案
hh7856
校验提示文案
囧囧在此
校验提示文案
secondxufei
校验提示文案
lzl19900514
校验提示文案