LiveTalking:5 步让数字人在浏览器里开口对话,本地跑、免费开源

发布时间:2026/9/18 4:49:20
LiveTalking:5 步让数字人在浏览器里开口对话,本地跑、免费开源
LiveTalking5 步让数字人在浏览器里开口对话本地跑、免费开源【免费下载链接】metahuman-streamReal time interactive streaming digital human项目地址: https://gitcode.com/GitHub_Trending/me/metahuman-stream昨晚开播你不想自己出镜想让数字分身坐在镜头前替你实时接话或者线上培训里需要一个随问随答、还能被打断的讲师LiveTalkingmetahuman-stream就是一个实时交互流式数字人引擎输入文字或语音它把虚拟形象驱动着实时说话音视频同步地流到你眼前。它免费开源Apache 2.0、本地跑你的形象和语音数据不用出机器。读完这篇你能在 5 步内让数字人在浏览器里实时开口之后接 LLM 对话、RTMP 直播、虚拟摄像头都是拧参数的事。装环境前先做硬件体检对直播、客服、培训这类场景它做的事很直接文字或语音进来数字人开口说话支持随时打断重说内置 wav2lip、musetalk、ultralight 三套口型模型按显存选档位支持声音克隆一段参考音频就能让数字人换个音色多路并发一个服务端同时接多个用户WebRTC、RTMP、虚拟摄像头三种输出浏览器到直播平台全覆盖上传一段视频就能生成新的数字人形象还能编排不说话时播放的自定义动作。先看这张配置表够格再往下走项目最低推荐系统Ubuntu / Win / macOSUbuntu 22.04Python3.103.12PyTorch2.x2.9.1 CUDA 12.8显卡6GB 显存 N 卡12GBRTX 3060 起步内存8GB16GB一句话判断wav2lip 在 RTX 3060 上实测 60 FPS够实时musetalk 画质更好但建议 RTX 3080Ti 以上。先跑起来再说装依赖和第一次出效果是一条线5 步走完把仓库拿下来git clone https://gitcode.com/GitHub_Trending/me/metahuman-streamcd 进目录建环境装依赖conda create -n livetalking python3.12 conda activate livetalking pip install torch2.9.1 torchvision0.24.1 torchaudio2.9.1 --index-url https://download.pytorch.org/whl/cu128 pip install -r requirements.txt按 README 指引下载 wav2lip256 模型和 avatar1 形象包网盘地址在 README 里模型文件放进models/目录并改名为wav2lip.pth形象文件夹整个放进data/avatars/启动服务python app.py --transport webrtc --model wav2lip --avatar_id wav2lip256_avatar1服务端需要开放 TCP 8010 和 UDP 1~65536。启动后浏览器打开http://服务器IP:8010/index.html文本框里打一句话点发送——看到数字人视频动起来、口型跟着语音走的那一刻整条链路就通了。这个首页就是日常主阵地WebRTC 连接、文本/音频驱动、打断、录制控制都在上面。旁边还有两个页面值得知道avatar.html上传视频生成新形象admin.html监控会话状态和全局配置。环境通了接下来才是正事。生成你自己的数字人形象内置形象只能算试吃用自己的脸才算正式上桌。整条数据流不长四段话讲完拍视频1~2 分钟正面说话即可安静环境、光线均匀语速自然上传处理在avatar.html页面上传视频创建生成任务进度查询接口见 docs/avatar_api.md出形象任务跑完你会拿到一个 avatar_id形象落在data/avatars/下--avatar_id指向它就能用上线重启服务或直接在浏览器指定这个形象新数字人登场。形象是视频驱动的源视频多清晰数字人就是多高清口型只改嘴、身体动作全靠原视频。所以拍的时候别用糊镜头。三个场景各取所需场景一实时对话问答最快上手用默认 webrtc 模式启动浏览器连上文本驱动选 chat 模式回复交给 LLM默认接通义千问provider 在 config.yaml 里切对方说话时你随时点打断播报立刻停、新内容顶上。想让数字人接得住话LLM 那一段基本零配置默认就能聊。场景二无人值守直播 / 会议替身虚拟摄像头把启动参数换成--transport virtualcam数字人会输出到 OBS Virtual Camera首次先装并打开一次 OBS 激活设备之后不用开着 OBS腾讯会议、Zoom、OBS 里把摄像头选成虚拟摄像头画面音频都自动接上。输出方式启动参数适用虚拟摄像头--transport virtualcam直播推流、会议替身RTMP--transport rtmp推流到直播平台WebRTC--transport webrtc浏览器实时对话详细步骤在 docs/virtualcam_guide.md。场景三批量出镜视频 / API 驱动不发浏览器请求直接 HTTP 调/human让数字人说话配合/record开始和停止录制拿到data/record/sessionid.mp4换一批文案循环提交就是一条批量生产口播视频的流水线。完整接口参数见 docs/api.md。参数手感手册参数不用全懂调了有明显差异的就这五个你遇到显存报 OOM → 拧--batch_size从默认 16 减到 8 或 4帧率几乎无感你遇到推流掉帧 → 先看日志里inferfps和finalfps两者都 ≥25 才算实时低了就换更快的模型或降分辨率你遇到并发会话不够 → 拧--max_session记住不说话的路费 CPU、同时说话的路费 GPU你想让数字人换个音色 → 请求参数里带参考音频和对应文本16kHz 单声道 wav 效果最稳你要压并发上限 → 模型档位先定死wav2lip 便宜、musetalk 贵再谈并发。调参纪律一次只动一个参数用同一段文本对比两次的帧率日志手感很快就有了。翻车急救包症状原因解法端口 8010 被占服务没退干净或别的程序占着杀掉旧进程或--listenport换个端口CUDA out of memory显存不够减--batch_size或换 wav2lipPyTorch CUDA 报错PyTorch 的 CUDA 版本和显卡驱动不匹配对照nvidia-smi右上角版本重装 PyTorch口型对不上音频模型或形象没放对位置确认models/wav2lip.pth和data/avatars/结构完整浏览器连不上UDP 端口段没放行按 README 放行 UDP 1~65536更细的排查思路看 docs/ 下的 API 和管理文档。源码地图选看app.py # 入口装配模型、会话、推流 config.py # 参数与 config.yaml 的优先级 llm.py # 大模型回复 server/ # WebRTC、会话、任务管理 avatars/ # wav2lip、musetalk、ultralight 三套模型推理 tts/ # 十几种 TTS 引擎可插拔 streamout/ # webrtc、rtmp、virtualcam 输出 web/ # 前端页面三个先看avatars/ 管数字人怎么动起来tts/ 管声音从哪来registry.py 是插件注册机制——想加自己的 TTS 或数字人模型照格式写一个模块挂上去就行。你的下一步新手1 按顺序装环境、放模型、跑通浏览器对话2 确认实时后上传自己的视频生成形象3 接虚拟摄像头推到 OBS 试一场直播。进阶1 接上 LLM让数字人自己接话2 用/human/record批量出视频3 压并发盯inferfps和finalfps找瓶颈。跑通第一路实时对话之后打断、换音、并发这些能力叠上去就是这套引擎真正值钱的地方 【免费下载链接】metahuman-streamReal time interactive streaming digital human项目地址: https://gitcode.com/GitHub_Trending/me/metahuman-stream创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考