文章目录
- BiliVideoDown:B站视频下载,一个桌面应用就够了
- 1、 这个工具怎么用
- 2、 B 站视频下载的常见方案
- 3、 项目结构与技术细节
- 4、 适合哪些人用
BiliVideoDown:B站视频下载,一个桌面应用就够了
bilivideo_down 由 kangpeiqin 开发,目前在 GitHub 上获得了 861 Star。这是一个基于 Flutter 的桌面端 B 站视频下载工具,支持 Windows 10 和 macOS 两个平台,核心功能是把 B 站视频下载到本地存储。
1、 这个工具怎么用
BiliVideoDown 是一个独立桌面应用,和命令行工具、浏览器插件属于不同类型。打开后的界面是常规视频下载工具布局:粘贴 B 站视频链接,选择清晰度,开始下载。整个过程不需要配置任何参数,也不需要安装额外依赖。
底层基于 Flutter 框架,一套 Dart 代码同时在 Windows 和 macOS 上运行。Flutter 桌面端支持在其 3.0 版本之后才逐步成熟,BiliVideoDown 选择了这条路线,意味着它不像 Electron 应用那样需要打包整个 Chromium,安装包体积相对可控。
项目维护了两个分支:main 分支用 GetX 做状态管理,dev 分支用 Riverpod。对在学 Flutter 状态管理的开发者来说,同一个项目用两种方案各实现一遍,对比阅读比看两套独立项目要高效。
2、 B 站视频下载的常见方案
下载 B 站视频这件事,市面上方案可以分为几类。
浏览器插件最普遍,安装后在 B 站播放页直接出现下载按钮,方便但也最容易失效。B 站前端每次更新都可能改变页面结构,插件需要跟进适配,中间存在空窗期。
油猴脚本灵活度更高,用户可以自行修改匹配规则,但前提是安装脚本管理器如 Tampermonkey,对普通用户来说多了一步操作门槛。
在线解析站最简单,打开网页粘贴链接就行,不需要安装任何东西。缺点是画质通常被压缩,服务器带宽和稳定性由站点运营方决定,可能随时关闭。
命令行工具如 you-get 和 yt-dlp 功能完备,支持批量下载和自定义参数,面向的是有技术背景、习惯终端操作的用户。
桌面应用走的是另一条路线。它独立于浏览器运行,不受前端改动影响。不需要安装任何扩展或脚本管理器。下载逻辑封装在应用内部,用户操作流程缩短为粘贴链接和选择画质两步。BiliVideoDown 做的就是这个定位。
3、 项目结构与技术细节
项目基于 Flutter 开发,Dart 语言编写,一套代码覆盖 Windows 和 macOS 两个桌面平台。不支持 Linux,这一点在 README 中有明确说明。
状态管理方面有两个方案:main 分支用 GetX,dev 分支换成了 Riverpod。GetX 集成度高,路由、依赖注入、状态管理全部放在一个包里,上手快但耦合度也高。Riverpod 类型安全性更好,编译期就能发现错误,单元测试写起来也方便,但模板代码会多一些。对在 Flutter 状态管理选型阶段的人来说,看同一个项目用两种方式分别实现,对比非常直观。
项目采用 GPL 3.0 开源协议。代码结构集中在视频下载的核心逻辑和界面交互上,文件量不大,适合用来了解 Flutter 桌面应用开发的基本流程,尤其是网络请求和本地文件写入相关的实现。
本地开发和运行也很简单,安装 Flutter SDK 后执行单条命令即可:
# windows 平台flutter run-dwindows# macOS 平台flutter run-dmacOS4、 适合哪些人用
- 需要下载 B 站教程类视频离线观看的用户,比如通勤途中或网络不稳定的环境下学习
- 想研究 Flutter 桌面应用开发的人,可以参考项目架构和两种状态管理实现
- 偏好桌面软件操作方式、不想在浏览器里折腾插件或脚本的普通用户
BiliVideoDown 目前 861 Star,数量不算高,但代码结构规整,功能定位清晰。如果需求只是把 B 站视频下载到本地,这个工具够用。
1 Star,数量不算高,但代码结构规整,功能定位清晰。如果需求只是把 B 站视频下载到本地,这个工具够用。