开发阶段:pre-alpha。 面向 Windows 64 位 PotPlayer 的哔哩哔哩风格皮肤与辅助程序,目前仍在迭代,功能和配置格式可能变化。
项目保留 PotPlayer 的播放、解码和渲染能力,调整控制栏、键鼠交互、轨道选择及字幕/弹幕界面。它不是哔哩哔哩官方项目,也不提供 B 站账号、在线点播或缓存下载功能。
- 精简控制栏:左侧为上一项、播放/暂停、下一项和时间;右侧为音频参数、视频参数、倍速、字幕和弹幕、音量、全屏。
- 悬浮控制:音量按钮单击静音,悬停调音量;倍速菜单提供 0.25×、0.5×、1×、2×、3×、5×、10×,1× 时按钮显示“倍速”。
- 音视频信息与选轨:显示 Hi-Res、空间音频、声道布局、HDR、分辨率和帧率,详细规格保留在悬浮列表中。单轨时不弹出列表,打开文件时沿用 PotPlayer 的自动选轨结果。Hi-Res 标记描述文件规格,不评价实际听感。
- 字幕和弹幕:汇总同目录文件、手动导入文件和容器内文本软字幕;支持主/副双字幕、普通弹幕独立开关、内容分类、拖动改分类和分页列表。
- 样式设置:字体预览、字号、粗体/斜体、文字颜色、背景填充、描边和投影;弹幕另有类型过滤、显示区域、透明度、速度、随屏幕缩放和防挡字幕。设置与手动分类自动保存。
- 侧栏内缩:窗口和全屏模式下均在内部缩小视频区域,保持外窗尺寸和鼠标位置;可切换原生浏览器与播放列表,开关侧栏保留当前标签。空间不足时暂时收起,放大后恢复原来的展开状态。进入全屏时临时收起侧栏,退出时恢复窗口模式的记忆;全屏内手动开关会更新这份记忆。全屏右边缘悬停不展开侧栏。
- 悬浮控制栏与小窗模式:正常模式的半透明底栏在鼠标进入播放区时显示。小窗模式提供悬浮标题栏、精简底栏、字幕/弹幕开关及视频比例锁定,鼠标移出后只保留画面。
- 360° 操作:隐藏四个固定预览视角,按住中键拖动视角,单击中键回正。
控制栏嵌入播放器原生窗口,跟随最大化、恢复尺寸、全屏和 DPI 变化;普通窗口和全屏下鼠标静止 3 秒后隐藏、移动后恢复,鼠标移出播放区也会隐藏。小窗模式仅在鼠标移出窗口后隐藏。操作悬浮菜单时保持显示,悬浮菜单和快捷键只对获得焦点的播放器启用。
- Windows 10/11 x64 与 64 位 PotPlayer,使用系统 .NET Framework。
- 安装包包含 MediaInfo 和 LGPL 版 FFmpeg 动态库,无需另装 FFmpeg 或修改 PATH。
- 开发构建需要 x64 MinGW-w64 GCC、GNU Make、Bash 和 PowerShell;C# 使用系统 Framework64 编译器。
关闭所有 PotPlayer 窗口,运行 BilibiliBehaviors-版本-win-x64-setup.exe,选择包含 64 位 PotPlayer 的目录。安装程序备份原有鼠标、快捷键、皮肤选择和已有同名资源,然后启用 BilibiliLite。
入口为 Extension/BilibiliBehaviors/BilibiliBehaviors.exe,由 PotPlayer 播放扩展启动并加载 8 个业务/基础 DLL。没有托盘图标、登录自启、服务或计划任务;多个播放器窗口共用宿主,最后一个实例退出后释放资源并结束进程。
原生主窗口自定义快捷键会暂时清空,首次备份保存在 %LOCALAPPDATA%\BilibiliPotPlayer\installation,升级沿用。旧版手动安装需要先恢复,或使用安装参数 /LEGACYBACKUP="原 original-input.json 路径" 导入备份。
| 操作 | 功能 |
|---|---|
| → / ← 短按 | 前进 / 后退 5 秒 |
| → 长按 | 按住期间 2 倍速,松开恢复原速度 |
| ← 长按 | 连续后退 |
| ↑ / ↓、鼠标滚轮 | 调整音量,每次 10 个百分点 |
| Space、视频区域左键单击 | 暂停 / 播放 |
| F、视频区域左键双击 | 进入 / 退出全屏 |
| Esc | 退出全屏 |
, / [、. / ] |
上一项、下一项 |
| M | 静音 / 取消静音 |
| Shift+1 / Shift+2 | 1 倍速 / 2 倍速 |
| D | 普通弹幕总开关 |
| C | 字幕总开关,保留主/副字幕选择 |
| S | 切换小窗/正常模式 |
| X | 打开 / 收起播放列表 |
| 360° 视频中键拖动 / 单击 | 转动视角 / 回正 |
| F1–F12(F5 除外) | 保留原生功能 |
F5 保留给后续自定义设置页,Enter 当前无动作。右键菜单暂时禁用,未列出的播放器快捷键由辅助程序屏蔽;系统窗口操作和原生菜单/对话框输入不受影响。完整按键表见上表,部署细节见安装说明。
按内容识别 SRT、ASS/SSA、WebVTT、LRC、TTML、B 站 XML 及约定结构的 JSON,扩展名不单独决定用途。用途不明的文本进入“分类存疑”,可以拖到对应分类;混有普通和高级弹幕的来源会拆开列出。
单字幕模式再次点击选中项即可关闭。开启多语言字幕后最多选择两条,分别标为主/副;先填空位,满两条时替换副字幕,关闭主字幕会将副字幕提升为主字幕。
普通弹幕支持滚动、反向滚动、顶部及底部固定。主菜单提供显示区域、不透明度和速度,字号移入螺母设置页。默认保留弹幕原色,也可指定统一文字颜色;关闭“启用彩色弹幕”会强制渲染为白色,与按原始颜色过滤弹幕相互独立。
设置保存在 %LOCALAPPDATA%\BilibiliPotPlayer\caption-options.json,包含显示样式和手动分类,不改写源字幕或弹幕文件。
- 高级、代码和 BAS 弹幕仅识别、分类与计数,暂不播放或执行。
- ASS 文本使用统一样式,不复现原有动画、绘图及复杂排版。
- PGS、VobSub 等图像字幕沿用 PotPlayer 原生渲染,面板会列出,但暂不支持在此切换。
- 翻译、语音生成字幕、自定义右键菜单和 F5 设置页尚未实现;智能识别人像的防挡弹幕尚未实现。
- Hi-Res、HDR、空间音频标记基于源文件信息,不表示当前设备或渲染链路已经完整输出对应效果。
- 窗口宽度低于 1024 或高度低于 540 逻辑像素时暂时关闭并禁止展开侧栏,正常控制栏保持一致;宽度低于 800 或高度低于 480 时进入小窗模式。这些数值按本皮肤控件空间制定,并非 B 站官方阈值。S 默认使用约 640 像素宽的视频窗口,返回时恢复至允许侧栏的最小尺寸,并按记忆状态展开侧栏。
- 触控布局保留,但尚未像常规桌面布局一样完整验证;不同 PotPlayer 版本、渲染器和多屏 DPI 组合仍需进一步验证。
关闭 PotPlayer,在 Windows“已安装的应用”中卸载 Bilibili Behaviors for PotPlayer。卸载恢复原操作配置、快捷键及皮肤选择,恢复安装前已有的同名文件,移除本项目记录的安装文件。字幕/弹幕偏好保留在用户目录。
# 完整构建、验证并生成安装包,输出到 build/out/dist/
.\build\package.ps1
# 只改 C# 后编译 DLL 并运行检查
.\build\managed.ps1 -Test
# 修改 C 源码或皮肤覆盖文件后
.\build\native.ps1
.\build\skin.ps1
# 开发诊断(只读)
.\scripts\dev.ps1 statusbuild/ 保存构建、依赖下载、安装与卸载逻辑,scripts/ 保存开发诊断和样本生成。GitHub Actions 在 Windows 上从源码构建 LGPL FFmpeg,运行逻辑、原生提取及安装恢复检查,生成安装包工件,不自动发布 Release。
src/Host/ BilibiliBehaviors.exe 与 PotPlayer 启动扩展
src/Contracts/ 跨模块接口和配置/数据结构
src/Runtime/ 生命周期、模块校验和每窗口组合
src/Platform/ Win32、DPI、公共绘制与资源
src/Input/ 键鼠与相机手势
src/Windowing/ 侧栏、全屏、小窗和原生布局桥接
src/Playback/ 控制栏、进度、倍速和音量
src/Media/ 媒体规格、轨道和选轨
src/Captions/ 字幕、弹幕和设置界面
src/Native/ PlayerLayout 与 FFmpeg 文本适配器
skin/base/ 固定的默认皮肤底包和校验值
skin/overrides/ 8 个修改定义和 1 个新增图标
config/ 输入配置
third_party/ MediaInfo、LGPL FFmpeg 及构建配置
LICENSES/ 第三方许可证与声明
scripts/ 开发工具
build/ 构建、安装与卸载;out/ 不进入 Git
tests/ 逻辑、原生提取、窗口和安装检查
皮肤构建时将底包与覆盖文件合并为完整 DSF。配置备份及开发验证产物不进入 Git。
本项目原创代码采用 MIT License。皮肤基于 PotPlayer 随附的默认皮肤修改,原始皮肤资源不属于本项目原创内容;Dolby 标志、哔哩哔哩播放器图标及相关商标归各自权利人所有,不包含在原创代码的 MIT 授权范围内。
第三方许可证与声明统一放在 LICENSES/。FFmpeg 动态库使用 LGPL 构建;安装包包含对应原始源码压缩包、配置及构建脚本。