Skip to content

Releases: NihilDigit/bilby

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 09 Aug 11:33

新增

  • 高级弹幕。 采用定位与运动脚本的弹幕(模式 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

Choose a tag to compare

@github-actions github-actions released this 08 Aug 12:11

新增

  • 搜索历史。 普通搜索在开始检索前列出最近 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

Choose a tag to compare

@github-actions github-actions released this 08 Aug 09:37

修复

  • 打开 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

Choose a tag to compare

@github-actions github-actions released this 08 Aug 03:50

新增

  • 联合投稿显示全部作者。 播放页此前只显示 UP 主一人。现在横向列出所有参与者,名字下方标注分工。未关注者的头像右下角有一个加号,点击即关注,关注后消失。联合投稿下不再单独设置关注按钮,关注状态全部由加号表达;取消关注需前往对方空间页。

  • 评论中的时间戳可点击跳转。 12:341: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

Choose a tag to compare

@github-actions github-actions released this 07 Aug 17:43

听视频页重做

新版的主体是一张唱片,封面缩至盘心作为标签,播放时以 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

Choose a tag to compare

@github-actions github-actions released this 07 Aug 10:53

播放器与播放队列合并为单一来源

此前播放器与队列分散在两处:播放页各自构建一份队列,后台服务在进入听视频时另建一份,以哪一份为准取决于进入路径。本版将两者合并至播放服务,播放页、全屏、听视频三个界面只读取状态、发送命令,不再持有播放内容,也不再自行取流。

由此产生的行为变化:

  • 打开视频即建立队列(当前合集,无合集则为该 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

Choose a tag to compare

@github-actions github-actions released this 07 Aug 06:51

新增

  • 动态页顶部列出最常访问的 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

Choose a tag to compare

@github-actions github-actions released this 07 Aug 03:33

修复

  • 默认模型改为 deepseek-v4-flash。此前的默认值不是有效的模型名,全新安装在首次使用助理时会失败。

新增

  • 设置页可对 LLM 接口发起一次连通性测试,显示耗时。地址、key 与模型名三项是否正确,由此一次确认。

安装

universal 为通用包;arm64-v8aarmeabi-v7ax86_64 为对应架构的精简包,体积略小。四者为同一版本的不同打包,架构不匹配时无法安装。

校验

APK 由 GitHub Actions 从本 tag 构建并签名。

  • 校验和:SHA256SUMS.txt
  • 构建来源:gh attestation verify <文件> --repo NihilDigit/bilby

mapping.txt 用于还原崩溃堆栈。

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 07 Aug 03:14

首个发布版本。功能已覆盖日常使用,界面与接口层仍在改动,不保证稳定性与兼容性。

功能

  • 关注动态、搜索、稍后再看、UP 主空间
  • 播放:全屏、清晰度切换、倍速、长按快进、拖动进度、锁定、多 P 视频
  • 听视频:与看视频共用同一播放器,后台播放,通知栏、锁屏与耳机线控,定时关闭
  • 评论:浏览、排序、展开楼中楼、发布、点赞、删除
  • 点赞、投币、收藏、关注
  • SponsorBlock 片段默认跳过
  • 助理搜索:需自行配置 OpenAI 兼容接口

安装

universal 为通用包;arm64-v8aarmeabi-v7ax86_64 为对应架构的精简包,体积略小。四者为同一版本的不同打包,架构不匹配时无法安装。

校验

APK 由 GitHub Actions 从本 tag 构建并签名。

  • 校验和:SHA256SUMS.txt
  • 构建来源:gh attestation verify <文件> --repo NihilDigit/bilby

mapping.txt 用于还原崩溃堆栈。