bililive-go
bililive-go
Go

一个直播录制工具

Last updated Jul 8, 2026
5.6k
Stars
691
Forks
305
Issues
+19
Stars/day
Attention Score
91
Language breakdown
No language data available.
Files click to expand
README

Bililive-go

CI Go Report Card Github release Docker Pulls Bilibili

Bililive-go是一个支持多种直播平台的直播录制工具

第三方生态

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

image

支持网站

站点 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。 这里是 一些建议

image

依赖

安装和使用

Windows

https://github.com/bililive-go/bililive-go/wiki/Install-Windows

macOS

https://github.com/bililive-go/bililive-go/wiki/Install-macOS

Linux

https://github.com/bililive-go/bililive-go/wiki/Install-Linux

docker

使用 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.jsontasks.json 都已被 gitignore 忽略,你可以自由修改而不会影响仓库。
模板更新时,可对比 .example.json 的变更手动合并。

详细的调试配置说明见 test/README.md

构建命令

项目支持两种构建方式:go run ./build.gomake

| 功能 | 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           # 构建脚本入口

Wiki

Wiki

API

API doc

参考

🔗 More in this category

© 2026 GitRepoTrend · bililive-go/bililive-go · Updated daily from GitHub