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

4.4 KiB
Raw Blame History

record 常见问题

如果没有找到遇到的问题,请及时在 issues 中提出。

录制 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

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

请填写超过 7 位数的 roomid84074 是 b 站方便推广的一个短链接用户跳转是直接映射到真实roomid 去的,真正的 roomid 是申请开播权限时分配的,应该是 79 位数字。

弹幕服务器是无法通过短链接获取弹幕的。因为短链接只起到映射跳转作用

解决方法:在移动端分享里面图片分享方式分享直播,然后 b 站移动端会自动生成一个带有真正 roomid 的图片。填写该 roomid 即可。

添加直播间出错 aiohttp.client_exceptions.ClientResponseError: 412

From issue 148

aiohttp.client_exceptions.ClientResponseError: 412, message='Precondition Failed',

录制部分我采用的是 blrec,根据 相应的issue 情况疑似被风控了。这是请求的B站 api 报错 412 情况

解决方法:我建议添加或者更换 UA还可以考虑添加 cookies等待几分钟执行 ./record.sh 重试。或者用 docker 单独部署 blrec 也可以。

http://localhost:2233/settings 网页无法访问

管理页面主要针对 record 模块,而 docker run 时默认守护进程是 upload并且只是映射了端口实际 2233 端口没有程序在运行,因为 record 进程并没有启动。

解决方法:进入 docker 后手动运行 record (步骤5)后访问管理页面。