免费获取学习方案
ARTICLE DETAIL

资讯详情

深耕编程基础知识与建站技术分享的一线实战洞察。

从 0 到 60 FPS:用 LiveTalking 搭建实时交互数字人服务的完整指南

从 0 到 60 FPS:用 LiveTalking 搭建实时交互数字人服务的完整指南 从 0 到 60 FPS用 LiveTalking 搭建实时交互数字人服务的完整指南【免费下载链接】metahuman-streamReal time interactive streaming digital human项目地址: https://gitcode.com/GitHub_Trending/me/metahuman-streamLiveTalking 是一个开源的实时交互流式数字人引擎把文字或语音输入变成口型同步的视频流让你能搭出一套可对话的数字人服务。项目已在 Ubuntu 22.04、Python 3.12、CUDA 12.8 环境验证wav2lip256 模型在 RTX 3060 上即可跑出 60 FPS 的推理帧率适合做 AI 客服、虚拟主播这类低延迟实时数字人应用。 项目定位LiveTalking 解决什么问题很多数字人方案只能念稿没法在说话过程中被打断、也没法同时服务多个用户。LiveTalking 把文本/语音输入、TTS 合成、口型推理和流媒体输出串成一条实时管道每个连接拿到独立sessionid天然支持多用户并发。核心能力大致是这五条可以只改--model一个参数在 wav2lip、musetalk、ultralight 三套模型间切换。前者轻快RTX 3060 实测 60 FPSmusetalk 画质更好但需要 3080Ti 级别显卡。试试在控制台里传一段 16kHz 参考音频配合REF_FILE参数就能让数字人用克隆的声音说话TTS 引擎可在tts/目录的多种实现间任选。数字人说话到一半/interrupt_talk接口可以随时打断它这是做边说边听客服交互的关键。输出端覆盖 WebRTC、RTMP、虚拟摄像头三种通道浏览器页面、直播平台、会议软件各取所需。并发上限由max_session默认 5控制多路会话互不串线。 从零跑通实时数字人服务的最小化上手路径只走能跑起来的最短链路完整环境细节以 README 安装一节为准。先拿代码仓库只读使用无需改动git clone https://gitcode.com/GitHub_Trending/me/metahuman-stream cd metahuman-stream建 conda 环境并装依赖。注意 torch 要先按nvidia-smi显示的 CUDA 版本选对应 wheel 安装完整命令见 READMEconda create -n livetalking python3.12 conda activate livetalking # 先按 CUDA 版本安装 PyTorch 2.9.1再执行 pip install -r requirements.txt模型文件wav2lip256.pth与形象包wav2lip256_avatar1.tar.gz从官方网盘下载入口在 README 的快速开始一节。放好后直接启动cp wav2lip256.pth models/wav2lip.pth tar -xzf wav2lip256_avatar1.tar.gz -C data/avatars/ python app.py --transport webrtc --model wav2lip --avatar_id wav2lip256_avatar1然后打开http://服务器IP:8010/index.html点开始连接播放数字人视频在文本框输入文字提交即可。注意服务端需放行 TCP 8010 与 UDP 1-65536否则浏览器拉不到流。⚙️ 核心功能与使用要点拆解换形象、换声音改一行配置形象放在data/avatars/下启动参数--avatar_id指向谁就用谁切换不需要动代码。声音侧在config.yaml里设tts可选edgetts、gpt-sovits、cosyvoice、tencent等要做音色克隆把REF_FILE指到一段 16kHz 单声道 wav配上REF_TEXT参考文本即可。Web 控制台还允许按单个连接覆盖 avatar 和音色不重启服务就能换人设。想从一段真人视频生成新形象打开/avatar.html上传视频即可流程见 docs/avatar_api.md。接上 LLM从复读机到对话/human接口有两种模式echo直接复读文本chat先经 LLM 生成回复再合成语音后者才构成真正的对话。对话逻辑在llm.pyconfig.yaml里llm_provider支持dashscope与orcarouterOpenAI 兼容网关llm_model留空即用默认模型。画面输出去哪WebRTC、RTMP 还是虚拟摄像头WebRTC--transport webrtc延迟最低适合浏览器直连RTMP 推给直播平台虚拟摄像头把数字人伪装成系统摄像头OBS、腾讯会议、Zoom 都能直接选它当输入源。虚拟摄像头模式自带控制页web/virtualcam.html支持CtrlEnter发送、Escape打断不打开页面也能用接口驱动此模式 sessionid 固定为 0curl -X POST http://localhost:8010/human \ -H Content-Type: application/json \ -d {sessionid:0,type:chat,text:你好介绍一下你自己}不说话时播什么动作编排config.yaml的customvideo_config或每连接的custom_configJSON可以编排数字人不说话时播放的自定义视频片段用来填充停顿、避免长时间静止带来的违和感。 配置调优与常见坑版本与硬件要求汇总项目版本/型号说明操作系统Ubuntu 22.04README 测试环境Python3.12conda 环境PyTorch2.9.1需与nvidia-smi的 CUDA 版本匹配CUDA12.8其他版本换对应 PyTorch wheelwav2lip256 显卡RTX 3060 及以上入门即可实时musetalk 显卡RTX 3080Ti 及以上画质优先场景实测推理帧率并发压力上来后按这张表规划 GPU模型显卡实测 FPSwav2lip256RTX 306060wav2lip256RTX 3080Ti120musetalkRTX 3080Ti / 309042 / 45musetalkRTX 409072高频问题速查详见 assets/faq.mdpytorch3d 装不上常因缺少匹配的官方 wheelclone 源码后python setup.py install从源码编译。RTMP 推流失败多为 ffmpeg 缺 libx264运行ffmpeg看输出里有没有 libx264没有就换带该编码器的构建。虚拟摄像头起不来报virtual camera output could not be started时先启动一次 OBS Studio 再退出让虚拟摄像头设备完成注册。掉帧不实时看后端日志的inferfpsGPU 推理帧率和finalfps最终推流帧率两者都 ≥25 才算实时不够就降max_session并发或换更轻的模型。数字人不眨眼训练数据缺 AU45 眨眼动作单元用 OpenFace 提取后把 au.csv 放进对应 data 目录重新训练。调优时batch_size默认 16先保持默认并发吃紧优先动max_session而不是动分辨率。 典型落地场景你可以把它接进企业知识库做成 7×24 在线的 AI 数字人客服用户语音提问数字人实时回答说错还能打断重说。做 24 小时无人直播时让 LLM 自动生成带货话术配合动作编排填充停顿直播间不会冷场。把--transport换成virtualcam数字人就能以摄像头身份走进腾讯会议、Zoom当你的出镜替身。批量产出口播内容也可以通过/human/record接口提交文案直接拿回数字人出镜的 mp4 视频不用真人拍摄。 项目速览模块/功能路径一句话说明启动入口app.py解析参数、加载模型与形象、起 HTTP/WebRTC 服务全局配置config.yamlmodel、tts、transport 等命令行参数可覆盖数字人模型avatars/wav2lip、musetalk、ultralight 三套实现音频特征提取avatars/audio_features/Mel 频谱、Whisper、HuBERT 等特征语音合成tts/EdgeTTS、GPT-SoVITS、CosyVoice 等继承base_tts.py流媒体输出streamout/webrtc.py、rtmp.py、virtualcam.py三通道会话与推流server/会话并发管理、WebRTC 连接、路由插件注册registry.py扩展 TTS/Avatar/Output 模块的注册机制接口文档docs/api.md、avatar_api.md、admin_api.mdWeb 页面web/index.html 控制台、avatar.html 形象生成开源版目前覆盖三套数字人模型与三种输出通道wav2lip 链路在 3060 级别显卡上就能实时跑通musetalk 的高画质则需要 3080Ti 起步。建议先按 WebRTC 最小路径跑通一个 demo再根据延迟、画质和部署位置的要求调整模型与推流通道。【免费下载链接】metahuman-streamReal time interactive streaming digital human项目地址: https://gitcode.com/GitHub_Trending/me/metahuman-stream创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表