Skip to content

Commit 6c328da

Browse files
authored
fix: adjust config (#270)
* docs: update docs * fix: adjust config
1 parent d8baf86 commit 6c328da

File tree

5 files changed

+104
-139
lines changed

5 files changed

+104
-139
lines changed

README.md

Lines changed: 85 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -154,25 +154,23 @@ pip install -r requirements.txt
154154

155155
[常见问题收集](https://timerring.github.io/bilive/install-questions.html)
156156

157-
#### 2. 设置环境变量用于保存项目根目录
157+
#### 2. 配置参数
158158

159-
```
160-
./setPath.sh && source ~/.bashrc
161-
```
162-
163-
#### 3. 配置 whisper 模型及 MLLM 模型
159+
##### 2.1 whisper 语音识别(渲染字幕功能)
164160

165-
##### 3.1 whisper 语音识别
161+
> [!TIP]
162+
> - 有关语音识别的配置在 `bilive.toml` 文件的 `[asr]` 部分。
163+
> - `asr_method` 默认为 none, 即不进行语音字幕识别。
166164
167-
`ASR_METHOD` 默认为 none, 即不进行语音字幕识别。
165+
##### 2.1.1 采用 api 方式
168166

169-
##### 3.1.1 采用 api 方式
167+
`bilive.toml` 文件中的 `asr_method` 参数设置为 `api`,然后填写 `WHISPER_API_KEY` 参数为你的 [API Key](https://console.groq.com/keys)
170168

171-
`bilive.toml` 文件中的 `ASR_METHOD` 参数设置为 `api`,然后填写 `WHISPER_API_KEY` 参数为你的 [API Key](https://console.groq.com/keys)本项目采用 groq 提供 free tier 的 `whisper-large-v3-turbo` 模型,上传限制为 40 MB(约半小时),因此如需采用 api 识别的方式,请将视频录制分段调整为 30 分钟。此外,free tier 请求限制为 7200秒/20次/小时,28800秒/2000次/天。如果有更多需求,也欢迎升级到 dev tier,更多信息见[groq 官网](https://console.groq.com/docs/rate-limits)
169+
本项目采用 groq 提供 free tier 的 `whisper-large-v3-turbo` 模型,上传限制为 40 MB(约半小时),因此如需采用 api 识别的方式,请将视频录制分段调整为 30 分钟(默认即 30 分钟)。此外,free tier 请求限制为 7200秒/20次/小时,28800秒/2000次/天。如果有更多需求,也欢迎升级到 dev tier,更多信息见[groq 官网](https://console.groq.com/docs/rate-limits)
172170

173-
##### 3.1.2 采用本地部署方式(需保证有 NVIDIA 显卡)
171+
##### 2.1.2 采用本地部署方式(需保证有 NVIDIA 显卡)
174172

175-
`bilive.toml` 文件中的 `ASR_METHOD` 参数设置为 `deploy`,然后下载所需模型文件,并放置在 `src/subtitle/models` 文件夹中。
173+
`bilive.toml` 文件中的 `asr_method` 参数设置为 `deploy`,然后下载所需模型文件,并放置在 `src/subtitle/models` 文件夹中。
176174

177175
项目默认采用 [`small`](https://openaipublic.azureedge.net/main/whisper/models/9ecf779972d90ba49c06d968637d720dd632c55bbf19d441fb42bf17a411e794/small.pt) 模型,请点击下载所需文件,并放置在 `src/subtitle/models` 文件夹中。
178176

@@ -182,160 +180,129 @@ pip install -r requirements.txt
182180
> + 更多模型请参考 [whisper 参数模型](https://timerring.github.io/bilive/models.html) 部分。
183181
> + 更换模型方法请参考 [更换模型方法](https://timerring.github.io/bilive/models.html#更换模型方法) 部分。
184182
185-
##### 3.2 MLLM 模型
186-
187-
MLLM 模型主要用于自动切片后的切片标题生成,此功能默认关闭,如果需要打开请将 `bilive.toml` 文件中的 `AUTO_SLICE` 参数设置为 `True`。其他配置分别有:
188-
- `SLICE_DURATION` 以秒为单位设置切片时长(不建议超过 60 秒)。
189-
- `SLICE_NUM` 设置切片数量。
190-
- `SLICE_OVERLAP` 设置切片重叠时长。切片采用滑动窗口法处理,细节内容请见 [auto-slice-video](https://github.com/timerring/auto-slice-video)
191-
- `SLICE_STEP` 设置切片步长。
192-
- `MIN_VIDEO_SIZE` 设置切片最小视频大小。防止对一些连线或者网络波动原因造成的短片段再切片。
193-
194-
##### 3.2.1 GLM-4V-PLUS 模型
195-
196-
> 如需使用 GLM-4V-PLUS 模型,请将 `bilive.toml` 文件中的 `MLLM_MODEL` 参数设置为 `zhipu`
197-
198-
在项目的自动切片功能需要使用到智谱的 [`GLM-4V-PLUS`](https://bigmodel.cn/dev/api/normal-model/glm-4) 模型,请自行[注册账号](https://www.bigmodel.cn/invite?icode=shBtZUfNE6FfdMH1R6NybGczbXFgPRGIalpycrEwJ28%3D)并申请 API Key,填写到 `bilive.toml` 文件中对应的 `ZHIPU_API_KEY` 中。
199-
200-
##### 3.2.2 Gemini 模型
201-
202-
> 如需使用 Gemini-2.0-flash 模型,请将 `bilive.toml` 文件中的 `MLLM_MODEL` 参数设置为 `gemini`
203-
204-
在项目的自动切片功能需要使用到 Gemini-2.0-flash 模型,请自行[注册账号](https://aistudio.google.com/app/apikey)并申请 API Key,填写到 `bilive.toml` 文件中对应的 `GEMINI_API_KEY` 中。
205-
206-
##### 3.2.3 Qwen 模型
207-
208-
> 如需使用 Qwen-2.5-72B-Instruct 模型,请将 `bilive.toml` 文件中的 `MLLM_MODEL` 参数设置为 `qwen`
209-
210-
在项目的自动切片功能需要使用到 Qwen-2.5-72B-Instruct 模型,请自行[注册账号](https://bailian.console.aliyun.com/?apiKey=1)并申请 API Key,填写到 `bilive.toml` 文件中对应的 `QWEN_API_KEY` 中。
211-
212-
#### 3.3 Image Generation Model
213-
214-
采用图生图多模态模型,自动获取视频截图并上传风格变换后的视频封面,如需使用本功能,请将 `bilive.toml` 文件中 `generate_cover` 参数设置为 `true`
215-
216-
##### 3.3.1 Minimax 模型
217-
218-
> 如需使用 Minimax 模型,请将 `IMAGE_GEN_MODEL` 参数设置为 `minimax`
219-
220-
在项目的自动切片功能需要使用到 Minimax 模型,请自行[注册账号](https://www.minimax.chat/)并申请 API Key,填写到 `bilive.toml` 文件中对应的 `MINIMAX_API_KEY` 中。
221-
222-
##### 3.3.2 Kwai Kolors 模型
223-
224-
> 如需使用 Kwai Kolors 模型,请将 `IMAGE_GEN_MODEL` 参数设置为 `siliconflow`,采用 siliconflow 部署的 Kolors 模型。
225-
226-
请自行[注册账号](https://cloud.siliconflow.cn/i/3Szr5BVg)并申请 API Key,填写到 `bilive.toml` 文件中对应的 `SILICONFLOW_API_KEY` 中。
183+
##### 2.2 MLLM 模型(自动切片功能)
227184

228-
##### 3.3.3 Tencent Hunyuan 模型
229-
230-
> 如需使用 Tencent Hunyuan 模型,请将 `IMAGE_GEN_MODEL` 参数设置为 `tencent`
231-
232-
请自行[注册账号](https://console.cloud.tencent.com/cam/capi)并申请 API Key,填写到 `bilive.toml` 文件中对应的 `TENCENT_SECRET_ID``TENCENT_SECRET_KEY` 中。
233-
234-
##### 3.3.4 Baidu ERNIE 模型
185+
> [!TIP]
186+
> - 有关自动切片的配置在 `bilive.toml` 文件的 `[slice]` 部分。
187+
> - `auto_slice` 默认为 false, 即不进行自动切片。
235188
236-
> 如需使用 Baidu ERNIE 模型,请将 `IMAGE_GEN_MODEL` 参数设置为 `baidu`
189+
MLLM 模型主要用于自动切片后的切片标题生成,此功能默认关闭,如果需要打开请将 `auto_slice` 参数设置为 `true`。其他配置分别有:
190+
- `slice_duration` 以秒为单位设置切片时长(不建议超过 180 秒)。
191+
- `slice_num` 设置切片数量。
192+
- `slice_overlap` 设置切片重叠时长。切片采用滑动窗口法处理,细节内容请见 [auto-slice-video](https://github.com/timerring/auto-slice-video)
193+
- `slice_step` 设置切片步长。
194+
- `min_video_size` 设置最小被切片视频大小,防止对一些连线或者网络波动原因造成的短片段再切片。
237195

238-
请自行[注册账号](https://console.bce.baidu.com/iam/key/list)并申请 API Key,填写到 `bilive.toml` 文件中对应的 `BAIDU_API_KEY`
196+
接下来配置模型有关的 `mllm_model` 参数即对应的 api-key,请自行根据链接注册账号并且申请对应 api key,填写在对应的参数中,请注意以下模型只有你在 `mllm_model` 参数中设置的那个模型会生效
239197

240-
##### 3.3.5 Stability SD 3.5 large turbo 模型
198+
| Company | Google | 智谱 | 阿里云 |
199+
|----------------|-------------------|------------------|-----------------------|
200+
| Name | Gemini-2.0-flash | GLM-4V-PLUS | Qwen-2.5-72B-Instruct |
201+
| `mllm_model` | `gemini`| `zhipu` | `qwen` |
202+
| `API key` | [gemini_api_key](https://aistudio.google.com/app/apikey) | [zhipu_api_key](https://www.bigmodel.cn/invite?icode=shBtZUfNE6FfdMH1R6NybGczbXFgPRGIalpycrEwJ28%3D) | [qwen_api_key](https://bailian.console.aliyun.com/?apiKey=1) |
241203

242-
> 如需使用 Stability SD 3.5 large turbo 模型,请将 `IMAGE_GEN_MODEL` 参数设置为 `stability`
243204

244-
请自行[注册账号](https://platform.stability.ai/account/keys)并申请 API Key,填写到 `bilive.toml` 文件中对应的 `STABILITY_API_KEY` 中。
205+
#### 2.3 Image Generation Model(自动生成视频封面)
245206

246-
##### 3.3.6 Luma Photon 模型
207+
> [!TIP]
208+
> - 有关自动生成视频封面的配置在 `bilive.toml` 文件的 `[cover]` 部分。
209+
> - `generate_cover` 默认为 false, 即不进行自动生成视频封面。
247210
248-
> 如需使用 Luma Photon 模型,请将 `IMAGE_GEN_MODEL` 参数设置为 `luma`
211+
采用图生图多模态模型,自动获取视频截图并上传风格变换后的视频封面,如需使用本功能,请将 `generate_cover` 参数设置为 `true`。接下来需要配置的参数有 image_gen_model 和对应的 api key,请自行根据链接注册账号并且申请对应 api key,填写在对应的参数中,请注意以下模型只有你在 `image_gen_model` 参数中设置的那个模型会生效
249212

250-
请自行[注册账号](https://lumalabs.ai/api/keys)并申请 API Key,填写到 `bilive.toml` 文件中对应的 `LUMA_API_KEY` 中。
251213

252-
##### 3.3.7 Ideogram V_2 模型
214+
| Company | Model Name | `image_gen_model` | `API Key` |
215+
|--------------|--------------------------------|-------------------|---------------------------------------------------------------------------------|
216+
| Minimax | image-01 | `minimax` | [minimax_api_key](https://www.minimax.chat/) |
217+
| Kwai | Kolors | `siliconflow` | [siliconflow_api_key](https://cloud.siliconflow.cn/i/3Szr5BVg) |
218+
| Tencent | Hunyuan | `tencent` | [tencent_secret_id and tencent_secret_key](https://console.cloud.tencent.com/cam/capi) |
219+
| Baidu | ERNIE irag-1.0 | `baidu` | [baidu_api_key](https://console.bce.baidu.com/iam/key/list) |
220+
| Stability AI | Stable Diffusion 3.5 large turbo | `stability` | [stability_api_key](https://platform.stability.ai/account/keys) |
221+
| Luma Labs | Photon | `luma` | [luma_api_key](https://lumalabs.ai/api/keys) |
222+
| Ideogram | Ideogram V_2 | `ideogram` | [ideogram_api_key](https://ideogram.ai/manage-api) |
223+
| Recraft | Recraft V3 | `recraft` | [recraft_api_key](https://www.recraft.ai/profile/api) |
224+
| Amazon | Titan Image Generator V2 | `amazon` | [aws_access_key_id and aws_secret_access_key](https://aws.amazon.com/console/) |
253225

254-
> 如需使用 Ideogram V_2 模型,请将 `IMAGE_GEN_MODEL` 参数设置为 `ideogram`
226+
#### 3. 配置上传参数
255227

256-
请自行[注册账号](https://ideogram.ai/manage-api)并申请 API Key,填写到 `bilive.toml` 文件中对应的 `IDEOGRAM_API_KEY` 中。
228+
上传默认参数如下,[]中内容全部自动替换。可以在 `bilive.toml` 中自定义相关配置,映射关键词为 `{artist}``{date}``{title}``{source_link}`,可自行组合删减定制模板:
257229

258-
##### 3.3.8 Recraft 模型
230+
- `title` 标题模板是`{artist}直播回放-{date}-{title}`,效果为"【弹幕+字幕】[XXX]直播回放-[日期]-[直播间标题]",可自行修改。
231+
- `description` 简介模板是`{artist}直播,直播间地址:{source_link} 内容仅供娱乐,直播中主播的言论、观点和行为均由主播本人负责,不代表录播员的观点或立场。`,效果为"【弹幕+字幕】[XXX]直播,直播间地址:[https://live.bilibili.com/XXX] 内容仅供娱乐,直播中主播的言论、观点和行为均由主播本人负责,不代表录播员的观点或立场。",可自行修改。
232+
- `gift_price_filter = 1` 表示过滤价格低于 1 元的礼物。
233+
- `reserve_for_fixing = false` 表示如果视频出现错误,重试失败后不保留视频用于修复,推荐硬盘空间有限的用户设置 false。
234+
- `upload_line = "auto"` 表示自动探测上传线路并上传,如果需要指定固定的线路,可以设置为 `bldsa``ws``tx``qn``bda2`
259235

260-
> 如需使用 Recraft 模型,请将 `IMAGE_GEN_MODEL` 参数设置为 `recraft`
236+
#### 4. 配置录制参数
261237

262-
请自行[注册账号](https://www.recraft.ai/profile/api)并申请 API Key,填写到 `bilive.toml` 文件中对应的 `RECRAFT_API_KEY` 中。
238+
> [!IMPORTANT]
239+
> 请不要修改任何有关路径的任何配置,否则会导致上传模块不可用
263240
264-
##### 3.3.9 Amazon 模型
241+
> 录制的 blrec 参数配置在 `settings.toml` 文件,也可以直接在录制启动后在对应的端口可视化页面配置。Quick start 只介绍关键配置,其他配置可自行在页面中对照配置项理解,支持热修改。
265242
266-
> 如需使用 Amazon 模型,请将 `IMAGE_GEN_MODEL` 参数设置为 `amazon`
243+
- 房间的添加按照文件中 `[[tasks]]` 对应的格式即可。
244+
- 录制模块不登录状态下默认的录制质量为超清。如果需要登录,请将 cookie.json 文件(获取方式见步骤 5)中的 `SESSDATA` 参数值填写到 `[header]` 的 cookie 部分,形式`cookie = "SESSDATA=XXXXXXXXXXX"`,登录后即可录制更高质量画质。(推荐不登录)
245+
- `duration_limit` 表示录制时长,如果采用 whisper api 识别语音,请将分段控制在 1800 秒以内,其他情况没有限制。
267246

268-
请自行[注册账号](https://aws.amazon.com/console/)并申请 API Key,填写到 `bilive.toml` 文件中对应的 `AWS_ACCESS_KEY_ID``AWS_SECRET_ACCESS_KEY` 中。
247+
#### 5. bilitool 登录(持久化登录,该步只需执行一次)
269248

270-
#### 4. bilitool 登录
249+
> 对于 docker 部署,可以忽略这一步,因为 `docker logs` 在控制台中可以打印出二维码,直接扫码即可登录,以下内容针对源码部署。
271250
272-
> 由于一般日志打印不出二维码效果(docker 的日志不确定是否能打印,等发布新image时再修改,docker 版本请先参考文档 [bilive](https://bilive.timerring.com),本 README 只针对源码部署),所以这步需要提前在机器上安装 [bilitool](https://github.com/timerring/bilitool):
251+
##### 5.1 方式一 通过 cookie 登录
252+
一般日志文件打印不出二维码效果,所以这步需要提前在机器上安装 [bilitool](https://github.com/timerring/bilitool):
273253

274254
```
275255
pip install bilitool
276-
# 然后使用 app 端扫码登录
277-
# 会导出 cookie.json 文件
278256
bilitool login --export
257+
# 然后使用 app 端扫码登录,会自动导出 cookie.json 文件
279258
```
259+
将登录的 cookie.json 文件留在本项目根目录下,`./upload.sh` 启动后即可删除该文件。
280260

281-
将登录的 cookie.json 文件留在本项目根目录下,`./upload.sh` 启动后即可删除该文件。(持久化登录,该步只需执行一次)
261+
##### 5.2 方式二 通过 submodule 登录
262+
263+
或者在 submodule 中登录也可以,方式如下:
264+
265+
```
266+
cd src/upload/bilitool
267+
python -m bilitool.cli login
268+
# 然后使用 app 端扫码即可登录
269+
```
282270

283271
[常见问题收集](https://timerring.github.io/bilive/biliup.html)
284272

285-
#### 5. 启动自动录制
273+
#### 6. 启动自动录制
286274

287275
```bash
288276
./record.sh
289277
```
290278

291279
[常见问题收集](https://timerring.github.io/bilive/record.html)
292280

293-
#### 6. 启动自动上传
294-
295-
请先确保你已经完成`步骤 3`,正确下载并放置了模型文件。
281+
#### 7. 启动自动上传
296282

297-
##### 6.1 启动扫描渲染进程
298-
299-
输入以下指令即可检测已录制的视频并且自动合并分段,自动进行弹幕转换,字幕识别与渲染的过程:
300-
301-
```bash
302-
./scan.sh
303-
```
304-
305-
[常见问题收集](https://timerring.github.io/bilive/scan.html)
306-
307-
##### 6.2 启动自动上传进程
283+
> 如果你使用 deploy 的方式进行语音识别,请先确保你已经正确下载并放置了对应的模型文件。
308284
309285
```bash
310286
./upload.sh
311287
```
312288

313289
[常见问题收集](https://timerring.github.io/bilive/upload.html)
314290

291+
#### 日志信息
315292

316-
#### 7. 查看执行日志
293+
相应的执行日志请在 `logs` 文件夹中查看,如果有问题欢迎在 [`issue`](https://github.com/timerring/bilive/issues/new/choose) 中提出,有异常请优先提供 [debug] 级别的日志。
317294

318-
相应的执行日志请在 `logs` 文件夹中查看,如果有问题欢迎在 [`issue`](https://github.com/timerring/bilive/issues/new/choose) 中提出。
319295
```
320296
logs # 日志文件夹
321297
├── blrec # blrec 录制日志
322298
│ └── ...
323-
├── scan # scan 处理日志
299+
├── scan # scan 处理日志 [debug]级别
324300
│ └── ...
325-
├── upload # upload 上传日志
301+
├── upload # upload 上传日志 [debug]级别
326302
│ └── ...
327-
└── runtime # 每次执行的日志
303+
└── runtime # 每次执行的日志 [info]级别
328304
└── ...
329305
```
330-
#### 8. 配置上传参数
331-
332-
> [!TIP]
333-
> 上传默认参数如下,[]中内容全部自动替换。可以在 `bilive.toml` 中自定义相关配置,映射关键词为 `{artist}``{date}``{title}``{source_link}`,可自行组合删减定制模板:
334-
> + 标题模板是`{artist}直播回放-{date}-{title}`,效果为"【弹幕+字幕】[XXX]直播回放-[日期]-[直播间标题]",可自行修改。
335-
> + 简介模板是`{artist}直播,直播间地址:{source_link} 内容仅供娱乐,直播中主播的言论、观点和行为均由主播本人负责,不代表录播员的观点或立场。`,效果为"【弹幕+字幕】[XXX]直播,直播间地址:[https://live.bilibili.com/XXX] 内容仅供娱乐,直播中主播的言论、观点和行为均由主播本人负责,不代表录播员的观点或立场。",可自行修改。
336-
> + 默认标签是根据主播名字自动在 b 站搜索推荐中抓取的热搜词。
337-
> + `GIFT_PRICE_FILTER = 1` 表示过滤价格低于 1 元的礼物。
338-
> + `RESERVE_FOR_FIXING = False` 表示如果视频出现错误,重试失败后不保留视频用于修复,推荐硬盘空间有限的用户设置 False。
339306

340307
### Docker 运行
341308

@@ -348,23 +315,27 @@ logs # 日志文件夹
348315
349316
#### 无 GPU 版本
350317

318+
如果你能看到这行字,说明 0.3.0 版本还没有发布,会在两天内测试完发布,请耐心等待。可以尝试源码部署。
319+
351320
```bash
352321
sudo docker run \
353322
-itd \
354323
--name bilive_docker \
355324
-p 22333:2233 \
356-
ghcr.io/timerring/bilive:0.2.10
325+
ghcr.io/timerring/bilive:0.3.0
357326
```
358327

359328
#### 有 GPU 版本
360329

330+
如果你能看到这行字,说明 0.3.0 版本还没有发布,会在两天内测试完发布,请耐心等待。可以尝试源码部署。
331+
361332
```bash
362333
sudo docker run \
363334
-itd \
364335
--gpus 'all,"capabilities=compute,utility,video"' \
365336
--name bilive_docker_gpu \
366337
-p 22333:2233 \
367-
ghcr.io/timerring/bilive-gpu:0.2.10
338+
ghcr.io/timerring/bilive-gpu:0.3.0
368339
```
369340

370341
### Docker Compose

scan.sh

Lines changed: 0 additions & 10 deletions
This file was deleted.

setPath.sh

Lines changed: 0 additions & 8 deletions
This file was deleted.

0 commit comments

Comments
 (0)