Releases: NihilDigit/bilby
Release list
v0.6.0
新增
-
高级弹幕。 采用定位与运动脚本的弹幕(模式 7)此前被整条丢弃,现按其自带的坐标、关键帧、透明度与旋转绘制。这类弹幕的位置由发送者写定,因此独立于滚动弹幕的轨道分配之外,也不受显示区域约束。代码弹幕与 BAS 弹幕仍不支持,其内容是可执行脚本。
-
弹幕的显示区域、同屏密度与帧率可调。 三项此前均为代码常量,无从更改。显示区域分 25% / 50% / 75% / 100% 四档,默认 75%;同屏密度分标准与不限两档,后者不再因轨道排满而丢弃弹幕;帧率分 30 fps、60 fps 与跟随屏幕。
-
动态流保留浏览位置。 进入动态流时直接呈现上次抓取的内容,上次读到之处标出分隔线,随后在后台核对更新并将新条目并入顶部。
变化
-
弹幕速度改为统一穿屏时长。 此前字宽翻倍仅加速约 14%,长弹幕在屏时间明显长于短弹幕。现所有滚动弹幕在相同时长内完成穿屏,长弹幕相应更快。
-
显示区域改为实际的布局与裁剪范围。 此前该比例只参与轨道数计算,画布仍覆盖整个画面。现滚动与顶部弹幕在该范围内排布并裁剪,底部弹幕仍锚定画面底缘——位于画面四分之三处的弹幕不再是底部弹幕。
-
打开视频后不再等待播放列表构建完成。 此前需先取回视频详情,再于空间投稿中定位当前视频,取流被这些请求阻塞。现立即以当前视频起播,完整队列在后台补全后按 bvid 原位替换,补全期间队列区显示加载状态。
-
30 fps 与 60 fps 档在非整数倍刷新率的屏幕上恢复到目标帧率。 此前的节拍以上一帧的实际输出时刻为起点,取整误差逐帧累加,144 Hz 屏上的 60 fps 实际约为 48 fps,90 Hz 约 45 fps,165 Hz 约 55 fps。
修复
-
UP 主空间的投稿列表可能整页缺失。 服务端返回空页时游标照常前进,而「还有更多」的判定不变,该页内容此后不再被请求。若第一页遇上,最新的 30 条投稿不再出现,且无任何错误提示。从播放页进入老视频的 UP 主空间时最易触发:为老视频建立播放列表会在一秒内对同一接口发起多次请求。
-
弹幕分段取回失败后不再重试。 段号在请求发起前登记、失败后不移除,该段此后永久为空;而「该段无人发送弹幕」与「该段未取回」在返回类型上无从区分。现两者分开,失败的分段可在限定次数内重取。
-
连播切换分集时残留上一条视频的内容。 播放页此前按 bvid 选取 ViewModel,而切集不进入返回栈,旧实例不被回收,其数据仍在推送。表现为切集瞬间可见上一条的画面、标题或评论,连续播放时内存亦持续增长。
性能
以 120 Hz 设备、不限密度、同屏 320 条弹幕实测:
- 帧耗时中位数由 14 ms 降至 9 ms,掉帧比例由 9.65% 降至 2.08%。
- 弹幕排布改为仅编排播放位置附近的时间窗口。9457 条弹幕的视频上,一次编排由 347 ms 降至 28 ms;仅画面尺寸变化时由 17 ms 降至 1 ms。
- 绘制帧不再测量文字:排版预先备好,描边与填充录入 display list,每帧只做位移与提交。
安装
universal 为通用包;arm64-v8a、armeabi-v7a、x86_64 为对应架构的精简包,体积略小。四者为同一版本的不同打包,架构不匹配时无法安装。
校验
APK 由 GitHub Actions 从本 tag 构建并签名。
- 校验和:
SHA256SUMS.txt - 构建来源:
gh attestation verify <文件> --repo NihilDigit/bilby
mapping.txt 用于还原崩溃堆栈。
v0.5.2
新增
- 搜索历史。 普通搜索在开始检索前列出最近 5 条记录,选中任意一条即以该关键词检索,每条可单独删除。助理模式不予记录——其上下文仅包含本次提问。
变化
-
字幕入口收敛为字幕按钮。 此前需横向滑动或点击唱片翻页,两者均无明确提示。现由唱片右上角的字幕按钮选中字幕轨进入歌词;再次点击并选择「无字幕」返回唱片。
-
歌词页取消模糊封面底图。 改用界面底色,当前句以强调色加粗。此前文字对比度取决于封面帧的明暗,浅色封面下难以辨认。歌词模式的顶栏改为封面与标题。
-
歌词跟随。 首句之前的时间轴由一条不可见的占位行承接焦点,当前句始终居于画面中央,首句出现时不再位移;拖动进度条时歌词同步定位;列表被滑离当前句后自动复位。
-
定时停止改为对话框,确认后生效。 此前滑块仅在移动时提交取值,而其默认位置为 30 分钟,该值因此无法直接选中。剩余时间以「分:秒」显示并取代月亮图标,不再额外占用一行,计时开始时播放控件位置保持不变。
-
播放队列收起时显示首条视频,顺序与随机的切换移至右上角。
修复
- AI 字幕无法获取。
x/player/wbi/v2持续返回请求被拦截,字幕轨始终为空。原因是请求头中的浏览器 User-Agent 不被该接口接受。现仅此接口改用 Bilby 自身标识,其余接口不变。
安装
universal 为通用包;arm64-v8a、armeabi-v7a、x86_64 为对应架构的精简包,体积略小。四者为同一版本的不同打包,架构不匹配时无法安装。
校验
APK 由 GitHub Actions 从本 tag 构建并签名。
- 校验和:
SHA256SUMS.txt - 构建来源:
gh attestation verify <文件> --repo NihilDigit/bilby
mapping.txt 用于还原崩溃堆栈。
v0.5.1
修复
-
打开 UP 主较早的投稿时无法播放。 视频停在加载中,反复重试后放弃,而下方队列高亮的是该 UP 最新的那一条。队列此前从最新一条起顺序翻页来定位当前视频,最多翻 150 条,翻不到就退成「从最新 50 条开始」,那份队列里并没有正在打开的这条。现在按发布时间二分查找,与投稿多早无关;确实定位不到时只播当前这一条,不再给出一份内容不对的队列。
-
UP 主页的合集点不开。 点进任意合集后页面持续转圈,不显示分集。合集目录的首次请求被自己的加载状态挡住,实际一次也没有发出。
安装
universal 为通用包;arm64-v8a、armeabi-v7a、x86_64 为对应架构的精简包,体积略小。四者为同一版本的不同打包,架构不匹配时无法安装。
校验
APK 由 GitHub Actions 从本 tag 构建并签名。
- 校验和:
SHA256SUMS.txt - 构建来源:
gh attestation verify <文件> --repo NihilDigit/bilby
mapping.txt 用于还原崩溃堆栈。
v0.5.0
新增
-
联合投稿显示全部作者。 播放页此前只显示 UP 主一人。现在横向列出所有参与者,名字下方标注分工。未关注者的头像右下角有一个加号,点击即关注,关注后消失。联合投稿下不再单独设置关注按钮,关注状态全部由加号表达;取消关注需前往对方空间页。
-
评论中的时间戳可点击跳转。
12:34、1:02:03一类的文字成为链接,点击跳至视频对应位置。仅在播放器正播着本页这条视频时生效,超出视频长度的时间戳跳至末尾。 -
弹幕透明度。 设置页内以滑块调整,10% 至 100%。设置页原有的弹幕开关移除,开关仍在播放器控制条上。
-
下拉刷新。 历史记录、稍后再看、收藏夹、关注列表、个人空间、普通搜索结果均可下拉刷新。搜索助理模式没有 —— 那里刷新一次即是一次真实的模型请求。
-
不再显示某位 UP 主。 动态页长按一条投稿即可选择。它只影响本机首页,不改变 B 站上的关注关系,设置页可一次性清空。
-
个人空间显示非视频动态。 图文、专栏、文字、转发出现在空间页的动态标签下,以文字行呈现,不进入播放队列。首页动态流仍然只有投稿。
-
主题图标改为线稿。 启用 Android 主题图标后,实心剪影被壁纸取色整体染色会显得过重。图标整体也收小了一圈,此前的尺寸是照着安全圆的边缘画的,与启动器里其他图标并排时明显偏大。
-
设置页可打开项目的 GitHub 页面。
变化
-
退到后台时看视频暂停,听视频继续。 此前两者都继续播放。划掉任务卡片的行为不变,仍然只有听视频保留。
-
取流失败的提示延后 5 秒。 取流本身带重试,此前一次最终成功的加载途中也会闪一下失败提示。等待期间画面中央显示加载指示。
-
全屏时按返回键先解锁,再退出全屏。 锁定状态下按返回不再直接退出全屏。
-
锁定按钮移至画面左侧,且只在全屏时出现。
-
双击快退/快进的左右区域由三分之一缩至四分之一,中间的播放/暂停区域相应变大。
-
冷启动不再请求未打开的页面。 此前启动时三页的数据一并发出,其中「我的」的四组数据在用户从未打开该页时也已请求。现在各页首次进入时才加载。
-
唱片转速跟随倍速。
修复
- 评论区翻页时崩溃。 登录状态下评论按热度分页,翻页期间热度变化会让同一条评论同时落在相邻两页,列表因键重复而崩溃。历史记录、关注列表、个人空间的列表存在同类隐患,一并处理。
安装
universal 为通用包;arm64-v8a、armeabi-v7a、x86_64 为对应架构的精简包,体积略小。四者为同一版本的不同打包,架构不匹配时无法安装。
校验
APK 由 GitHub Actions 从本 tag 构建并签名。
- 校验和:
SHA256SUMS.txt - 构建来源:
gh attestation verify <文件> --repo NihilDigit/bilby
mapping.txt 用于还原崩溃堆栈。
v0.4.0
听视频页重做
新版的主体是一张唱片,封面缩至盘心作为标签,播放时以 36 秒一圈转动,暂停时停在当前角度。控制行固定于底部,播放键居中,倍速与定时关闭分列两侧。队列移入底部抽屉,收起时仅露出把手,上拉展开,随机播放随之移入其中。
-
选定字幕轨后,左右滑动可在唱片与逐句文稿之间切换,点击某一句即跳转至该处。无字幕轨的视频没有这一页,唱片下方也不显示页面指示点。
-
定时关闭改为滑块,范围 10 至 120 分钟,另有「播完当前视频再停」开关。两者相互独立:仅启用开关而不设时长,则当前视频播放结束即停止;两者同时设定,则在设定时间到达时停止,若此时正在播放,等待当前视频结束。
新增
-
弹幕。 播放器控制条上的开关控制其显示,默认关闭,设置页内为同一开关。支持滚动、顶部、底部三类弹幕,按播放进度分段获取,并跟随播放时钟:暂停时静止,倍速播放时同步加速。本版仅支持显示,不支持发送。
-
AI 字幕。 播放器控制条的字幕按钮列出该视频的可用字幕轨,AI 生成的轨道标注「(AI)」。看视频时字幕位于画面底部;听视频时同一份字幕作为逐句文稿呈现。所选语言会被记住,切换视频时匹配同语言的轨道,无匹配则不显示。
-
我的。 底部第三格由「收藏」改为「我的」:顶部为账号信息与登出,其下依次是历史记录、稍后再看各三条,以及全部收藏夹。设置入口移至此处,账号信息不再置于设置页内。
-
历史记录。 位于「我的」页内,显示看过的视频及各自的观看进度。服务端保留约 1200 条,可翻至末尾。它只在这一页出现,不进入其他界面。
-
搜索结果排序。 可按综合、最多播放、最新发布排列。
-
等级徽章。 评论区、个人空间、播放页的 UP 主信息处显示 B 站等级。
变化
-
排序控件统一。 评论区、个人空间的投稿、搜索结果三处改用同一控件,位置移至右上角。
-
个人空间的搜索框收入顶栏图标。 此前搜索框与排序两个通栏控件叠置于投稿列表上方。收起时清空关键词并重新加载,不遗留不可见的筛选条件。
-
取消关注需要确认,关注不需要。
-
动态页顶部的常访问 UP 增加标题与分割线,与下方的动态流区分。
-
动态、搜索、我的三页不再有顶栏标题。 该标题与底部导航栏的标签重复,移除后内容自状态栏下方开始。设置入口移至「我的」页账号一行的末尾。
-
听视频时按返回键退回播放页。 此前会直接退出播放页,返回进入前的界面,而播放继续。
修复
- 打开一条视频时先显示上一条视频的详情,待播放切换后才更正。
- 切换视频时画面残留上一条的最后几帧。
- 评论区的 IP 属地始终不显示。
- 全屏时清晰度标签被截断,致使「1080P60」与「1080P 高码率」显示相同。
- 播放页「简介 / 评论」的指示条在滑动切换时不跟随手指,须待翻页判定完成后才移动。
安装
universal 为通用包;arm64-v8a、armeabi-v7a、x86_64 为对应架构的精简包,体积略小。四者为同一版本的不同打包,架构不匹配时无法安装。
校验
APK 由 GitHub Actions 从本 tag 构建并签名。
- 校验和:
SHA256SUMS.txt - 构建来源:
gh attestation verify <文件> --repo NihilDigit/bilby
mapping.txt 用于还原崩溃堆栈。
v0.3.0
播放器与播放队列合并为单一来源
此前播放器与队列分散在两处:播放页各自构建一份队列,后台服务在进入听视频时另建一份,以哪一份为准取决于进入路径。本版将两者合并至播放服务,播放页、全屏、听视频三个界面只读取状态、发送命令,不再持有播放内容,也不再自行取流。
由此产生的行为变化:
- 打开视频即建立队列(当前合集,无合集则为该 UP 的投稿),不再需要先进入听视频。通知栏与耳机线控的上一条、下一条随之可用。
- 队列推进时,播放页跟随切换至正在播放的视频。
- 重复打开同一视频不再重新载入。进出全屏、退出听视频、旋转屏幕均不中断播放。
新增
播放器手势。 在画面上水平拖动调整播放进度;在画面左半侧垂直拖动调整屏幕亮度,右半侧调整媒体音量;双击画面左右两侧分别后退、前进 10 秒,双击中部播放或暂停。锁定播放器后手势全部停用。
亮度调整作用于系统亮度,退出应用后不还原。首次使用时将跳转至系统设置的「可修改系统设置」,需手动为 Bilby 开启。
手动更新。 位于设置 → 关于 → 检查更新。读取 GitHub Releases 的最新版本,匹配本机架构的安装包并下载,交由系统安装器完成安装。仅在点击时检查,不做后台轮询。安装需要「安装未知应用」权限。
变化
播放失败不再跳过。 取流或解码失败时对同一视频退避重试,间隔 1 秒、2 秒;三次均失败则停止于该视频,界面显示失败原因并提供重试入口。此前的行为是跳至下一条,一次网络中断可在数毫秒内遍历完整个队列。
时长显示统一。 时长满一小时才显示小时位。此前部分位置会出现 85:30 这类超过 60 分钟的分钟数。
切换分集不再附带横向滑动动画。
修复
- 从 UP 主页进入听视频时页面为空且不播放。
- 听视频界面的顺序/随机开关不改变实际播放顺序。
- 在听视频中切换视频后返回播放页,页面仍停留在进入时的视频,标题与统计数据与实际播放内容不一致。
安装
universal 为通用包;arm64-v8a、armeabi-v7a、x86_64 为对应架构的精简包,体积略小。四者为同一版本的不同打包,架构不匹配时无法安装。
校验
APK 由 GitHub Actions 从本 tag 构建并签名。
- 校验和:
SHA256SUMS.txt - 构建来源:
gh attestation verify <文件> --repo NihilDigit/bilby
mapping.txt 用于还原崩溃堆栈。
v0.2.0
新增
- 动态页顶部列出最常访问的 UP 主,右侧可进入完整关注列表
- 第三屏改为入口页,包含稍后再看与全部自建收藏夹
- 听视频支持切换分 P
- 进度条标出 SponsorBlock 将跳过的片段,配色沿用官方扩展
- 动态页恢复下拉刷新
- 竖屏视频进入全屏后保持竖屏,不再旋转为横屏
修复
- 部分视频长时间缓冲、无法播放:本地进度记录被写入了其他视频的位置,续播点超出片长
- 续播位置始终从头开始:服务端返回的进度单位解析有误
- 普通搜索结果滚动时崩溃
- 助理搜索频繁停在「助理没有给出结果」
- 个人空间的关注按钮不反映真实关注状态
- 进入听视频时回退到 P1 且进度归零;听视频内切换分 P 会清空播放队列
- 取流时避开不稳定的 PCDN 节点
行为变化
- 合集内切换分集后按返回,直接退出播放页,不再逐集回退
- 本次升级清空本地播放进度与助理会话记录。播放进度改以 bilibili 服务端为准
安装
universal 为通用包;arm64-v8a、armeabi-v7a、x86_64 为对应架构的精简包,体积略小。四者为同一版本的不同打包,架构不匹配时无法安装。
校验
APK 由 GitHub Actions 从本 tag 构建并签名。
- 校验和:
SHA256SUMS.txt - 构建来源:
gh attestation verify <文件> --repo NihilDigit/bilby
mapping.txt 用于还原崩溃堆栈。
v0.1.1
修复
- 默认模型改为
deepseek-v4-flash。此前的默认值不是有效的模型名,全新安装在首次使用助理时会失败。
新增
- 设置页可对 LLM 接口发起一次连通性测试,显示耗时。地址、key 与模型名三项是否正确,由此一次确认。
安装
universal 为通用包;arm64-v8a、armeabi-v7a、x86_64 为对应架构的精简包,体积略小。四者为同一版本的不同打包,架构不匹配时无法安装。
校验
APK 由 GitHub Actions 从本 tag 构建并签名。
- 校验和:
SHA256SUMS.txt - 构建来源:
gh attestation verify <文件> --repo NihilDigit/bilby
mapping.txt 用于还原崩溃堆栈。
v0.1.0
首个发布版本。功能已覆盖日常使用,界面与接口层仍在改动,不保证稳定性与兼容性。
功能
- 关注动态、搜索、稍后再看、UP 主空间
- 播放:全屏、清晰度切换、倍速、长按快进、拖动进度、锁定、多 P 视频
- 听视频:与看视频共用同一播放器,后台播放,通知栏、锁屏与耳机线控,定时关闭
- 评论:浏览、排序、展开楼中楼、发布、点赞、删除
- 点赞、投币、收藏、关注
- SponsorBlock 片段默认跳过
- 助理搜索:需自行配置 OpenAI 兼容接口
安装
universal 为通用包;arm64-v8a、armeabi-v7a、x86_64 为对应架构的精简包,体积略小。四者为同一版本的不同打包,架构不匹配时无法安装。
校验
APK 由 GitHub Actions 从本 tag 构建并签名。
- 校验和:
SHA256SUMS.txt - 构建来源:
gh attestation verify <文件> --repo NihilDigit/bilby
mapping.txt 用于还原崩溃堆栈。