玩机日记 14 飞牛fnOS部署qBittorrent、AList、Jellyfin,实现下载、存取、刮削、观看一体的家庭影音中心
目录
观前提示:
1、前置条件
2、安装配置qBittorrent
简单配置
延时启动
配置AList的离线下载
配置qBittorrent不走代理
3、安装配置Jellyfin
建立媒体库目录
安装Jellyfin
配置Jellyfin媒体库
打开硬件解码
启用备用字体
配置Jellyfin的SSL
观前提示:
AList的配置在上一篇
玩机日记 13 飞牛部署AList并配置SSL,使用rclone挂载到本地-CSDN博客
1、前置条件
检查一下你的飞牛共享文件夹是否挂载到了Windows11
检查一下AList网盘是否挂在到了共享文件夹
如果没有完成上述挂载,请回看
玩机日记 10 fnOS 开启文件传输服务挂载到手机/电脑,测试传输性能-CSDN博客
玩机日记 13 飞牛部署AList并配置SSL,使用rclone挂载到本地-CSDN博客
2、安装配置qBittorrent
为什么不在Windows11中安装qBittorrent?rclone+AList的性能损耗已经很大了,再套一层smb传输的话,亲测会卡到怀疑人生
简单配置
打开之后配置一下账号密码还有ssl证书
我们希望尽可能减少在网盘内的读写来提高性能。因此下载未完成之前我建议可以保存在本地,下载完成后再移动到网盘。可以像这样设置
记得给qBittorrent文件夹的读写权限!!!
强烈建议限制上传速度。qb的做种会占用我们往网盘里传文件的带宽,如果qb上传占用了太多带宽,rclone就需要更多时间才能将本地文件上传到网盘(在此期间会消耗系统性能,而且如果群晖关机的话,尚未上传的缓存内的数据就丢失了)
务必设置自动停止做种
从网盘做种,实际上并不是读取网盘的文件,而是读取本地的vfs缓存。如果一直读取,vfs缓存就永远不会过期,就会越来越大,占用越来越多的硬盘空间。所以不能让qb的做种行为一直读取网盘文件。
重启qb
延时启动
如果使用qBittorrent下载资源到AList挂载的网盘中,重启飞牛过后,会报错丢失文件。
如果出现这种情况,全选文件然后点继续即可恢复
我在上一篇rclone挂载AList的时候有提到,AList作为开机自启的套件,需要一些时间完成启动。因此rclone不会立刻挂载,而是等AList启动完毕后才挂载。
但是qBittorrent同样作为套件,它和AList是同时启动的。也就是说,在qBittorrent启动完成过后,它会尝试继续做种,但此时rclone还没有把AList挂载到本地,qBittorrent一时间找不到之前下载的文件,便会报错丢失文件。
为了解决这个问题,我们可以编辑qBittorrent的启动脚本,让它检测rclone挂载好了再启动。
nano /var/apps/qBittorrent/cmd/common
找到 start_daemon () ,在合适的位置插入延时启动
# 检查AList是否准备就绪
while [ ! -d "/vol2/1000/飞牛网盘/AList/天翼云盘" ]; do
sleep 1
done
#上述代码段通过检查AList中的网盘目录是否出现,来判断延时启动
#我的AList挂载在/vol2/1000/飞牛网盘/AList/,在AList启动后里面会出现 天翼云盘
#假设你的AList挂载在/vol1/AList/,里面有一个百度网盘,那么双引号""里面就填 /vol1/AList/百度网盘
配置AList的离线下载
既然已经配置了qBittorrent,顺便配置一下AList的离线下载功能吧。
由于qBittorrent配置了ssl证书而AList会检查ssl证书,证书又绑定了域名。因此这里要输入
https://qb账号:密码@你的.域名:8085
比如账号是123,密码是456,域名是www.baidu.com,那就输入
https://123:456@www.baidu.com:8085
然后点击设置qBittorrent,看看能不能连接成功。
设置好之后就可以使用离线下载了。
配置qBittorrent不走代理
插件设置往下拉,内部端口30000-65535
3、安装配置Jellyfin
建立媒体库目录
我们下载下来的资源,有时候标题会带一些奇奇怪怪的特殊符号,文件夹里面会有一些特典、扫描、主题曲等等,这些东西都会干扰Jellyfin的识别。但是如果直接修改文件名、目录结构、删除子文件夹等等,又会导致qBittorrent报错丢失文件。
当然你可以用qBittorrent自带的重命名功能这样就不会丢失文件了,但是我操作了一下感觉极其的麻烦,在有大量媒体文件时会消耗大量时间和精力。
我想到的解决方案是建立软连接,把文件夹还有子文件夹下的文件都保存原本的目录结构链接到群晖的共享文件夹内,然后删除不需要的链接并修改链接的名字,调整目录结构,这样不会对原文件产生影响。
新建link_files.sh
vim /usr/local/bin/link_files.sh
#输入以下内容
#!/bin/bash
# 检查参数
if [ "$#" -ne 2 ]; then
echo "用法: $0 <源文件夹> <目标文件夹>"
exit 1
fi
src_dir=$(realpath "$1") # 获取源文件夹的绝对路径
dest_dir=$(realpath "$2") # 获取目标文件夹的绝对路径
# 确保源文件夹存在
if [ ! -d "$src_dir" ]; then
echo "错误: 源文件夹 '$src_dir' 不存在!"
exit 1
fi
# 遍历源文件夹中的所有文件
find "$src_dir" -type f | while IFS= read -r file; do
# 计算相对路径
rel_path="${file#"$src_dir"/}"
dest_path="$dest_dir/$rel_path"
# 创建目标目录(如果不存在)
mkdir -p "$(dirname "$dest_path")"
# 创建符号链接
ln -s "$file" "$dest_path"
done
echo "所有文件已成功链接到 $dest_dir"
#输入完成,按Esc :wq回车保存并退出
chmod +x /usr/local/bin/link_files.sh #给予可执行权限
#假设你想把 /vol1/A/ 文件夹下的所有文件都链接到 /vol1/B/ 文件夹下
link_files.sh /vol1/A/ /vol1/B/
#如果文件夹名字太长且带有特殊符号不方便输入怎么办?善用Tab键命令补全,
#输入前几个标点和字符,然后按一下Tab即可补全路径
示例用法:
我直接把qb的下载目录 /vol2/1000/飞牛网盘/AList/天翼云盘/qbdownload 下面的所有文件全部链接到 /vol2/1000/飞牛网盘/video
100G的文件,只需要几秒钟就可以连接完成
回到Windows11上可以看到两个目录下出现了一模一样的文件
大小还是100g
而且也可以正常播放
接下来需要批量修改文件名。应该有很多工具可以实现吧。我比较习惯使用手机上的MT管理器。之前已经用sftp连接上了飞牛网盘玩机日记 10 fnOS 开启文件传输服务挂载到手机/电脑,测试传输性能-CSDN博客
改完之后绝对不会影响识别了,而且也非常一目了然
把你的所有节目和电影分两个文件夹整理好
整理的时候会遇到一些字体文件的压缩包,找个文件夹全部解压进去,后面有用
安装Jellyfin
添加访问权限
配置Jellyfin媒体库
建立第一个节目文件夹,把你的文件夹添加进去,开启实时监控,把元数据下载器都勾上
在配置了网络代理或者修改了hosts的前提下,Jellyfin会自动扫描并刮削元数据
如果有识别错误的可以手动重新识别
扫描、识别完成后的效果展示
连小众番剧都能达到这么好的识别效果,还要啥TMM(TinyMediaManager)呢?
同样的方法添加电影媒体库
等待扫描完成
完成效果
打开硬件加速解码
我的uhd730不支持av1编解码所以av1相关的不开,否则会报错。记得拉到最下面点保存!
启用备用字体
播放一个视频试试看
什么情况,这字幕为啥都是方框?
这是因为Jellyfin没有内置字幕用到的字体文件,所以无法显示。
还记得我们之前解压的字体文件夹吗?把它添加到备用字体路径,启用备用字体。
再次播放,这样就正常显示了
配置Jellyfin的SSL
启用https
配置pfx证书和密码
玩机日记 1 前期准备工作:申请公网ipv4、购买域名、申请SSL证书-CSDN博客
在日记8中我们下载了pfx证书
玩记日记 8 PC使用moonlight远程连接PVE上的Windows11,开启Windows11的远程桌面和ssh并添加转发,给远程桌面添加ssl证书-CSDN博客
修改fnos中jellyfin的启动url
然后重启jellyfin
重启完成后从fnos打开jellyfin,正常访问,而且已经启用了https,没有红叉
测试硬件加速转码
手机jellyfin客户端打开一个hevc视频,电脑打开网页端控制台就可以看到转码了
下载手机jellyfin客户端jellyfin/jellyfin-android: Android Client for Jellyfin
我的fnos上运行了一些进程,闲置时cpu也有10%以上的占用。转码的时候帧率很高而且cpu占用也没怎么上涨,说明确实是在用硬件加速转码了。