乐于分享
好东西不私藏

哔哩哔哩 bilibili 下载站正式上线

哔哩哔哩 bilibili 下载站正式上线

因为有读者想要,于是我搭建了一个专门下载 Bilibili 视频的小工具站。

https://bili.19900429.xyz/

今天,它正式上线了。

需求很简单:

有一个网页,只需要输入 BV 号或者视频链接,就能直接下载视频。

不需要安装软件。

不需要研究命令行。

不需要注册账号。

打开网页,粘贴链接,点击下载即可。

于是就有了这个项目。

目前下载站支持:

  • Bilibili 视频链接
  • BV 号直接输入
  • b23.tv 短链接
  • 自动获取最佳画质
  • 自动合并音频和视频
  • MP4 格式输出

例如:

BV1xx411c7mD

或者:

https://www.bilibili.com/video/BVxxxxxx

都可以直接解析。

整个项目采用 Python + Flask 编写。

核心下载引擎使用的是著名的 yt-dlp。

用户提交链接后:

  1. 前端发送下载请求
  2. 后端创建任务
  3. yt-dlp 开始下载视频
  4. 实时返回下载进度
  5. 下载完成后生成 MP4 文件
  6. 用户直接下载到本地

整个过程完全自动化。

很多在线下载器最大的缺点是点击下载以后只能等待。

不知道是否正在工作。

不知道还要多久。

我的下载站会实时读取 yt-dlp 的输出内容,并解析:

  • 当前进度
  • 下载速度
  • 剩余时间

例如:

进度:68%速度:12MB/s剩余:00:14

用户可以随时查看任务状态。

由于服务器磁盘空间有限,我专门做了一些限制。

单任务模式

同一时间只允许一个下载任务。

避免多人同时下载导致服务器卡死。

自动清理

下载完成的视频不会永久保存。

超过一定时间后会自动删除。

这样能够避免磁盘被长期占用。

磁盘空间检查

每次创建任务之前,系统都会检测剩余空间。

如果空间不足,会直接拒绝新任务。

避免出现下载到一半磁盘写满的情况。

新朋友可能会问:

既然用了 yt-dlp,为什么不支持 YouTube?

因为已经有了呀:YouTube 下载站正式上线

目前系统只允许:

  • bilibili.com
  • www.bilibili.com
  • m.bilibili.com
  • b23.tv

这些域名。

这样做的好处是:

  • 逻辑简单
  • 安全性更高
  • 更容易维护

这个项目没有复杂的界面。

也没有花哨的功能。

它只专注做好一件事:

把 Bilibili 视频快速下载下来。

输入链接。

等待下载。

获取文件。

就这么简单。

后续计划

未来准备继续完善一些功能:

  • 下载历史记录
  • 视频信息预览

如果你经常需要保存 Bilibili 视频,欢迎体验并提出建议。

希望这个小工具,能让视频下载这件事变得更简单一些。