一个直播录制工具
Bililive-go
Bililive-go是一个支持多种直播平台的直播录制工具
第三方生态
安全提示:Bililive-go 未审计任何第三方代码的安全性、合规性和可用性。是否安装或使用来自第三方的脚本、插件、扩展等内容,请自行判断并承担相应风险。>
社区维护的第三方生态项目列表见:docs/third-party.md

支持网站
| 站点 | url | 支持情况 | cookie |
|---|---|---|---|
| Acfun直播 | live.acfun.cn | ✅ 支持 | |
| 哔哩哔哩直播 | live.bilibili.com | ✅ 支持 | ✅ 支持 |
| 战旗直播 | www.zhanqi.tv | ✅ 支持 | |
| 斗鱼直播 | www.douyu.com | ✅ 支持 | |
| 虎牙直播 | www.huya.com | ✅ 支持 | |
| CC直播 | cc.163.com | ✅ 支持 | |
| 一直播 | www.yizhibo.com | ✅ 支持 | |
| OPENREC | www.openrec.tv | ✅ 支持 | |
| 企鹅电竞 | egame.qq.com | ✅ 支持 | |
| 浪live | play.lang.live & www.lang.live | ✅ 支持 | |
| 花椒 | www.huajiao.com | ✅ 支持 | |
| 抖音直播 | live.douyin.com | ✅ 支持 | ✅ 支持 |
| 猫耳 | fm.missevan.com | ✅ 支持 | |
| 克拉克拉 | www.hongdoufm.com | ✅ 支持 | |
| YY直播 | www.yy.com | ✅ 支持 | |
| 微博直播 | weibo.com | ✅ 支持 | |
| SOOP | play.sooplive.com | ✅ 支持 | ✅ 支持 |
cookie 在 config.yml 中的设置方法
cookie的设置以域名为单位。比如想在录制抖音直播时使用 cookie,那么 config.yml 中可以像下面这样写:
cookies: live.douyin.com: _acnonce=123456789012345678903;name=value 这里 name 和 value 只是随便举的例子,用来说明当添加超过一条 cookie 的键值对时应该用分号隔开。 至于具体应该添加哪些键,就需要用户针对不同网站自己获取了。
在网页中修改设置
点击网页左边的 设置 可以在线修改项目的配置文件,之后点击页面下面的 保存设置 按钮保存设置。 如果保存后窗口提醒设置保存成功,那就是配置文件已经被写入磁盘了。如果是保存失败,那可能是配置文件格式问题或者遇到程序 bug,总之磁盘上的配置文件没变。
在网页中即使保存配置成功也不一定表示相应的配置会立即生效。 有些配置需要停止监控后再重新开始监控才会生效,有些配置也许要重启程序才会生效。
网页播放器
点击对应直播间行右边的 文件 链接可以跳转到对应直播间的录播目录中。 当然你点左边的 文件 一路找过去也行。
https://github.com/bililive-go/bililive-go/assets/2352900/6453900c-6321-417b-94f2-d65ec2ab3d7e
新增通知服务
新增了 Telegram、ntfy 通知服务,用户可以在 Telegram、ntfy 中收到直播开始、结束、异常等通知。
有关通知服务的更多信息,请参阅 通知服务文档。
Grafana 面板
docker compose 用户可以取消项目根目录下 docker-compose.yml 文件中 prometheus 和 grafana 部分的注释以启用统计面板。 这里是 设置说明
非 docker compose 用户需要自行部署 prometheus 和 grafana。 这里是 一些建议

依赖
安装和使用
Windows
https://github.com/bililive-go/bililive-go/wiki/Install-WindowsmacOS
https://github.com/bililive-go/bililive-go/wiki/Install-macOSLinux
https://github.com/bililive-go/bililive-go/wiki/Install-Linuxdocker
使用 https://hub.docker.com/r/chigusa/bililive-go 镜像创建容器运行。
例如:
docker run --restart=always -v ~/config.yml:/etc/bililive-go/config.yml -v ~/Videos:/srv/bililive -p 8080:8080 -d chigusa/bililive-go
docker compose
使用项目根目录下的 docker-compose.yml 配置文件启动 docker compose 运行。
例如:
docker compose up 此时默认使用 config.docker.yml 文件作为程序的配置文件,Videos/ 目录作为录制视频的输出目录。
NAS 用户使用系统自带 GUI 创建 docker compose 的情况请参考群晖用 docker compose 安装 bgo 的 图文说明
常见问题
docs/FAQ.md开发环境搭建
支持 Windows、macOS、Linux 原生开发,无需 WSL。
前置要求
| 工具 | 版本要求 | 说明 | |------|----------|------| | Go | 1.25+ | 后端开发语言 | | GNU Make | 4.0+ | 构建工具(见下方安装说明) | | Node.js | 18+ | 前端构建 | | Git | - | 版本控制 | | FFmpeg | - | 可选,用于视频处理(程序会自动下载) |
安装 GNU Make
Windows(推荐 Scoop):
# 安装 Scoop(如果没有) Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
安装 Make
scoop install make
⚠️ Windows 上的 GnuWin32 Make(3.81)版本过旧,会导致编码问题。请使用 Scoop 或 Chocolatey 安装新版。
macOS: 系统自带 Make,或 brew install make
Linux: sudo apt install make(Debian/Ubuntu)
快速开始
# 1. 克隆代码
git clone https://github.com/bililive-go/bililive-go.git
cd bililive-go
2. 安装开发工具(delve 调试器、gopls 语言服务器等)
go generate ./tools/devtools.go
3. 安装前端依赖并构建
cd src/webapp && npm install && cd ../..
go run ./build.go build-web
4. 运行开发版本
go run ./build.go dev
使用 VSCode 开发
项目提供了预配置的 VSCode 调试模板。推荐的调试配置依赖任务配置,需要同时复制两个文件:
# 复制调试配置模板(两个文件都需要)
cp .vscode/launch.example.json .vscode/launch.json
cp .vscode/tasks.example.json .vscode/tasks.json
文件依赖关系:
launch.json- 定义调试配置(如何启动程序、断点等)tasks.json- 定义构建任务(如增量编译)- 🚀 Debug Main Program 配置的
preLaunchTask依赖tasks.json中的dev-incremental任务
- 用 VSCode 打开项目
- 按
F5或打开 Run and Debug 面板 - 选择 🚀 Debug Main Program 配置即可开始调试
| 配置 | 说明 | |------|------| | 🚀 Debug Main Program | 推荐。使用增量编译,首次完整编译,后续只在源码变化时重新编译 | | Debug Main Program (Source) | 直接从源码调试,每次都会编译(无需 tasks.json) |
💡 提示:增量编译会将二进制输出到bin/bililive-dev(或bililive-dev.exe),
这个文件名跨平台统一,便于调试配置复用。
💡 提示:launch.json和tasks.json都已被 gitignore 忽略,你可以自由修改而不会影响仓库。
模板更新时,可对比 .example.json 的变更手动合并。
详细的调试配置说明见 test/README.md。
构建命令
项目支持两种构建方式:go run ./build.go 和 make。
| 功能 | go run 方式 | make 方式 | |------|-------------|-----------| | 查看帮助 | go run ./build.go help | make help | | 开发构建 | go run ./build.go dev | make dev | | 发布构建 | go run ./build.go release | make build | | 构建前端 | go run ./build.go build-web | make build-web | | 运行测试 | go run ./build.go test | make test | | 代码生成 | go run ./build.go generate | make generate | | 代码检查 | - | make lint | | 清理产物 | - | make clean | | E2E 测试 | - | make test-e2e | | E2E 测试 (UI) | - | make test-e2e-ui | | 查看测试报告 | - | make show-report |
# 示例:开发构建
go run ./build.go dev
或
make dev
E2E 测试报告
运行 E2E 测试后,可以通过以下方式查看报告:
# 方式一:使用 Playwright 内置服务器(推荐,支持源码查看)
make show-report
方式二:启动在线报告服务器(适合团队分享,可从 GitHub 获取源码)
make serve-report COMMIT=0.8.0/dev
然后访问 http://localhost:9323
💡 提示: serve-report 会启动一个特殊的服务器,当本地源码不存在时,
会自动从 GitHub 获取对应 commit 的源码。这样可以在没有源码的机器上完整查看测试报告。
项目结构
bililive-go/
├── src/
│ ├── cmd/ # 主程序入口
│ │ ├── bililive/ # 主程序
│ │ └── launcher/ # 启动器(自动更新)
│ ├── configs/ # 配置管理
│ ├── live/ # 各平台直播解析
│ ├── pkg/ # 通用包
│ │ └── update/ # 自动更新模块
│ ├── recorders/ # 录制器实现
│ ├── servers/ # HTTP API
│ └── webapp/ # React 前端
├── test/ # 测试工具
├── tools/ # 开发工具依赖
├── config.yml # 配置文件(用户创建)
└── build.go # 构建脚本入口