
名字
BBHouse, 取自经常能看见的"在 B 站买房"的评论.
说是客户端, 其实只实现了播放和动态相关的功能......因为其他功能我基本不用
feature
- 极简 只有视频动态和播放功能 没有推荐流 没有 B 博
- 支持视频动态过滤 by 分区 | 标题 | UP 主
- 单独的播放器窗口 支持播放列表
- 替换了随机出现的 PCDN
- 对 BBDown 进行了简单封装, 一键使用
- 性能优秀 占用很小 实测 WIN 11 下启动速度与原生 UWP 相当
- 体积很小 完整二进制应用只有 10MB 安装包 4MB 没有 UAC
- 跨平台 已经 Release macOS | Ubuntu | Win 的安装包
- 明 /暗主题支持
问题
- dplayer 不支持混流, 借助其事件机制配合原生 audio 简单实现混流, 可能会发生音画不同步的情况(多出现在切换视频时), 暂停再播放可缓解
- 评论区和弹幕屏蔽缺少高级功能, 只能满足简单浏览
- 项目中把 Utils 写成了 Hooks 的命名形式, 个人放飞自我的做法, 觉得这样更美观
todo
- Rust + WASM 解决播放混流, 改进 DPlayer 的弹幕引擎
- 完善评论区, 增加特色功能--查成分, 评论内容查重
- 接入 B 站的字幕
- 多窗口播放模式
- 自定义插件支持
- 可能会实现其他的功能模块
技术细节
基于 Tauri + Vite + Vue 3 构建, 也作为学习 Vue 3 的练手项目
- 核心播放功能和弹幕支持来自 DPlayer.js
- API 来自 Github 的公开仓库 bilibili-API-collect
- Rust 启动本地代理取流
缘由
个人无法抵抗推荐流 + 不喜欢 B 博, 所以几乎从来不用手机版和官方 Web.
之前主要用 UWP 和自己写的一个 SPA 来刷视频动态.
最近问题越来越多只能尝试自己解决
- 关注太多 UP 主(2000+), 无法快速有效的阅览完动态和视频
- B 站 Web 太占资源, 开 20-30 个视频 Tab 会导致新 Edge 直接崩溃
- 近期随机出现的 PCDN 令本大会员很恼火
- 偶尔有 down 的需求, 通过 CMD 使用 BBDown 稍显麻烦
因为写过一些 dotNET, 所以先尝试阅读几款知名第三方 B 站客户端的源码 (BiliLite, 哔哩) 来改造, 但是 XAML 那个语法太难受了, 用过 Compose 和 SwiftUI 之后我没法接受这种语法, 而且无法跨平台, 个人会有一小半时间在用 Mac.
经过 QT, Compose-jb 等几番周折知道了 Tauri.
已基于 GPL v3 开源
欢迎体验并提交 bug, 也欢迎 pr/fork/star.
仓库地址: bbhouse-tauri
附图:


