前段时间,看到b站突然冒出很多ai主播,输入数字切换小姐姐.感觉挺有趣.思考了以下决定手动实现一下.
然后就陷入长达5天的踩坑中
由于是自建的webrtc服务器,很自然的想直接收流转发,这也是最优的方案, 然而实际上遇到许多不是很友好的bug,
然后再想使用rtp转发,依然不理想.
最后没办法,只能在服务端自建一个发布者,加入房间发布流.好处是易控制.但是!重要的来了,由于使用的是aiortc模块,而aiortc模块对于mediaplayer换流存在非常严重的内存溢出问题.极易导致程序占用内存过高而被系统杀死.查阅资料发现从22年开始很多人都遇到相同的问题,但作者似乎没有修复,并且也没查到解决办法.在追求快速开发的情况下没有很多时间从基础实现rtc所有细节.只能手动删除执行垃圾回收.效果有限,但好在能够正常运行了.
效果图