4.4 KiB
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 编码,因此无法获取直播流信息。 参考 issue:https://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 位数的 roomid,84074 是 b 站方便推广的一个短链接,用户跳转是直接映射到真实roomid 去的,真正的 roomid 是申请开播权限时分配的,应该是 7~9 位数字。
弹幕服务器是无法通过短链接获取弹幕的。因为短链接只起到映射跳转作用。
解决方法:在移动端分享里面图片分享方式分享直播,然后 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)后访问管理页面。