BiliLiveTool源码构建教程:从克隆bilibili_live_stream_code仓库到本地运行,完整步骤
BiliLiveTool源码构建教程:从克隆bilibili_live_stream_code仓库到本地运行,完整步骤
BiliLiveTool(仓库名 bilibili_live_stream_code)是一款用于获取 B 站直播推流码的开源桌面工具,支持一键开/关播、管理直播标题与分区,并实时显示弹幕和礼物消息。本文面向新手,带你走完 克隆仓库 → 配置环境 → 构建前端 → 安装依赖 → 本地运行 → 打包发布 的完整源码构建流程,跟着做即可完成从源码到可执行程序的落地。
🎯 它能做什么
先花 1 分钟了解项目定位,帮助你理解为什么要从源码构建:
- 获取第三方推流码:拿到 RTMP / SRT 推流地址,绕开官方直播姬,直接对接 OBS 等推流软件开播
- 开关播 + 标题分区管理:开播时自定义标题与直播分区
- 弹幕监控与互动:监控进场消息、礼物消息,并支持发送弹幕
- 托盘常驻:支持最小化到系统托盘,通过托盘快捷开播 / 关播
核心入口是 main.py,它基于 pywebview 创建无边框窗口,加载前端页面并挂载后端 ApiService;业务逻辑被拆分到 backend/services/ 下的多个服务模块。
🧩 环境要求
构建前请先确认本机已安装以下运行时(版本来自 README.md):
| 组件 | 最低版本 | 用途 |
|---|---|---|
| Python | 3.9+ | 后端与打包 |
| Node.js | 18+ | 构建 Vue 前端 |
| Git | 任意较新版本 | 克隆仓库 |
💡 检查命令:
python --version、node -v、git --version。
📥 第一步:克隆仓库
使用 Git 克隆 bilibili_live_stream_code 仓库到本地:
git clone https://gitcode.com/gh_mirrors/bi/bilibili_live_stream_code
cd bilibili_live_stream_code
克隆完成后,你得到的顶层结构大致如下:
- backend/:Python 后端,含 bilibili_api.py、get_wbi.py(WBI 签名)、config.py(配置读写)、state.py(会话状态)
- frontend/:Vue 3 + Vite 前端,入口 frontend/src/App.vue
- requirements.txt:Python 依赖清单
- main.py:程序主入口
🎨 第二步:构建前端
前端基于 Vue 3 + Vite,产物输出到 frontend/dist。进入 frontend/ 目录执行:
cd frontend
npm install
npm run build
cd ..
构建配置见 vite.config.js,build.outDir 指定为 dist,后端会读取 frontend/dist/index.html(见 main.py)。
⚠️ 这一步必须在运行/打包前完成,否则窗口找不到页面。
🐍 第三步:安装后端依赖
在项目根目录安装 requirements.txt 中的依赖,并补上打包与图标库:
pip install -r requirements.txt
pip install pyinstaller Pillow
Linux 用户从源码运行时,建议额外安装托盘支持(README.md 说明):
pip install PyGObject
若启动时提示
Qt platform plugin "xcb" could not be found,可执行:sudo apt install libxcb-xinerama0 libxcb-cursor0 libnss3。
▶️ 第四步:本地运行
依赖就绪后,直接运行主入口即可在开发模式启动窗口:
python main.py
程序启动流程(参考 main.py):初始化 ApiService → 创建 1000×720 无边框窗口 → 加载前端 → 根据平台挂载系统托盘(Windows 用 pystray,Linux 用 Qt QSystemTrayIcon)。
上手三步走(对应 README.md 使用教程):
- 扫码登录 B 站账号
- 填写标题并选择分区(首次需点
同步) - 点击
开始直播,在 推流码 面板复制地址到 OBS
📌 注意:在 OBS 里点"停止直播"并不会真正关播,需回到本工具点
停止直播或关闭软件。
📦 第五步:打包为可执行程序(可选)
若想把源码打包成单文件可执行程序(BiliLiveTool),使用 PyInstaller 并打包前端 dist 目录。三大平台命令如下:
Windows
pyinstaller main.py --name BiliLiveTool --onefile --add-data "frontend/dist;frontend/dist" --icon "bilibili.ico" --noconsole
macOS
pyinstaller main.py --name BiliLiveTool --onefile --add-data "frontend/dist:frontend/dist" --icon "bilibili.icns" --hidden-import _cffi_backend --windowed
Linux
pyinstaller main.py --name BiliLiveTool --onefile \
--add-data "frontend/dist:frontend/dist" \
--add-data "bilibili.ico:." \
--icon "bilibili.png" \
--hidden-import _cffi_backend \
--hidden-import cffi \
--hidden-import qtpy \
--hidden-import PyQt5 \
--hidden-import webview.platforms.qt
打包完成后,可执行文件位于 dist/ 目录。
🛠️ 源码导读:关键模块在哪里
构建完成后,如果想二次开发,可优先看这些文件(均提供相对路径):
- 窗口与后端桥接:main.py
- API 聚合入口:backend/api_service.py
- 直播标题/分区/开关播:backend/services/live_service.py
- 弹幕收发与礼物监控:backend/services/danmu_service.py
- 扫码登录鉴权:backend/services/auth_service.py
- 用户与账号管理:backend/services/user_service.py
- WBI 签名算法:backend/get_wbi.py
- 弹幕协议定义:backend/dm.proto 与 backend/dm_pb2.py
- 前端面板组件:frontend/src/components/
❓ 常见问题排查
- 窗口空白 / 找不到页面:确认已执行
npm run build,frontend/dist/index.html存在。 - Linux 无托盘图标:从源码运行需
pip install PyGObject;程序仍可运行,仅缺托盘。 - macOS 适配:作者主要维护 Windows/Linux,macOS 建议自行验证,图标转换命令见 README.md。
- 版本信息:当前 VERSION 为
v2.3.17,依赖见 requirements.txt 与 pyproject.toml。
小结:整个 BiliLiveTool 源码构建只需 5 步——克隆仓库、npm run build 构建前端、pip 安装后端依赖、python main.py 本地运行,最后用 PyInstaller 一键打包成 BiliLiveTool 可执行文件。掌握这套流程后,你就能在本地自由修改推流、弹幕、开关播逻辑并快速验证了。