Files
bilive/docs/record.md
2025-03-17 17:22:22 +08:00

85 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# record 常见问题
> 如果没有找到遇到的问题,请及时在 [issues](https://github.com/timerring/bilive/issues/new/choose) 中提出。
## 录制 cookies 用处是什么
主要用于录制时验证账号B 站默认未登录状态下最高画质参数为 250 (超清),如果想要录制更高参数的画质视频,需要登录账号,请在配置文件中指定账号的 cookies。
获取 cookies 的方法可以参考https://zmtblog.xdkd.ltd/2021/10/06/Get_bilibili_cookie/
可以在项目目录下的 `settings.toml` 文件中指定 cookies也可以在录制面板的 `http://localhost:2233/settings` (默认启动端口 2233可以自行修改中的 settings 填写 cookies。
```
[header]
user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36"
cookie = "xxxx"
```
重启 record 后,选择更高画质录制即可。
> [!TIP]
> 不建议使用 cookies 登录 blrec 录制,因为 B 站官方有时会风控导致录制全部失败。此外cookies 登录后,录制效果不太稳定,可能会出现抓取不到对应流的情况。
>
> 因此个人更推荐 **不使用 cookies 的默认录制 250 超清画质**,目前没有获取流的问题。
## 如果端口已经占用
如果端口冲突,请在 `record.sh`启动脚本中重新设置端口 `port`并重启(默认端口号 2233
## 如何调整目录
录制部分采用的是 `blrec`,在 `settings.toml` 中设置视频存放目录、日志目录,也可启动后在 blrec 前端界面即`http://localhost:port` 中进行设置。详见 [blrec](https://github.com/acgnhiki/blrec)。
> [!TIP]
> 如果要调整目录,请相应调整 `src/config.py` 中的值。
## 完全无法获取直播流信息
```
[2023-06-15 13:07:09,375] [DEBUG] [parse] [xxxxxxxx] Error occurred while parsing stream: ValueError('12 is not a valid CodecID')
Traceback (most recent call last):
```
通常这种情况发生在录制主播在海外的情况,由于海外直播流编码是 HEVC但是只支持处理 AVC 编码,因此无法获取直播流信息。
参考 issuehttps://github.com/BililiveRecorder/BililiveRecorder/issues/470
解决方法:切换录制编码,选择 hls 编码,然后重新录制。
## 添加房间失败
```
[2024-11-22 14:29:04,304] [ERROR] [task_manager] Failed to add task xxxxxxxxx due to: KeyError('sex')
[2024-11-22 14:29:04,305] [CRITICAL] [exception_handler] KeyError
```
通常是短时间内添加该房间次数过多api 请求限制了,可以等几分钟再添加该房间,也可以打开 port 对应面板后在面板里手动添加。
## 已经在录制状态,重启项目又无法正常工作
重启需要等约半分钟,因为它添加房间并且验证启动弹幕服务器需要一点时间,可以尝试关闭该房间录制,再打开。
## 录制的弹幕 xml 以及 jsonl 为空
From [issue 123](https://github.com/timerring/bilive/issues/123)
请填写超过 7 位数的 roomid84074 是 b 站方便推广的一个短链接用户跳转是直接映射到真实roomid 去的,真正的 roomid 是申请开播权限时分配的,应该是 79 位数字。
**弹幕服务器是无法通过短链接获取弹幕的。因为短链接只起到映射跳转作用**
解决方法:在移动端分享里面`图片分享`方式分享直播,然后 b 站移动端会自动生成一个带有真正 roomid 的图片。填写该 roomid 即可。
## 添加直播间出错 `aiohttp.client_exceptions.ClientResponseError: 412 `
From [issue 148](https://github.com/timerring/bilive/issues/148)
```
aiohttp.client_exceptions.ClientResponseError: 412, message='Precondition Failed',
```
录制部分我采用的是 [blrec](https://github.com/acgnhiki/blrec),根据 [相应的issue](https://github.com/acgnhiki/blrec/pull/264) 情况疑似被风控了。这是请求的[B站 api 报错 412 情况](https://github.com/SocialSisterYi/bilibili-API-collect/issues/872)。
解决方法:我建议添加或者更换 UA还可以考虑添加 cookies等待几分钟执行 `./record.sh` 重试。或者用 docker 单独部署 blrec 也可以。
## `http://localhost:2233/settings` 网页无法访问
管理页面主要针对 record 模块,而 docker run 时默认守护进程是 upload并且只是映射了端口实际 2233 端口没有程序在运行,因为 record 进程并没有启动。
解决方法:进入 docker 后手动运行 record (步骤5)后访问管理页面。