乐于分享
好东西不私藏

用 Avalonia 重写哔哩下载姬,macOS 用户终于能用了——GitHub 6.9k Star

用 Avalonia 重写哔哩下载姬,macOS 用户终于能用了——GitHub 6.9k Star
用 macOS 的程序员想下几个 B 站视频,操作步骤大概是:打开浏览器,搜索在线解析网站,粘贴链接,等待解析,运气不好还要看广告,最后右键另存为——分辨率还很低。

这不是什么大问题,但足够让人烦一阵子。

macOS 没法用?Avalonia 重写了一套。

这就是今天要介绍的——DownKyi(哔哩下载姬跨平台版),基于 Avalonia UI 开发,Windows、macOS、Linux 全部支持。

https://github.com/yaobiao131/downkyicore

这套下载器,有多强?

DownKyi 号称"跨平台 B 站视频下载器",不是没有道理的。

看它的功能列表:

  • 视频下载
     — 单视频、番剧(包括合集、分 P)、课程、收藏夹、关注列表,全部支持
  • 弹幕下载
     — 原始弹幕格式,可设置屏蔽规则,过滤不想看的内容
  • 字幕下载
     — 支持内嵌字幕和独立字幕文件
  • 封面下载
     — 视频封面一键保存
  • 画质音质选择
     — Hi-Res、杜比音效,只要视频支持就能选
  • 去水印
     — 内置水印定位工具,下载完直接不带水印
  • Aria2 加速
     — 多线程下载加速,不想用的也可以关掉走单线程
  • ffmpeg 混流
     — 软件自带 ffmpeg,不需要用户自己安装
  • .NET 运行环境
     — 软件自带 .NET6 运行时,macOS 和 Linux 用户不用装任何依赖
  • 跨平台
     — Windows、macOS、Linux 全部支持

这不是在列功能,这是在列一个 B 站深度用户需要的所有东西。

下载有多简单?

如果你用 macOS 或 Linux(这类用户以前根本没有好用的桌面端):

去 GitHub 下载对应平台的安装包,打开,粘贴 B 站链接,点点点就行了。.NET 运行环境、ffmpeg、aria2——全部内置,不用装任何东西。

如果你用 Windows

同样去 GitHub 下载,安装完打开,粘贴链接,开始下载。

用起来有多简单?

输入框粘贴链接,回车,解析,选画质,点下载——完事。

弹幕要还是不要,字幕要不要,封面要不要——每个选项旁边打个勾就行。去水印的话,在解析页设置一下水印坐标,不需要额外操作。

内置下载器够用,想加速就在设置里把 Aria2 打开,连接数拉满。多线程下载跑起来,速度比浏览器直下快得多。

好的工具,让下载这件事变得没有存在感。

为什么是 Avalonia?

作者 yaobiao131 日常用 macOS,发现 Windows 上的哔哩下载姬(leiurayer/downkyi)很好用,但 macOS 没有。

他没有去写一个 Web 版,也没有去找那些不稳定的三方解析站,而是选择了 Avalonia UI——和 WPF 同宗同源,语法几乎一致,一个项目同时输出 Windows、macOS、Linux 三个平台的安装包。

选 Avalonia 的好处在于:C# 开发者不需要学新语言,WPF 积累的经验直接迁移,社区这几年越来越成熟,桌面端跨平台方案里算是口碑较好的一个。

项目结构分得很清晰:

  • DownKyi
    (UI 层)— Avalonia 11 + Prism.DryIoc,MVVM 架构
  • DownKyi.Core
    (核心层)— Bilibili API、SQLite 存储、日志、ffmpeg、aria2 RPC 客户端,全部独立

两层分离,Core 不依赖 UI。 这意味着如果有人想基于它做自己的桌面客户端,或者写个命令行工具,只需要引用 Core 层,不需要动一行底层代码。

作者还在项目里放了一份 AGENTS.md,把代码规范、MVVM 模式、异步处理、错误处理、依赖注入全部写进去了。这不是顺手一写的 README,这是认真在维护代码质量的开发者会做的事。

谁在用?

GitHub Star 6.9k,这个数字对于一个垂直场景的工具类软件来说,已经相当可观了。

要么是真的用得上,要么是觉得这个解决方案有点意思——对于开源项目来说,这两样能占一样就不算白写。

最后

B 站是很多人日常离不开的平台,但下载这件事官方一直没有什么好方案。

DownKyi 把这件事变得简单了——不是因为它功能少,恰恰是因为它功能全、对各平台兼容好、还把运行环境全部打包进去了。

把下载交给它,把省下来的时间去研究核心业务逻辑、去陪家人、去摸鱼,不香吗?


项目地址:

  • GitHub:https://github.com/yaobiao131/downkyicore
  • 支持平台:Windows / macOS / Linux

技术栈:

  • UI 框架:Avalonia 11 + Prism.DryIoc(MVVM)
  • 核心:.NET 6,DownKyi.Core 类库
  • 存储:SQLite
  • 下载:内置 Downloader + Aria2 加速
  • 混流:FFMpegCore

如果你觉得这个项目有帮助,欢迎去 GitHub 点个 Star。


你平时用什么工具下载 B 站视频?评论区聊聊。