当前位置: 首页 > article >正文

[工具]B站缓存工具箱 (By 郭逍遥)

📌 项目简介

B站缓存工具箱是一个多功能的B站缓存工具,包含视频下载、缓存重载、文件合并及系统设置四大核心功能。基于yutto开发,采用图形化界面操作,极大简化B站资源获取与管理流程。

工具可以直接将原本缓存的视频读取,重载到指定目录,也支持.m4s文件合并

注意:工具还是会有一些BUG,大家可以根据自己的情况进行修改完善

软件截图(工具箱+手机App)
在这里插入图片描述


🔧 功能概览

❖ 视频下载

  • 支持通过BV号/AV号下载视频
  • 提供从360P到8K全分辨率选项(根据实际分辨率为主)
  • 合集视频批量下载支持
  • 自动检测下载进度

❖ 缓存重载

  • 支持电脑/手机缓存文件
  • 多线程加速重载过程
  • 可自定义画质参数

❖ 文件合并

  • 快速合并.m4s视频片段
  • 支持电脑/手机.m4s片段文件
  • 支持自定义输出路径与文件名

❖ 系统设置

  • 缓存根目录配置
  • 输出目录设置
  • SESSDATA凭证管理
  • 下载记录查询

# 文件说明
主要:
BiliBili_Export/
├── gui_app.py      ---GUI脚本
├── download_module.py      ---下载脚本
├── merge_module.py      ---合并脚本
├── reload_module.py      ---重载脚本
├── search_module.py      ---搜索脚本
└── 开始运行.bat      ---运行脚本
其他
└──BilibiliExport.app      ---手机缓存文件名导出App

⚙️ 安装指南

❖ 环境要求

  • Python 3.10+
  • Windows操作系统
  • FFmpeg

❖ 安装步骤

👉 点此下载v1.0发布版本

需提前配置好FFmpeg和环境变量
下载发布的正式版,然后解压
双击 开始运行.bat 即可下载所需依赖并运行
(会自动下载所需要的yutto和各种依赖)

📝 使用教程

❖ 视频下载

  1. 打开"视频下载"标签页
  2. 输入B站视频URL或AV/BV号
  3. 选择画质等级(推荐720P)
  4. 勾选"下载合集"(如需下载系列视频)
  5. 点击"开始下载"
    • 进度条实时显示下载进度
    • 点击"停止下载"可中断当前任务

❖ 缓存重载

  1. 选择设备类型(电脑/手机)
  2. 配置画质参数
  3. 设置并发线程数(默认1线程)
  4. 点击"开始重载"
    • 手机模式需先选择缓存文件
    • 进度条显示重载进度

❖ 文件合并

  1. 分别选择视频和音频文件
  2. 配置输出路径与文件名
  3. 点击"开始合并"
    • 合并完成后自动清除临时文件
    • 成功后弹出保存路径提示

❖ 系统设置

  1. 配置缓存根目录(必填项)
  2. 设置输出目录(默认当前目录)
  3. 填写SESSDATA凭证(不知道怎么获得的话请自行搜索)
  4. 点击"保存配置"
    • 可通过"打开下载记录"查看历史记录

⚠️ 注意事项

  1. AV号兼容性:若遇到下载失败,请优先使用对应的BV号

  2. 权限问题:确保输出目录具有写入权限

  3. 手机缓存:需提前使用提供的APP导出手机缓存文件名至电脑(手机的缓存文件名其实是AV号,电脑不是)

  4. 线程控制:过高线程可能导致系统负载过高

  5. 错误日志:所有异常都会记录到errors.log文件

  6. 搜索和下载记录: 重载是通过download标记文件来判断文件下载的,搜索也是搜索的这个标记文件

    Tip:如果需要xml格式弹幕转换ass格式,可以搜索一下这个工具:Danmaku2ASS


💰 支持作者

如果您觉得本工具对您有帮助,可以给作者B站充电或者在爱发电支持作者:

BiliBili
爱发电


🐞 Bug提交

如发现任何问题,请通过Issues页面提交:
提交Bug


📄 许可协议

本项目采用GNU3.0开源协议,详情见LICENSE文件。


👨💻 开发者

郭逍遥 - GitHub | B站主页 | 爱发电


感谢支持~

版本:v1.0

相关文章:

[工具]B站缓存工具箱 (By 郭逍遥)

📌 项目简介 B站缓存工具箱是一个多功能的B站缓存工具,包含视频下载、缓存重载、文件合并及系统设置四大核心功能。基于yutto开发,采用图形化界面操作,极大简化B站资源获取与管理流程。 工具可以直接将原本缓存的视频读取&#…...

《内网渗透测试:绕过最新防火墙策略》

内网渗透测试是检验企业网络安全防御体系有效性的核心手段,而现代防火墙策略的持续演进(如零信任架构、AI流量分析、深度包检测)对攻击者提出了更高挑战。本文系统解析2024年新型防火墙的防护机制,聚焦协议隐蔽隧道、上下文感知绕…...

python_竞态条件

好的,我们通过一个具体的例子来说明在多线程环境中,可变对象和不可变对象的行为差异,以及不可变对象如何避免竞态条件(race condition)。 1. 竞态条件(Race Condition) 竞态条件是指在多线程环…...

聊聊JetCache的CachePenetrationProtect

序 本文主要研究一下JetCache的CachePenetrationProtect CachePenetrationProtect com/alicp/jetcache/anno/CachePenetrationProtect.java Documented Retention(RetentionPolicy.RUNTIME) Target({ElementType.METHOD, ElementType.FIELD}) public interface CachePenetr…...

【实战】基于 ABP vNext 构建高可用 S7 协议采集平台(西门子 PLC 通信全流程)

🚀🔧【实战】基于 ABP vNext 构建高可用 S7 协议采集平台(西门子 PLC 通信全流程)📊 📑 目录 🚀🔧【实战】基于 ABP vNext 构建高可用 S7 协议采集平台(西门子 PLC 通信全…...

数据结构:树(Tree)

目录 为什么需要树? 🌱 基本的树结构定义 什么是树? 树的术语 🌿 常见基本树的变体 🌳 二叉搜索树(BST) 🌲 自平衡二叉搜索树 1. AVL树(Adelson-Velsky and La…...

自动化测试与功能测试详解

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 什么是自动化测试? 自动化测试是指利用软件测试工具自动实现全部或部分测试,它是软件测试的一个重要组成 部分,能完成许多手工测试无…...

java中的Optional

在 Java 8 中,Optional 是一个用于处理可能为 null 的值的容器类,旨在减少空指针异常(NullPointerException)并提升代码的可读性。以下是 Optional 的核心用法和最佳实践: 1. 创建 Optional 对象 1.1 常规创建方式 Op…...

Qt事件循环机制

受事件循环机制影响,按钮的样式表改变了可能不会立即刷新。 需要使用 update() 或 repaint() 或者调用 QApplication::processEvents() 强制处理所有待处理的事件,从而确保界面更新。 在 Qt 中,事件循环(Event Loop)是…...

深入理解 OAuth 2.0:技术核心与实战场景

在互联网应用日益复杂的今天,如何安全、高效地实现第三方应用授权访问资源,成为开发者面临的重要问题。OAuth 2.0 凭借其灵活、安全的授权机制,成为解决这一问题的主流方案。本文将深入剖析 OAuth 2.0 的技术重点,并结合具体使用场…...

Rust 环境变量管理秘籍:从菜鸟到老鸟都爱的 dotenv 教程

前言 写代码的你,是否遭遇过这些灵魂拷问: “我现在在哪个环境?开发?测试?还是直接在生产线上裸奔?”“少写一个 .env,测试脚本在数据库里上演清空大法,客户当场破防。”“每次手动设置 RUST_ENV,命令敲到一半就开始怀疑人生,还怕输错一个字符引发灭世级事故。”别慌…...

CSS经典布局之圣杯布局和双飞翼布局

目标: 中间自适应,两边定宽,并且三栏布局在一行展示。 圣杯布局 实现方法: 通过float搭建布局margin使三列布局到一行上relative相对定位调整位置; 给外部容器添加padding,通过相对定位调整左右两列的…...

OpenCV 的 CUDA 模块中用于将多个单通道的 GpuMat 图像合并成一个多通道的图像 函数cv::cuda::merge

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 OpenCV 的 CUDA 模块中,cv::cuda::merge 函数用于将多个单通道的 GpuMat 图像合并成一个多通道的图像。该函数是 cv::merge 的 GP…...

计网实验笔记(一)CS144 Lab

Lab0 ByteStream : 实现一个在内存中的 有序可靠字节流Lab1 StreamReassembler:实现一个流重组器,一个将字节流的字串或者小段按照正确顺序来拼接回连续字节流的模块Lab2 TCPReceiver:实现入站字节流的TCP部分。Lab3 TCPSender:实…...

Blog Contents

目录 Python Financing Medical Logistics Tool(IT & AI) 持续更新~ Python # Name URL 1 Python | Dashboard制作 Python | Dashboard制作-CSDN博客 2 Python | AKShare获取A股数据 Python | AKShare获取A股数据-CSDN博客 3 Python | A股指标对比 Python | A股…...

什么是ERP?ERP有哪些功能?小微企业ERP系统源码,SpringBoot+Vue+ElementUI+UniAPP

什么是ERP? ERP翻译过来叫企业资源计划,通俗的讲,应该叫企业的全面预算控制,其通常包括三个部分:工程预算、投资预算和经营预算(即产销存预算)。之所以做预算控制,是因为企业运作的…...

dockerfile: PaddleOCR hubserving api 服务

前言 目前 OCR 有比较成熟的方案,想着直接通过 docker 部署一个提供 api 接口服务,查看了一些开源方案,最终发现还是 PaddleOCR 比较好用。 本篇不介绍 PaddleOCR 的详细使用方式,只介绍一下构建镜像的 dockerfile 需要注意的事…...

【速写】TRL:Trainer的细节与思考(PPO/DPO+LoRA可行性)

序言 问题缘起来自发现PPOTrainer里并没有跟SFTTrainer类似的peft_config参数,而SFTTrainer在带和不带peft_config参数的情况下分别对应高效微调和全量微调。自然就会想到是否可以把PPO和PEFT结合,但是目前peft包和trl包上似乎还是存在这种兼容性的问题…...

Vue3+uniapp 封装axios

1.第一步在项目根目录新建utils文件夹,里边新建两个文件request.js和uni-api-promisify.js 2.request.js 代码 要安装axios import axios from axios import { showToast } from /utils/uni-api-promisify// 创建axios实例 const service axios.create({baseURL:…...

QEMU模拟32位ARM实现自定义系统调用

实现自定义系统调用 如何使用 QEMU 模拟32位 ARM 环境参考:使用Qemu模拟32位ARM系统 修改linux内核源码 使用 linux-4.4.240 源码,下载链接:下载链接 在 arch\arm\include\uapi\asm\unistd.h 文件下新增系统调用 sys_test: /…...

MySQL——数据类型表的约束

目录 数据类型 数值类型 tinyint类型 bit类型 float类型 decimal类型 字符类型 char类型 varchar类型 日期和时间类型 选择类型 表的约束 null default comment zerofill primary key auto_increment unique key foreign key 数据类型 在MySQL中的数据类…...

# YOLOv2:目标检测的升级之作

YOLOv2:目标检测的升级之作 在目标检测领域,YOLO(You Only Look Once)系列算法以其高效的速度和创新的检测方式受到了广泛关注。今天,我们就来深入探讨一下 YOLOv2,看看它是如何在继承 YOLOv1 的基础上进行…...

【爬虫】DrissionPage-1

官网地址:DrissionPage官网 小需求采集,我喜欢,我要学。 1 介绍 这是用python编写的爬虫自动化工具,将Selenium 和 Requests 的功能巧妙地整合在一起,提供了统一又简单的操作接口。开发者可以在浏览器模式&#xff0…...

Oracle OCP认证考试考点详解083系列15

题记: 本系列主要讲解Oracle OCP认证考试考点(题目),适用于19C/21C,跟着学OCP考试必过。 71. 第71题: 题目 解析及答案: 关于在 Oracle 18c 及更高版本中基于 Oracle 黄金镜像的安装,以下哪…...

java刷题基础知识

List<int[]> merged new ArrayList<int[]>(); return merged.toArray(new int[merged.size()][]); 表示一个存储 int[] 类型元素的列表&#xff0c;list灵活支持扩展&#xff0c;因为不知道最后有几个区间&#xff0c;所以用list&#xff0c;最后toArray返回成数组…...

部署大模型:解决ollama.service: Failed with result ‘exit-code‘的问题

起因是这样: Loaded: loaded (/etc/systemd/system/ollama.service; disabled; preset: enabled) Active: activating (auto-restart) (Result: exit-code) since Tue 2025-05-13 19:31:19 CST; > Process: 12272 ExecStart/usr/bin/ollama serve (codeexited, status1/FAI…...

阿克曼-幻宇机器人系列教程2- 机器人交互实践(Topic)

在上一篇文章中&#xff0c;我们介绍了两种登录机器人的方式&#xff0c;接下来我们介绍登录机器人之后&#xff0c;我们如何通过topic操作命令实现与机器人的交互。 1. 启动 & 获取topic 在一个终端登录树莓派后&#xff0c;执行下列命令运行机器人 roslaunch huanyu_r…...

Spring AI 开发本地deepseek对话快速上手笔记

Spring AI Spring AI是一个旨在推进生成式人工智能应用程序发展的项目&#xff0c;Spring AI的核心目标是提供高度抽象化的组件&#xff0c;作为开发AI应用程序的基础&#xff0c;使得开发者能够以最少的代码改动便捷地交换和优化功能模块‌ 在开发之前先得引入大模型&#xf…...

SpringBoot中的拦截器

SpringBoot中的拦截器 Filter 典型场景 全局鉴权/接口耗时统计 WebFilter("/*") public class CostFilter implements Filter {Overridepublic void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) {long start System.currentTimeMill…...

Spark,IDEA编写Maven项目

以下是在IDEA中使用Maven构建Spark项目的步骤&#xff1a; 一、环境准备 1. 安装JDK - 确保IDEA配置了JDK 8&#xff08;推荐11&#xff09;。 2. 安装Maven - 配置Maven环境变量&#xff0c;IDEA中设置Maven路径&#xff08; File > Settings > Build > Maven &#…...