Greasy Fork

Greasy Fork is available in English.

[红狐播放器]音视频下载工具(B站专享版)

适用于从B站跳转的内容,抓取页面中音视频链接并分别下载(推荐配合 ffmpeg 合并)

作者
在盛夏等待丶
日安装量
0
总安装量
2
评分
0 0 0
版本
0.1.2
创建于
2025-05-16
更新于
2025-05-16
大小
7.7 KB
许可证
GPL License
适用于

脚本介绍:

这是用于红狐弹幕播放器的下载工具,能够一键获取原视频的音频和视频文件,下载之后需要用户手动合并(我推荐使用ffmpeg)

下载到的视频大小取决于你选择的当前的分辨率大小,所以默认是最高画质的,使用流量的用户可能需要注意一下文件大小

!注意该脚本有一定门槛!

1.只能用于B站,并且不能直接输出合并后的文件

2.需要自己完成合并工作,推荐ffmpeg,python等,当然也可以自己搜索方案~

3.推荐搭配我的另一个脚本:点我跳转

4.遇到一些奇怪标题需要自行修改为符合要求的字符


废话环节:

❓1. 为什么不推荐把“合并音视频”的功能直接写进 Tampermonkey 脚本(JS)?

📌 答案: 浏览器中的 JavaScript 环境无法进行高效的媒体合并操作,原因包括:

🔒 安全与沙盒限制: 浏览器运行的 JS 是“沙盒环境”,不能访问本地文件系统,也无法执行像 ffmpeg 这样的外部程序。

Tampermonkey 脚本再强也只能模拟点击/下载/改 DOM,不能进行音视频流拼接、重编码等重计算工作。

🧠 技术瓶颈: 虽然有像 ffmpeg.wasm 的 WebAssembly 尝试实现浏览器内合并,但它:

非常慢(因为没有原生 CPU 加速)

占内存大(几十到上百 MB)

兼容性差

加载时间久,体验极差

✅ 所以最佳方案是: 浏览器负责“识别与下载”,本地工具(如 ffmpeg)负责“合并与转码”。

❓2. 为什么下载的视频常常是音视频分离的?

📌 答案: 因为这是现代流媒体网站为了灵活性和性能采用的策略,称为“DASH”或“HLS”协议的特性。

▶ 背后技术: DASH(Dynamic Adaptive Streaming over HTTP)

HLS(HTTP Live Streaming,苹果的标准)

📦 他们会将视频文件“分轨”: 视频轨(不同清晰度 bitrate)

音频轨(通常是单独 AAC/WAV/MP3)

✅ 原因: 自适应码率切换

网络好就切 1080p,差就 480p

只需要替换视频流,不换音频

节省带宽与缓存

同一个音频轨可以配多个分辨率的视频

不用为每种分辨率复制一份音频

提升体验(无缝切换分辨率)

❓3. 为什么很多网站使用多段 .ts 文件?

📌 答案: 这是 HLS协议的实现方式。这些 .ts 文件叫做“切片”或“分段片段”。

✅ 使用多段 .ts 的原因: 原因 说明 🚀 快速开始播放 用户打开页面时只下载前几个 .ts 片段就能播放,不需下载完整视频 📡 边播边下(流式传输) 每段几秒,节省带宽,提高播放流畅度 🔁 支持分辨率切换 播放器根据网速切换下载不同分辨率的 .ts 列表 🔐 更容易加密 每段 .ts 可以单独加密或打乱顺序,防止用户直接整段下载 📉 防止盗链和资源滥用 因为文件是“碎的”,很难被一次性下载整合

✅ 总结一句话: 分离音视频轨和使用多段 .ts 文件都是为了提高播放体验、节省带宽、并强化版权保护。而浏览器的 JS 脚本主要用于抓取链接,不适合做重的合并处理。