B站视频下载Ai助手(可选分辨率,仅限无版权内容)

检测 bilibili 页面可下载的视频资源,提供分辨率选择与下载按钮。仅用于无版权或可下载内容。

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

作者
yh xxx
今日安裝
0
安裝總數
76
評價
0 1 0
版本
2.91
建立日期
2025-10-25
更新日期
2025-10-25
尺寸
12.2 KB
授權條款
GPL-3.0-or-later
腳本執行於

B站视频下载Ai助手 (v2.91)

这是一个油猴 (Tampermonkey) 脚本,用于在 Bilibili 视频页面添加一个下载助手,以帮助用户下载(仅限无版权或已授权的)视频内容。

本脚本的最大特色是完美解决了 Windows 命令行 (cmd.exe) 在处理中文文件名时的 Illegal byte sequence 编码冲突问题

核心功能

  • 在播放器右上角添加“下载”按钮。
  • 自动解析当前视频的所有 DASH 视频流(不同分辨率)和音频流。
  • 使用 GM_xmlhttpRequest 在后台下载,解决了跨域(bilivideo.com)导致的 download 属性失效问题。
  • 一键复制“合并并删除”命令
    • 规避 cmd 编码BUG:下载纯英文文件名(输入),但合并为中文文件名(输出)。
    • 自动清理:合并成功后,自动删除临时的音视频源文件。

为什么是这个工作流?

本脚本采用“先下载,后合并”的工作流,是为了规避B站的防盗链和 Windows cmd 的编码 BUG。

  1. B站防盗链 (403 Forbidden): B 站服务器会验证 RefererCookieffmpeg 直接请求 URL 会被拒绝。

    • 解决方案:脚本使用 GM_xmlhttpRequest 模拟浏览器下载,它会自动携带所有必需的请求头,下载 100% 成功。
  2. Windows cmd 编码 (Illegal byte sequence)cmd 默认使用 GBK 编码。当 ffmpeg -i "中文名.mp4" 启动时,ffmpeg 期望 UTF-8 但收到了 GBK,导致读取文件失败。

    • 解决方案:利用用户 yhxxx 发现的特性——ffmpeg 读取中文会失败,但写入中文(-c copy "中文名.mp4")是成功的。
    • 因此,脚本下载时使用纯英文(如 BV..._video.mp4)作为输入文件名,但在 cmd 命令中指定中文标题(如 BV..._中文标题.mp4)作为输出文件名,从根源上解决了此问题。

使用流程

  1. 安装 FFmpeg: 确保你的电脑已安装 FFmpeg 并已将其添加到系统环境变量 (PATH) 中。

  2. 打开 B 站视频: 页面加载完成后,播放器右上角会出现“下载”按钮。

  3. 下载源文件: 点击“下载”按钮,在弹出的面板中选择好画质,然后点击“⬇️ 合并下载”。

  4. 等待下载: 浏览器将下载两个纯英文文件(例如:BVxxxx_video.mp4BVxxxx_audio.m4a)。

  5. 复制命令: 等待下载完成后,点击面板上的“复制”按钮。

  6. 执行合并

    • 打开你的“下载”文件夹。
    • 在文件夹的地址栏输入 cmd 并回车,打开命令行。
    • 粘贴刚刚复制的命令,并按回车。
  7. 完成ffmpeg 会自动合并视频,输出带中文标题.mp4 文件,并自动删除两个纯英文的源文件。