- 用于在准备直播时获取第三方推流码,以便可以绕开哔哩哔哩直播姬,直接在如OBS等软件中进行直播;
- 支持开播时定义标题和分区;
- 支持弹幕监控(含进场消息和礼物消息)以及发送弹幕;
*本程序仅用于学习和交流,禁止用于商业或其他目的,任何不当使用导致的问题自行负责。
- 扫码登录B站账号;
- 填写标题并选择分区(首次使用需要点击
同步); - 点击
开始直播来开始直播; - 在 推流码 复制链接和推流码至第三方推流工具;
- 在 弹幕 界面,可以查看并发送弹幕;
- 点击
停止直播或关闭软件来停止直播,使用 OBS 的停止直播并不会停止直播;
- Python: 3.9+
- Node.js: 18+
-
克隆仓库
git clone https://github.com/ChaceQC/bilibili_live_stream_code.git cd bilibili_live_stream_code -
构建前端
cd frontend npm install npm run build cd ..
-
安装后端依赖
pip install -r requirements.txt pip install pyinstaller Pillow
Linux:无需额外系统依赖,程序使用内置的 Qt 库运行托盘。建议在 Ubuntu 20.04+ 或其他主流发行版上运行。
若启动时提示
Qt platform plugin "xcb" could not be found,请安装:
sudo apt install libxcb-xinerama0 libxcb-cursor0 libnss3从源码运行时还需 pip 安装:
pip install PyGObject
未安装时程序仍可正常运行,仅无托盘图标。打包后的二进制仅需系统包(无需 pip 安装)。
-
准备图标 (可选)
-
macOS (ico -> icns):
# 使用 sips 和 iconutil (macOS 自带) sips -s format png bilibili.ico --out temp_icon.png mkdir bilibili.iconset sips -z 1024 1024 temp_icon.png --out bilibili.iconset/icon_512x512@2x.png iconutil -c icns bilibili.iconset rm -rf bilibili.iconset temp_icon.png -
Linux (ico -> png):
# 使用 Python Pillow 库 python -c "from PIL import Image; Image.open('bilibili.ico').save('bilibili.png')"
-
-
打包应用
-
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目录下。
- 支持推流码类型:RTMP和SRT;
- 因为本人穷,用不起mac,mac用户可以自行进行测试,如果调试到可以正常运行,欢迎提交pr;