玩机日记 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/天翼云盘" ]; dosleep 1done#上述代码段通过检查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 ]; thenecho "用法: $0 <源文件夹> <目标文件夹>"exit 1
fisrc_dir=$(realpath "$1")   # 获取源文件夹的绝对路径
dest_dir=$(realpath "$2")  # 获取目标文件夹的绝对路径# 确保源文件夹存在
if [ ! -d "$src_dir" ]; thenecho "错误: 源文件夹 '$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"
doneecho "所有文件已成功链接到 $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占用也没怎么上涨,说明确实是在用硬件加速转码了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/24238.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于全志T527+FPGA全国产异步LED显示屏控制卡/屏幕拼接解决方案

T527FPGA方案&#xff1a; 内置8核Cortex-A55&#xff0c;主频最高1.8Ghz&#xff1b;G57 MC1 GPU&#xff0c;2Tops算力NPU&#xff1b;同时内置1RISC-V2DSP核&#xff0c;拥有4K高清解码强大性能&#xff0c;配备多种显示接口与2千兆以太网口&#xff0c;4RS485&#xff08;…

电脑键盘知识

1、键盘四大功能区 1. 功能区 2. 主要信息输入区 3. 编辑区 4. 数字键盘区 笔记本电脑键盘的功能区&#xff0c;使用前需先按Fn键 1.1、功能区 ESC&#xff1a;退出 F1&#xff1a;显示帮助信息 F2&#xff1a;重命名 F4&#xff1a;重复上一步操作 F5&#xff1a;刷新网页 …

代码审计入门学习

简介 HadSky轻论坛程序为个人原创PHP系统&#xff0c;作者为蒲乐天&#xff0c;后端基于puyuetianPHP框架驱动&#xff0c;前端基于 puyuetianUI框架驱动&#xff0c;默认编辑器为puyuetianEditor富文本编辑器&#xff0c;其他非原创框架及驱动JQuery.js 及Font-Awesome字体库…

基于 C++ Qt 的 Fluent Design 组件库 QFluentWidgets

简介 QFluentWidgets 是一个基于 Qt 的 Fluent Designer 组件库&#xff0c;内置超过 150 个开箱即用的 Fluent Designer 组件&#xff0c;支持亮暗主题无缝切换和自定义主题色。 编译示例 以 Qt5 为例&#xff08;Qt6 也支持&#xff09;&#xff0c;将 libQFluentWidgets.d…

架构思维:分布式缓存_提升系统性能的关键手段(上)

文章目录 引言一、缓存的特点二、缓存的关键指标-命中率三、缓存的使用场景四、缓存的种类与应用五、缓存存储&#xff1a;哈希表实现六、分布式缓存与一致性哈希七、优化缓存性能总结 引言 分布式架构 缓存技术作为架构设计中重要的性能优化手段&#xff0c;在现代互联网系统…

C# 打印Word文档 – 4种打印方法

Word文档是日常办公和学习中不可或缺的一部分。比如在商务往来中&#xff0c;经常需要打印 Word 文档用于撰写和传递正式的商务信函、合作协议、项目提案等。打印出来的文档便于双方签字盖章&#xff0c;具有法律效力和正式性。本文将提供以下4种通过C# 打印Word文档的方法&…

数据结构(陈越,何钦铭) 第四讲 树(中)

4.1 二叉搜索树 4.1.1 二叉搜索树及查找 Position Find(ElementTyoe X,BinTree BST){if(!BST){return NULL;}if(X>BST->Data){return Find(X,BST->Right)}else if(X<BST->Data){return Find(X,BST->Left)}else{return BST;} } Position IterFind(ElementTyp…

网络空间安全(1)web应用程序的发展历程

前言 Web应用程序的发展历程是一部技术创新与社会变革交织的长卷&#xff0c;从简单的文档共享系统到如今复杂、交互式、数据驱动的平台&#xff0c;经历了多个重要阶段。 一、起源与初期发展&#xff08;1989-1995年&#xff09; Web的诞生&#xff1a; 1989年&#xff0c;欧洲…

【Matlab仿真】Matlab Function中如何使用静态变量?

背景 根据Simulink的运行机制&#xff0c;每个采样点会调用一次MATLAB Function的函数&#xff0c;两次调用之间&#xff0c;同一个变量的前次计算的终值如何传递到当前计算周期来&#xff1f;其实可以使用persistent变量实现函数退出和进入时内部变量值的保持。 persistent变…

网络安全 linux学习计划 linux网络安全精要

2.使用命令行 文件系统层次标准&#xff08;FHS&#xff09;是一个文件和目录在Unix和Linux操作系统上面应该如何存储的定义。 /bin 重要的二进制可执行程序/boot 与系统启动有关的文件/etc 系统配置文件/home 普通用户家目录/lib 重要的系统库/media 可移动介质的挂载路径/m…

基于SSM的《计算机网络》题库管理系统(源码+lw+部署文档+讲解),源码可白嫖!

摘 要 《计算机网络》题库管理系统是一种新颖的考试管理模式&#xff0c;因为系统是用Java技术进行开发。系统分为三个用户进行登录并操作&#xff0c;分别是管理员、教师和学生。教师在系统后台新增试题和试卷&#xff0c;学生进行在线考试&#xff0c;还能对考生记录、错题…

Pretraining Language Models with Text-Attributed Heterogeneous Graphs

Pretraining Language Models with Text-Attributed Heterogeneous Graphs EMNLP 推荐指数&#xff1a;#paper/⭐⭐#​ 贡献&#xff1a; 我们研究了在更复杂的数据结构上预训练LM的问题&#xff0c;即&#xff0c;TAHG。与大多数只能从每个节点的文本描述中学习的PLM不同&…

DeepSeek 提示词:基础结构

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…

2025-02-25 学习记录--C/C++-用C语言实现删除字符串中的子串

用C语言实现删除字符串中的子串 在C语言中&#xff0c;你可以使用strstr函数来查找子串&#xff0c;然后用memmove或strcpy来覆盖或删除找到的子串。 一、举例 &#x1f430; #include <stdio.h> // 包含标准输入输出库&#xff0c;用于使用 printf 函数 #include <s…

Python入门12:面向对象的三大特征与高级特性详解

面向对象编程&#xff08;OOP&#xff09;是Python编程中非常重要的一部分&#xff0c;它通过封装、继承和多态这三大特征&#xff0c;帮助我们更好地组织和管理代码。除此之外&#xff0c;Python还提供了一些其他特性&#xff0c;如类属性、类方法和静态方法&#xff0c;进一步…

对计算机中缓存的理解和使用Redis作为缓存

使用Redis作为缓存缓存例子缓存的引入 Redis缓存的实现 使用Redis作为缓存 缓存 ​什么是缓存&#xff0c;第一次接触这个东西是在考研学习408的时候&#xff0c;计算机组成原理里面学习到Cache缓存&#xff0c;用于降低由于内存和CPU的速度的差异带来的延迟。它是在CPU和内存…

音视频入门基础:RTP专题(12)——RTP中的NAL Unit Type简介

一、引言 RTP封装H.264时&#xff0c;RTP对NALU Header的nal_unit_type附加了扩展含义。 由《音视频入门基础&#xff1a;H.264专题&#xff08;4&#xff09;——NALU Header&#xff1a;forbidden_zero_bit、nal_ref_idc、nal_unit_type简介》可以知道&#xff0c;nal_unit…

Linux 驱动入门(6)—— IRDA(红外遥控模块)驱动

文章目录 一、编译替换内核和设备树二、IRDA&#xff08;红外遥控模块&#xff09;1. 红外遥控简介2. 红外遥控器协议3. 编程思路 三、驱动代码1. GPIO 实现1.1 驱动层代码1.2 应用层代码 2. 设备树实现2.1 修改设备树2.2 驱动层代码2.3 应用层代码 3. 上机测试 一、编译替换内…

QSNCTF-WEB做题记录(2)

[第一章 web入门]常见的搜集 来自 <天狩CTF竞赛平台> 1&#xff0c;首先就是对网站进行目录枚举爆破 dirsearch -u http://challenge.qsnctf.com:31616 -x 404,403 得到如下的目录&#xff0c;分别查看一下内容 /.DS_Store /inde…

「软件设计模式」责任链模式(Chain of Responsibility)

深入解析责任链模式&#xff1a;用C打造灵活的请求处理链 引言&#xff1a;当审批流程遇上设计模式 在软件系统中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个请求需要经过多个处理节点的判断&#xff0c;每个节点都有权决定是否处理或传递请求。就像企业的请假审批…