LiveTalking 部署踩坑笔记
目录版本特点tts方案musetalk方案一、先确认1985 端口有没有在监听WindowsLinux报错SyntaxError: ( was never closed版本特点日常开发 / 测试 / 本地实时 Demo→ Wav2Lip高质量数字人 / 渲染视频→ ErNeRF虚拟主播 / 二次元 / 带表情互动→ MuseTalktts方案EdgeTTSFishTTSSovitsTTSCosyVoiceTTSIndexTTS2XTTSmusetalk方案https://www.bilibili.com/video/BV1gm421N7vQ/?vd_sourced4dc8f82f62c00f6ff1db7a1047e538f一、先确认1985 端口有没有在监听在运行 SRS 的机器上执行Windowsnetstat -ano | findstr 1985Linuxss -lntp | grep 1985启动服务http://127.0.0.1:8010/webrtcapi.html报错SyntaxError: ( was never closed解决self.__video 结尾应该加逗号。def _start(self, track: PlayerStreamTrack) - None: self.__started.add(track) if self.__thread is None: self.__log_debug(Starting worker thread) self.__thread_quit threading.Event() self.__thread threading.Thread( namemedia-player, targetplayer_worker_thread, args( self.__thread_quit, asyncio.get_event_loop(), self.__container, self.__audio, self.__video ), ) self.__thread.start() def _stop(self, track: PlayerStreamTrack) - None: self.__started.discard(track) if not self.__started and self.__thread is not None: self.__log_debug(Stopping worker thread) self.__thread_quit.set() self.__thread.join() self.__thread None if not self.__started and self.__container is not None: #self.__container.close() self.__container Nonedef _start(self, track: PlayerStreamTrack) - None: self.__started.add(track) if self.__thread is None: self.__log_debug(Starting worker thread) self.__thread_quit threading.Event() self.__thread threading.Thread( namemedia-player, targetplayer_worker_thread, args( self.__thread_quit, asyncio.get_event_loop(), self.__container, self.__audio, self.__video, ), ) self.__thread.start() def _stop(self, track: PlayerStreamTrack) - None: self.__started.discard(track) if not self.__started and self.__thread is not None: self.__log_debug(Stopping worker thread) self.__thread_quit.set() self.__thread.join() self.__thread None if not self.__started and self.__container is not None: #self.__container.close() self.__container None