视频下载助手 - 多平台

创建于 7 个月前
更新于 7 天前
支持哔哩哔哩原生下载,以及抖音、快手、小红书、微博、今日头条、皮皮虾、皮皮搞笑等站点的内容解析下载,脚本仅供学习研究使用。
#视频下载
#bilibili
#本地下载
#短视频解析
数据统计
总安装量
2.5K
今日新增
+0
用户评分
5.0
支持B站与抖音、快手等短视频平台的内容解析下载工具,B站使用官方API,短视频依赖第三方解析接口,附完整免责声明。

视频下载助手

一个面向 Userscript 管理器的浏览器下载辅助脚本。哔哩哔哩使用浏览器本地请求、下载与合并逻辑;短视频平台通过解析接口提取可下载媒体资源。

有隐藏功能,快去发现吧

功能概览

模块 能力 说明
哔哩哔哩 普通视频、分 P、番剧/剧集、合集 默认只下载当前视频;隐藏入口解锁后支持多选
B 站附加资源 封面、字幕、弹幕 按页面接口返回结果展示
B 站合并 JS 原生合并、分离下载、FFmpeg 合并 默认推荐 JS 原生合并
短视频解析 抖音、快手、小红书、微博、今日头条、皮皮虾、皮皮搞笑 依赖第三方解析接口
快手推荐流 new-reco 当前播放内容 优先读取页面当前媒体源,成功率取决于页面暴露信息

免责声明

  • 本工具仅用于个人学习研究用途,禁止用于商业用途。
  • 请尊重内容创作者,并优先通过正规渠道观看与下载。
  • 脚本由 AI 辅助生成,不保证准确性、完整性、及时性或可靠性。
  • 哔哩哔哩下载走浏览器本地请求与本地合并逻辑。
  • 短视频平台解析会把当前内容链接发送到第三方解析接口 api.bugpk.com。介意第三方解析服务时,请不要在短视频平台使用本脚本。

支持环境

项目 要求
浏览器 Chrome、Edge、Firefox 等现代桌面浏览器
脚本管理器 Tampermonkey、Violentmonkey、Greasemonkey、Scriptcat
关键权限 GM_xmlhttpRequest 跨域请求

安装

  1. 安装任意 Userscript 管理器。
  2. 打开最新发布脚本:https://github.com/MakotoArai-CN/video-download-helper/releases/latest/download/video-download-helper.user.js
  3. 在脚本管理器弹出的安装页中确认安装。
  4. 如果脚本管理器提示跨域权限,请允许访问 B 站接口、视频域名、api.bugpk.com 以及媒体资源域名。

哔哩哔哩使用

适用页面:

  • https://www.bilibili.com/video/*
  • https://www.bilibili.com/bangumi/play/*

基础流程:

  1. 打开 B 站视频、番剧或剧集页面。
  2. 点击页面上的下载入口打开面板。
  3. 选择清晰度、视频编码、音频编码和合并方式。
  4. 点击“开始下载”。

默认行为:

  • 即使当前视频有多个分 P,默认也只下载当前正在观看的分 P。
  • 未触发隐藏入口时,使用体验与单视频一致。
  • 默认勾选当前 P,不主动展示多 P 多选列表。

隐藏多选入口:

  • 连续点击面板底部免责声明区域 5 次后,展开分 P / 合集多选列表。
  • 解锁后再次点击底部区域,可展开或收起多选列表。
  • 多选列表支持全选、取消、反选。

短视频使用

适用平台:

平台 说明
抖音 支持具体视频页解析
快手 支持作品页;推荐流页会尝试读取当前播放源
小红书 支持图文/视频解析,取决于接口返回
微博 支持视频内容页解析
今日头条 支持视频内容页解析
皮皮虾、皮皮搞笑 支持常规视频解析

基础流程:

  1. 打开受支持平台的具体内容页。
  2. 点击浮动下载入口。
  3. 等待脚本解析当前内容。
  4. 点击下载按钮保存视频、图集、实况图、封面或音频。

队列行为:

  • 短视频下载过程中,再次点击下载按钮会尝试解析当前页面并加入等待队列。
  • 重复内容不会重复入队。

合并与保存

方式 行为
JS 原生合并 默认方式,在浏览器内合并 DASH 视频流和音频流,输出单个 .mp4
分离下载 分别保存 _video.mp4_audio.m4a
FFmpeg 合并 尝试动态加载 FFmpeg 前端库,加载失败不影响默认 JS 合并

合并失败时,脚本会自动回退为分离保存。

限制说明

  • 清晰度取决于账号权限和平台接口返回结果。
  • 脚本不会破解付费、DRM 或无权限内容。
  • 大文件下载和浏览器内合并会占用较多内存。
  • 短视频解析依赖第三方接口,接口变更、平台风控或页面改版都可能导致解析失败。
  • 快手 new-reco 不是具体作品 URL,解析成功率取决于页面是否暴露当前播放视频源或作品 ID。

故障排查

问题 处理方式
解析失败 刷新页面,确认内容可正常播放,再重新打开下载面板
下载失败 检查 Userscript 管理器是否允许跨域请求和媒体域名访问
清晰度不可选 当前账号可能没有对应清晰度权限
合并失败 使用分离下载,或用本地 ffmpeg 手动合并

本地 ffmpeg 合并示例:

ffmpeg -i "input_video.mp4" -i "input_audio.m4a" -c copy "output_merged.mp4"

开发

项目 路径/命令
源码入口 src/main.ts
配置文件 src/config.ts
构建命令 bun run build
生成脚本 dist/video-download-helper.user.js
权限与访问
跨域访问
api.bilibili.combilivideo.combilivideo.cnbilivideo.net+3
使用能力
网络请求存储