LiveTalking icon indicating copy to clipboard operation
LiveTalking copied to clipboard

wavlip实时的时候,连接次数多了出现程序阻塞

Open dai0617 opened this issue 9 months ago • 5 comments

在进行wav2lip多次实时对话连接的时候,多连接几次,发现程序出现阻塞,进一步排查发现 self.feat_queue = mp.Queue(2) 这个多进程队列进行阻塞了,导致后面lipasr.py的self.feat_queue.put(mel_chunks)操作时卡住,请问这个问题需要怎么解决

dai0617 avatar Mar 05 '25 02:03 dai0617

把2加大试试,前面的连接都没断开吗

lipku avatar Mar 10 '25 12:03 lipku

把2加大试试,前面的连接都没断开吗

应该是前面的连接异常断开,导致self.feat_queue队列的数据没被消费,所以后面put进去时导致程序阻塞,最后在put进队列时加了超时处理,队列就没有阻塞了,不过这种情况会导致有些数据丢失,请问有没有更好的方法解决这个问题

dai0617 avatar Mar 11 '25 08:03 dai0617

用的最新代码吗,新的代码每次连接都是新的对象了,跟以前连接无关

lipku avatar Mar 11 '25 09:03 lipku

我也碰到了个这个问题,重新开发的客户端,当数字人正在讲话时,杀掉客户端程序,服务就会卡死

wilsonlv avatar Apr 29 '25 06:04 wilsonlv

把2加大试试,前面的连接都没断开吗

应该是前面的连接异常断开,导致self.feat_queue队列的数据没被消费,所以后面put进去时导致程序阻塞,最后在put进队列时加了超时处理,队列就没有阻塞了,不过这种情况会导致有些数据丢失,请问有没有更好的方法解决这个问题

求大佬分享一下改进的代码

wilsonlv avatar Apr 30 '25 02:04 wilsonlv