BilibiliDown:B站视频下载,Java写的跨平台都能跑

正文顶部截图

BilibiliDown 由 nICEnnnnnnnLee 开发,目前在 GitHub 上获得了 4800 多 Star。这是一个用 Java 写的 B 站视频下载器,支持 Windows、Linux、macOS 三个平台,提供图形界面操作,不需要碰命令行。

README区域截图

1、能下载什么

B 站上的视频、番剧、课程都能下。清晰度可选,最高支持 4K。弹幕可以一并下载,存成 XML 或 ASS 格式,用本地播放器加载后就能看到弹幕效果。

遇到多 P 视频,可以批量下载全部内容。合集和收藏夹支持一键抓取,省得逐条去点。

登录账号之后,大会员才能看的内容也能正常下载。cookie 明文保存在 config 文件夹里,不需要的话直接删除文件,或者点菜单里的退出登录就能清空。

2、怎么做到的

B 站视频流实际上是 m4s 或 flv 分片,工具把分片下载到本地后,调用 ffmpeg 合成为一个 mp4 文件。短片段 flv 不需要 ffmpeg,直接拼接就行。

AV 号和 BV 号之间的转换参考了 Colerar/abv 的实现。登录时如果遇到 geetest 验证码,工具也做了适配处理。cookie 刷新这块用到了 wasm 逆向的思路,方案来自社区贡献。

3、怎么用

作者在 Release 页面和 Gitee 码云上都提供了打包好的版本。电脑上装好 JRE 就能跑,三个平台步骤一致。

解压后双击 jar 或者运行启动脚本,主界面就出来了。粘贴视频链接,选好清晰度和保存路径,点下载,剩下的工具自己会处理。

帮助文档覆盖了从安装到各项功能的说明。主站访问不顺畅的话有备用文档地址。遇到报错先去文档里翻,常见问题基本都有解答。

4、开源与依赖

项目基于 Apache 2.0 协议开源,2019 年启动,一直维护到现在。依赖的第三方库包括 JSON-java 做解析、zxing 生成二维码、ffmpeg 处理转码封装。

作者做了精简编译的 ffmpeg,去掉了不需要的解码器和封装格式,只保留视频合并用到的几个:h264 和 aac 解码,封装格式只留了 flv、mp4、mp3、adts。体积比标准版小很多。

源码按模块划分,下载核心、UI 界面、登录认证、转码封装各自独立。对实现细节有兴趣,或者想做二次开发的话,结构不算复杂。

B 站的内容在封闭和开放之间来回摇摆。缓存到本地的视频可能因为版权变动或下架变得无法访问。把喜欢的视频保存到硬盘里,是给自己留的一份确定性。

版权变动或下架变得无法访问。把喜欢的视频保存到硬盘里,是给自己留的一份确定性。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐