如何永久保存B站缓存视频:m4s-converter完整使用指南
下面给你一套**从零到能用、永久保存B站缓存视频**的完整教程,用的是开源工具 **m4s-converter**,把B站缓存的 m4s 音视频流合并成标准 MP4,**不转码、无损、速度快**,还能自动导出弹幕字幕。
---
## 一、原理说明(一看就懂)
- B站电脑端缓存:每个视频是一个文件夹,里面有 **video.m4s(画面)+ audio.m4s(声音)**,只能在B站客户端播放。
- m4s-converter:调用 **MP4Box** 把这两个文件**无损封装成MP4**,并把弹幕xml转成ass字幕。
- 特点:**画质音质完全不变、秒级合成、批量处理、保留弹幕**。
---
## 二、第一步:下载工具(Windows 最省事)
### 1)下载 m4s-converter 本体
- 项目地址:https://github.com/mzky/m4s-converter
- 进页面 → 点 **Releases** → 下 **Windows 64位** 的 zip(如 `m4s-converter-amd64.zip`)。
- 解压到**纯英文路径**(例如 `D:\tools\m4s`)。
### 2)下载依赖 MP4Box(必须)
- 搜 **GPAC MP4Box**,或直接下:https://gpac.wp.imt.fr/downloads/
- 安装后找到 `mp4box.exe`,复制到 m4s-converter 同一个文件夹里。
> 文件夹里至少要有:
> - m4s-converter-amd64.exe
> - mp4box.exe
---
## 三、第二步:找到B站缓存目录
### Windows 默认路径
```
C:\Users\你的用户名\AppData\Roaming\bilibili\download
```
- 找不到?在文件管理器地址栏直接粘贴上面路径(把“你的用户名”换掉)。
- 每个视频一个数字ID文件夹,里面有 `video.m4s` 和 `audio.m4s`。
---
## 四、第三步:最简单用法(自动扫描+批量转)
1. 打开 **命令提示符 CMD**,cd 到工具目录:
```bash
cd /d D:\tools\m4s
```
2. 直接运行(自动找默认缓存目录,批量转):
```bash
m4s-converter-amd64.exe
```
- 它会自动扫描、合并、输出到 **output 文件夹**。
- 每个视频生成:**xxx.mp4 + 弹幕.ass**。
---
## 五、常用命令(按需复制)
### 1)指定缓存目录(找不到默认路径时)
```bash
m4s-converter-amd64.exe -c "C:\Users\用户名\AppData\Roaming\bilibili\download"
```
### 2)指定输出目录
```bash
m4s-converter-amd64.exe -o "D:\B站备份"
```
### 3)关闭弹幕(只转视频)
```bash
m4s-converter-amd64.exe -a
```
### 4)覆盖已存在文件
```bash
m4s-converter-amd64.exe --overlay
```
### 5)查看帮助
```bash
m4s-converter-amd64.exe -h
```
---
## 六、批量转换与管理
- 直接运行无参数:**全自动批量转换所有缓存**。
- 输出文件在工具目录的 **output** 文件夹,命名为「标题-UP主.mp4」。
- 可定期把 output 文件夹**拷贝到硬盘/云盘**,永久保存。
---
## 七、常见问题(直接照做)
1. **提示找不到 mp4box**
→ 把 mp4box.exe 放到 exe 同目录,或用 `-g` 指定路径:
```bash
m4s-converter-amd64.exe -g "D:\gpac\mp4box.exe"
```
2. **音画不同步**
→ 用新版 m4s-converter(基于 MP4Box,几乎不会不同步)。
3. **缓存文件夹找不到**
→ 在B站客户端 → 设置 → 下载设置,查看「下载路径」。
4. **视频被下架/客户端更新后缓存失效**
→ 只要提前用本工具转成 MP4,**永远能播放**,不受平台限制。
---
## 八、macOS/Linux 简要步骤
1. 装 Go 环境 + MP4Box。
2. 编译:
```bash
git clone https://gitcode.com/gh_mirrors/m4/m4s-converter
cd m4s-converter
go build -o m4s-converter main.go
```
3. 运行:
```bash
./m4s-converter
```
---
## 九、一句话总结
**B站缓存 → 用 m4s-converter + MP4Box → 一键批量合并为无损MP4+弹幕 → 永久保存、任意播放器播放**。


