注释掉非必要的docker容器,添加文档等 (#553)

* Adding docs

* change readme

* document refine
This commit is contained in:
kira1928 committed 2023-11-25 17:38:28 +09:00
1 parent 4ec5bb7b9d
commit 93f96d0ce4
14 files changed
+171 -45

No files matched your search

+59 -15
View File
@@ -7,7 +7,7 @@
Bililive-go是一个支持多种直播平台的直播录制工具
![image](https://github.com/hr3lxphr6j/bililive-go/raw/master/docs/screenshot.webp)
![image](docs/screenshot.webp)
## 支持网站
@@ -123,7 +123,7 @@ Bililive-go是一个支持多种直播平台的直播录制工具
<tr align="center">
<td>快手</td>
<td>live.kuaishou.com</td>
<td>滋瓷</td>
<td>滋瓷(不稳定)</td>
<td>滋瓷</td>
</tr>
<tr align="center">
@@ -142,33 +142,77 @@ Bililive-go是一个支持多种直播平台的直播录制工具
### cookie 在 config.yml 中的设置方法
cookie的设置以域名为单位。比如想在录制抖音直播时使用 cookie,那么 config.yml 中可以像下面这样写:
cookie的设置以域名为单位。比如想在录制抖音直播时使用 cookie,那么 `config.yml` 中可以像下面这样写:
```
cookies:
live.douyin.com: __ac_nonce=123456789012345678903;name=value
```
这里 name 和 value 只是随便举的例子,用来说明当添加超过一条 cookie 的键值对时应该用分号隔开。
至于具体应该添加哪些键,就需要用户针对不同网站自己获取了。
## 在网页中修改设置
点击网页左边的 `设置` 可以在线修改项目的配置文件,之后点击页面下面的 `保存设置` 按钮保存设置。
如果保存后窗口提醒设置保存成功,那就是配置文件已经被写入磁盘了。如果是保存失败,那可能是配置文件格式问题或者遇到程序 bug,总之磁盘上的配置文件没变。
在网页中即使保存配置成功也不一定表示相应的配置会立即生效。
有些配置需要停止监控后再重新开始监控才会生效,有些配置也许要重启程序才会生效。
## 网页播放器
点击对应直播间行右边的 `文件` 链接可以跳转到对应直播间的录播目录中。
当然你点左边的 `文件` 一路找过去也行。
https://github.com/hr3lxphr6j/bililive-go/assets/2352900/6453900c-6321-417b-94f2-d65ec2ab3d7e
## Grafana 面板
> 请自行部署 prometheus 和 grafana
docker compose 用户可以取消项目根目录下 `docker-compose.yml` 文件中 prometheus 和 grafana 部分的注释以启用统计面板。
这里是 [设置说明](docs/grafana.md)
非 docker compose 用户需要自行部署 prometheus 和 grafana。
这里是 [一些建议](docs/grafana.md#%E6%89%8B%E5%8A%A8%E5%AE%89%E8%A3%85%E7%AC%94%E8%AE%B0)
![image](https://github.com/hr3lxphr6j/bililive-go/raw/master/docs/dashboard.webp)
增加说明
[grafana](docs/grafana.md)
## 依赖
* [ffmpeg](https://ffmpeg.org/)
## 使用例子
- 本地
```
./bililive-go -i https://live.bilibili.com/1030 -i https://www.douyu.com/6655
```
- docker
```
docker run --restart=always -v ~/config.yml:/etc/bililive-go/config.yml -v ~/Videos:/srv/bililive -p 8080:8080 -d chigusa/bililive-go
```
## 安装和使用
### Windows
https://github.com/hr3lxphr6j/bililive-go/wiki/Install-Windows
### macOS
https://github.com/hr3lxphr6j/bililive-go/wiki/Install-macOS
### Linux
https://github.com/hr3lxphr6j/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/Synology-related.md#如何用-docker-compose-安装-bgo)
## 常见问题
[docs/FAQ.md](docs/FAQ.md)
## 开发环境搭建(linux系统)
```
+30 -30
View File
@@ -13,33 +13,33 @@ services:
ports:
- 8080:8080
prometheus:
image: quay.io/prometheus/prometheus
restart: unless-stopped
container_name: bililive-prom
volumes:
- prometheus_data:/prometheus
- ./contrib/prometheus:/etc/prometheus
command:
# retention 建议大于30天
- '--storage.tsdb.retention.time=30d'
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
- '--web.console.templates=/usr/share/prometheus/consoles'
ports:
- 9090:9090
grafana:
image: grafana/grafana-oss
restart: unless-stopped
container_name: bililive-graf
volumes:
- ./contrib/grafana/provisioning:/etc/grafana/provisioning
environment:
- GF_SECURITY_ADMIN_USER=${ADMIN_USER}
- GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD}
- GF_USERS_ALLOW_SIGN_UP=false
- GF_DASHBOARDS_DEFAULT_HOME_DASHBOARD_PATH=/etc/grafana/provisioning/dashboards/bilipanel.json
ports:
- 3000:3000
# prometheus:
# image: quay.io/prometheus/prometheus
# restart: unless-stopped
# container_name: bililive-prom
# volumes:
# - prometheus_data:/prometheus
# - ./contrib/prometheus:/etc/prometheus
# command:
# # retention 建议大于30天
# - '--storage.tsdb.retention.time=30d'
# - '--config.file=/etc/prometheus/prometheus.yml'
# - '--storage.tsdb.path=/prometheus'
# - '--web.console.libraries=/usr/share/prometheus/console_libraries'
# - '--web.console.templates=/usr/share/prometheus/consoles'
# ports:
# - 9090:9090
#
# grafana:
# image: grafana/grafana-oss
# restart: unless-stopped
# container_name: bililive-graf
# volumes:
# - ./contrib/grafana/provisioning:/etc/grafana/provisioning
# environment:
# - GF_SECURITY_ADMIN_USER=${ADMIN_USER}
# - GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD}
# - GF_USERS_ALLOW_SIGN_UP=false
# - GF_DASHBOARDS_DEFAULT_HOME_DASHBOARD_PATH=/etc/grafana/provisioning/dashboards/bilipanel.json
# ports:
# - 3000:3000
+25
View File
@@ -0,0 +1,25 @@
# 常见问题
## 录制的视频频繁分段
可能是网络波动导致的。
## 录制的直播视频中途绿屏花屏
这通常是因为主播开始 pk 之后直播间的分辨率发生了微小的变化,而默认的 ffmpeg 程序无法处理这种分辨率变化导致的花屏。
在配置文件中启用 `use_native_flv_parser` 可以改为使用自制的 flv parser 录制视频。好处是遇到 pk 之类直播间分辨率变化的情况可以自动给视频分段来避免花瓶。坏处好像是遇到网络波动时视频更容易频繁分段?
## 快手录制不稳定
确实不稳定。快手网站对录播程序很严格...
## 程序崩溃啦
目前已知的崩溃方式有两种。
第一种会在直播间录制结束的瞬间崩溃,崩溃log参考 [这里](https://github.com/hr3lxphr6j/bililive-go/issues/383#issuecomment-1424675413)
第二种在录制开始的瞬间崩溃,崩溃 log 参考 [这里](https://github.com/hr3lxphr6j/bililive-go/issues/546)
这种崩溃似乎是因为程序虽然找到了 ffmpeg 程序,但是在启动 ffmpeg 程序的时候发生了错误。有可能是你下载的 ffmpeg 程序不是你的电脑架构的可执行程序。你可以在命令行启动一下程序使用的 ffmpeg 看看有没有什么错误提醒。
+54
View File
@@ -0,0 +1,54 @@
# 群晖 (Synology) 相关信息汇总
## 如何用 docker compose 安装 bgo
1. 下载项目代码的 zip 压缩包到本地
![image](./download-repo-as-zip.png)
2. 上传到NAS
![image](./synology-upload-repo-code-zip.png)
3. 解压代码
![image](./synology-unzip-repo-code.png)
4. 从 Container Manager 的 `项目` 中创建 bgo 的 docker compose 项目
![image](./synology-container-manager-setup-1.png)
5. 后面一路 下一步,直到完成。
完成后默认在 NAS 的 8080 端口访问 bgo
### 启用 grafana 统计面板
1. 将 `example.env` 文件重命名为 `.env`
![image](./synology-rename-dot-env-file.png)
2. 为 `contrib/grafana` 和 `contrib/prometheus` 目录添加可读权限 (因为他们的docker镜像中的用户权限比较复杂= =)
这里仅以修改 prometheus 目录的访问权限为例。
右键文件夹点属性
![image](./synology-grafana-add-permission-1.png)
为文件夹添加所有人可以访问的权限
![image](./synology-grafana-add-permission-2.png)
后面一路完成保存
3. 修改 yaml 配置
删除 `docker-compose.yml` 文件中 prometheus 和 grafana 部分的`#`字符以启用统计面板。
如果已经按照上面的步骤创建了项目并且项目正在运行中,那么需要先停止项目后,才能修改 yaml 配置。修改后保存配置并重新构建和启动项目。
![image](./synology-change-yaml-to-enable-other-containers.png)
如果还没有创建项目,那现在可以按照上面 [如何用 docker compose 安装 bgo](#如何用-docker-compose-安装-bgo) 的步骤创建项目啦~
Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

+3
View File
@@ -38,3 +38,6 @@ scrape_configs:
- targets: ["bililive-go:8080"] #自行修改ip端口
```
grafana 需要打开浏览器,然后复制[面板内容](/contrib/grafana/dashboard.json)导入
# 群晖(Synology)的情况
[启用 grafana 统计面板](./Synology-related.md#启用-grafana-统计面板)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB