-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
严重的BUG 多个主播文件名混淆 #101
Comments
文件名中的主播名是 |
我看你的日志里,录制的文件名并非 |
嗯应该是我改的地方有点问题 是想按streamlink官方那样命名来着😂 |
这样中括号看起来太难受了 标题也不是很必要感觉 |
这个地方的名字是取的config.json里写的name字段,没写name那就取的id,所有平台都这么写的,换个name看看呢 Line 33 in d660868
|
我根本没设name,默认用的id🤣 |
Lines 33 to 34 in d660868
Line 112 in d660868
Line 134 in d660868
Line 149 in d660868
这是文件名的几个引用,都是封装在基类 LiveRecorder 里的函数,所有录制的平台共用该文件名获取逻辑,至于你这种情况pandalive是错的我没测出来
|
有一种可能,就是pandalive直播是录制的同一个主播,但官方返回的直播流是另一个主播的,导致文件名和直播流不匹配,这种是官方原因无解 |
不是吧,我用streamlink命令行没出现过这样的情况,是不是这开多线程导致变量共用之类的问题 |
主程序是用的协程,只有调用steamlink录制和ffmpeg封装时为了防止阻塞才用了线程,变量都是直接传进线程里,最后只返回运行是否成功的状态,如果线程安全原因导致的变量冲突理论上开多个平台的直播都会全部出现问题,不只是pandalive |
好吧 需要手动检查就是了。老哥能不能给ffmpeg下载的时候加一些参数使得可以直接剪辑呀,我现在都要手动转码才能剪辑(用的是losslesscut)https://github.com/mifi/lossless-cut |
个性化需求建议自己fork改代码,具体修改地址如下 Lines 170 to 175 in d660868
codec为copy就是不转码只封装,你可以改成libx264之类的实现转码 |
好的谢谢 |
我也发现了输出的文件名和流的名字不一致这个问题而且不一致的流必然会花屏,只要你直播间开的够多在afreecaTV上也能复现一样的问题我,但是当你把出问题的直播间单独录制的时候就可以正常录制,在逻辑上我分析可能是由于没有成功申请到流所以已经存在的流信息被复用了,在Windows上似乎还存在内存泄漏问题,当你一直开着检测录制的时候占用的内存会一直增加有一部分不会回收,到一定成都程序会因为内存占满而自动退出,需要定期重启来重置内存占用。 |
文件名混淆这个估计是我改代码出问题了,源代码应该没问题 |
混流花屏的问题好像还是存在,也有其他人发issue,但我一直没复现出来,其他平台同时录制好几个直播都没见有人说花屏,我还是怀疑平台自身原因 |
我的issus跟楼上说的一样(就是bigo直播),至于是主播名混淆还是什么,不清楚,画面花屏会出现两个主播的画面(可能就是这个原因花屏的?),文件名是其中一个主播的,大概跟这个issus是一个问题 |
运行环境
版本号:v2.33
运行平台:Windows 11
运行架构:x64
Python版本:3.10.6
配置文件
复现步骤(可选)
当同时录制多个主播时,不同主播名称混淆,名称错误
错误描述
当同时录制多个主播时,不同主播名称混淆,名称错误
log_2024-03-11.log
错误日志
错误截图(可选)
No response
The text was updated successfully, but these errors were encountered: