乐于分享
好东西不私藏

零成本!本地搭建 AI 直播系统,家用电脑就能开播

零成本!本地搭建 AI 直播系统,家用电脑就能开播

本文仅为开源工具个人实操分享,所有工具、模型均来自官方开源渠道,请勿用于商用、违规用途,模型使用请严格遵守对应开源协议,所有操作均为本地环境测试,个人需自行承担操作相关风险。

先说痛点:为什么要了解这篇文章?

想做直播的朋友或者做过直播的朋友,是不是都踩过这些坑?

  • 做直播不敢露脸,对着镜头紧张到大脑空白,一句话都说不顺畅
  • 花大几千买数字人直播软件,结果用了半个月就被平台限流封号,钱直接打了水漂
  • 想做 AI 数字人直播,又怕要租高价云服务器、要按次付费的 API、要敲复杂代码,门槛高到根本摸不着边
  • 还有人被 “999 元数字人躺赚直播课” 割了韭菜,课买了一堆,最后连开播都做不到
  • 还有的老板想做 AI 数字人直播节省人工费,但又不懂软件行情价,怕赔了夫人又折兵

今天我把自己实测过的、给客户部署过的、全程 0 成本、纯本地离线运行的 AI 数字人直播系统,完整无保留地分享出来。

不用露脸、不用花一分钱、不用租服务器,一台普通家用电脑,5 分钟就能跑通全流程,新手也能快速上手。全程无套路、不卖课、不带货,纯干货分享,连坑我都提前给你踩明白了。


再算笔账:这套方案到底能帮你省多少钱?

市面上的数字人直播工具,我全帮你踩过坑了:

  • 单月订阅费最低 299 元,高清口型、智能互动功能还要额外加钱,一年下来最少 3000+;
  • 定制数字人形象,一次收费大几千,还不能随便修改;
  • 智能弹幕互动功能,要绑定付费大模型 API,聊得越多花得越多,根本不敢放开用。

而我这套方案,所有工具全是开源免费项目,个人非商用无任何版权限制,一次搭建终身免费使用,连网都可以不用,全程本地离线运行,数据隐私全在自己手里,根本不用担心泄露。


前提条件:什么样的电脑能跑?

很多朋友第一句话就问:我家普通电脑能行吗? 直接给你说死:能!

配置等级

最低可运行配置(普通家用电脑)

推荐流畅配置

核心要求

i5-10400/R5 3600,内存 16GB,无独立显卡也能跑

RTX3060 12GB 及以上,内存 16GB+

适用场景

新手测试、流程跑通、固定话术播报

实时高清互动、开播级专业直播

哪怕是你家放了好几年的旧电脑,也能跑通全流程,根本不用为了做直播专门换设备。

必装的 6 个免费软件(全是官方开源,无捆绑无收费)

提前装好这几个软件,全程 5 分钟就能搞定搭建,官网一键安装

  1. Python 3.10
    (必装!):运行工具的基础环境,安装时只需要勾选「Add Python to PATH」,其他全点下一步;
  2. Git
    :克隆免费开源项目,官网一键安装,不用改任何设置;
  3. FFmpeg
    :音视频处理核心工具,我会给你配好环境变量设置教程,一步到位;
  4. OBS Studio
    :全球通用的免费直播推流软件,所有直播平台都能用,无任何推流限制;
  5. Miniconda
    (新手必装):帮你隔离运行环境,不会和你电脑里其他软件冲突,一键安装就行;
  6. Ollama
    (核心工具):一键部署本地免费大模型,实现弹幕智能回复,完全离线不花钱。

新手 5 分钟一键跑通全流程(复制粘贴就能成,不用懂代码)

我给你选的是目前全网门槛最低、兼容性最强的一站式开源系统「LiveTalking」,内置数字人驱动、语音合成、智能对话、直播推流全模块,开箱即用,不用你一个个工具拼接,新手能最快摸透数字人直播的完整逻辑。

步骤 1:一键配置运行环境

打开电脑终端(Windows 用户直接在左下角搜索 CMD,以管理员身份打开;Mac 用户打开终端),依次复制下面的代码,按回车运行就行,不用改任何内容。

# 第一步:克隆项目到你的电脑
gitclone https://gitcode.com/GitHub_Trending/me/metahuman-stream
cdmetahuman-stream

# 第二步:创建隔离运行环境(避免和其他软件冲突)

condacreate -n livestream python=3.10 -y
condaactivate livestream

# 第三步:安装依赖(有独立显卡的用户运行这段)

condainstall pytorch==2.5.0 torchvision==0.20.0 torchaudio==2.5.0 pytorch-cuda=12.4 -c pytorch -c nvidia -y
pipinstall -r requirements.txt

# 无独立显卡、纯CPU用户,把上面两段替换成下面这两行

# pip install torch torchvision torchaudio
# pip install -r requirements.txt

步骤 2:配置免费模型和数字人形象

  1. 口型同步模型
    :我给你找好了国内免费下载的wav2lip256.pth模型文件,放到项目的models文件夹里,重命名为wav2lip.pth就行;
  2. 数字人形象
    :项目自带免费的基础数字人形象,你也可以换成自己的照片、自己设计的形象,解压到data/avatars文件夹里就行;
  3. 语音合成
    :默认用微软免费的 EdgeTTS,不用申请密钥、不用付费,中文音色自然,无任何调用限制,不用额外设置。

步骤 3:一键启动数字人服务

继续在终端里,复制下面的代码按回车,就能启动服务:

# 有独立显卡用户(新手首选,直接复制运行)
pythonapp.py --transport webrtc --model wav2lip --avatar_id wav2lip256_avatar1

# 纯CPU、旧电脑用户,复制运行这段

pythonapp.py --transport webrtc --model wav2lip --avatar_id wav2lip256_avatar1 --device cpu

启动成功后,用浏览器打开
http://127.0.0.1:8010/webrtcapi.html,就能看到你的数字人控制台,输入文字,数字人就能实现基础的口型同步播报。

步骤 4:配置智能弹幕互动(直播核心,不用花一分钱)

这一步做好,你的数字人就能自动识别直播间弹幕,用本地大模型生成回复,自动播报,实现 24 小时无人值守,全程不用你守着。

  1. 打开新的终端,执行ollama run qwen:7b,一键下载阿里开源的通义千问大模型,完全免费本地运行,无任何费用;
  2. 打开项目里的app_config.yaml文件,把 LLM 模块的地址改成http://127.0.0.1:11434,保存就行;
  3. 项目自带抖音、B 站、视频号等主流平台的弹幕抓取功能,不用额外配置,开播就能自动识别弹幕。

步骤 5:OBS 推流测试

  1. 打开 OBS Studio,添加「浏览器」来源,输入上面的数字人控制台地址,就能捕获数字人画面;
  2. 按需添加直播背景、商品贴图、滚动字幕,调整好画面布局;
  3. 打开你要直播的平台创作者中心,复制直播推流地址和密钥,填入 OBS 的「设置 - 推流」里,就能完成推流测试。

掏心窝子的真话(必看):基础方案的短板,以及开播级质感升级方案

这里必须跟大家说句实在话,不玩虚的: 上面这套一键落地的方案,能帮你快速跑通数字人直播的全流程,适合新手练手、测试逻辑、熟悉玩法,但如果直接拿来正式开播,默认的 Wav2Lip 模型生成的数字人,口型和面部动作会偏机械化,表情不够自然,质感达不到专业开播的要求,很容易被平台判定为劣质 AI 内容,导致限流。

这也是 90% 的人做 AI 数字人直播踩的最大的坑:要么花大价钱买付费软件,要么用免费基础模型做出来的内容质感太差,根本拿不到流量。

但大家完全不用慌,更不用回头去买付费软件。现在开源社区已经有非常多成熟的、同样完全免费开源的开播级数字人驱动项目,直接替换掉基础的 Wav2Lip 模型,口型同步精度、面部微表情、动作自然度直接拉满,完全能达到真人级开播质感,全程还是 0 成本,不用花一分钱。

我给大家整理了 4 个适配性最强、新手也能一键替换的优质项目,项目已经内置在系统里,只需要下载模型、改一行启动命令就能切换:

可替换项目

核心优势

适配场景

新手替换难度

SadTalker

单张照片即可生成,面部微表情、头部微动自然,口型同步精准,支持表情迁移,低配电脑也能流畅跑

真人写实风带货、知识科普直播,全平台通用

★☆☆☆☆ 一键切换

MuseTalk

2026 年最新开源模型,口型同步精度拉满,面部细节还原度极高,几乎不会出现脸崩、错位的情况,高清直播无压力

高清真人直播、口播类内容,中高配电脑首选

★☆☆☆☆ 一键切换

Live2D

二次元虚拟主播专属,动作流畅度拉满,可自定义海量表情、动作模板,完全不会出现机械化问题,互动性极强

娱乐、游戏、二次元赛道直播

★★☆☆☆ 简单配置

ER-NeRF

3D 写实数字人天花板,光影、面部细节、口型和表情完全贴合真人,支持多视角切换,专业级开播质感

品牌直播、高端带货、专业知识 IP 直播

★★★☆☆ 进阶配置

新手一键替换方法(以最常用的 SadTalker 为例)

  1. 下载 SadTalker 开源免费模型文件,放到项目的models目录;
  2. 把原来的启动命令里的--model wav2lip,改成--model sadTalker;
  3. 重新运行启动命令,即可一键切换到开播级模型,其他所有配置、脚本、功能完全不用改,新手也能 10 秒钟搞定。

全流程自动化 Python 脚本(复制就能用,开播直接躺平)

我写好了一份全流程闭环的自动化脚本,完美适配上面所有的数字人模型,不用你手动操作,直播间有弹幕,自动生成回复、自动语音合成、自动驱动数字人播报,全程无人值守。

★★★先说好合规红线(必看!)★★★

  1. 本脚本仅限个人非商用学习研究,严禁用于违规直播、虚假宣传、侵权牟利;
  2. 使用前必须确保你有数字人肖像、直播平台、内容素材的完整授权,严格遵守 AI 生成内容相关法律法规和平台规范;
  3. 违规使用产生的所有法律责任,由使用者自行承担。

1. 3 分钟前置准备

  • 确保 Ollama、数字人服务已经按上面的步骤启动;
  • 打开终端,复制下面的命令,一键安装脚本需要的依赖:
pip install bilibili-api-python edge-tts requests asyncio python-dotenv aiohttp

2. 自动化脚本(新手只需要改前 3 行)

# ====================== 【新手仅需修改这里!其他内容不用动】======================
# 1. 直播平台和直播间ID(必填!替换成你自己的)
LIVE_PLATFORM = "bilibili"# 可选:bilibili(B站)/douyin(抖音)/weixin(视频号)
ROOM_ID = 12345678# 这里替换成你的直播间ID
# 2. 数字人人设(按需修改,带货/知识/娱乐/聊天都可以)
LIVE_CHARACTER = """
你是亲和力强、说话幽默接地气的直播数字人主播,规则:
1. 称呼观众为"家人们",语气口语化,每句话不超过100字,适合口播;
2. 热情回应观众的弹幕提问,不敷衍、不抬杠,积极正向;
3. 只回应和直播主题相关的内容,无关内容礼貌引导回主题。
"""

# 3. 语音音色选择(女声/男声可选,完全免费)
TTS_VOICE = "zh-CN-XiaoxiaoNeural"# 女声;男声换成 zh-CN-YunxiNeural
# ============================================================================

import asyncio
import edge_tts
import requests
import aiohttp
from typing import Set

# 不同平台弹幕库适配
if LIVE_PLATFORM == "bilibili":
from bilibili_api import live, sync
elif LIVE_PLATFORM == "douyin":
from douyin_live_danmaku import DanmakuClient

# 全局配置(新手不用改)
OLLAMA_BASE_URL = "http://127.0.0.1:11434/api/generate"
LLM_MODEL_NAME = "qwen:7b"
AUDIO_SAVE_PATH = "./live_audio.wav"
AVATAR_API_URL = "http://127.0.0.1:8010/api/speak"
IGNORE_DANMAKU_LENGTH = 2
MAX_DANMAKU_HISTORY = 100
REPLY_INTERVAL = 3
processed_danmaku_ids: Set[str] = set()

# 弹幕抓取模块
asyncdefdanmaku_listener(queue: asyncio.Queue):
if LIVE_PLATFORM == "bilibili":
        room = live.LiveRoom(ROOM_ID)
asyncdefon_danmaku(event):
            danmaku_info = event["data"]
            danmaku_id = danmaku_info["dm_v2"]
            danmaku_text = danmaku_info["msg"].strip()
            sender_name = danmaku_info["uname"]
await _filter_danmaku(danmaku_id, danmaku_text, sender_name, queue)
        room.add_event_handler(live.LiveEvent.DANMU_MSG, on_danmaku)
await room.connect()
elif LIVE_PLATFORM == "douyin":
        client = DanmakuClient(ROOM_ID)
        @client.on("danmaku")
defon_danmaku(msg):
            danmaku_id = msg["id"]
            danmaku_text = msg["content"].strip()
            sender_name = msg["user"]["nickname"]
            asyncio.create_task(_filter_danmaku(danmaku_id, danmaku_text, sender_name, queue))
        client.start()
    print(f"✅ 已成功连接直播间,正在监听弹幕...")
whileTrue:
await asyncio.sleep(1)

asyncdef_filter_danmaku(danmaku_id, text, sender, queue):
if len(text) < IGNORE_DANMAKU_LENGTH or danmaku_id in processed_danmaku_ids:
return
if len(processed_danmaku_ids) > MAX_DANMAKU_HISTORY:
        processed_danmaku_ids.pop()
    processed_danmaku_ids.add(danmaku_id)
await queue.put({"sender": sender, "content": text})
    print(f"[收到弹幕] {sender}{text}")

# 大模型生成回复
asyncdefgenerate_reply(danmaku_content, sender_name):
    prompt = f"人设:{LIVE_CHARACTER}\n观众昵称:{sender_name}\n观众弹幕:{danmaku_content}\n生成符合人设的口播回复,不要特殊格式。"
try:
        resp = requests.post(
            OLLAMA_BASE_URL,
            json={"model": LLM_MODEL_NAME, "prompt": prompt, "stream"False"options": {"temperature"0.7}},
            timeout=20
        )
        resp.raise_for_status()
        reply = resp.json()["response"].strip()
        print(f"[生成回复] {reply}")
return reply
except Exception as e:
        print(f"❌ 大模型调用失败: {e}")
returnf"谢谢{sender_name}的留言,我收到啦~"

# 语音合成
asyncdeftext_to_speech(text):
try:
        communicate = edge_tts.Communicate(text, TTS_VOICE)
await communicate.save(AUDIO_SAVE_PATH)
        print(f"✅ 语音合成成功")
returnTrue
except Exception as e:
        print(f"❌ 语音合成失败: {e}")
returnFalse

# 驱动数字人播报
asyncdefdrive_avatar():
try:
with open(AUDIO_SAVE_PATH, "rb"as f:
            audio_file = f.read()
        form_data = aiohttp.FormData()
        form_data.add_field("audio", audio_file, filename="live_audio.wav", content_type="audio/wav")
        form_data.add_field("sync""true")
asyncwith aiohttp.ClientSession() as session:
asyncwith session.post(AVATAR_API_URL, data=form_data, timeout=30as resp:
if resp.status == 200:
                    print("✅ 数字人播报成功")
returnTrue
else:
                    print(f"❌ 数字人调用失败,状态码:{resp.status}")
returnFalse
except Exception as e:
        print(f"❌ 数字人驱动失败: {e}")
returnFalse

# 全流程主逻辑
asyncdefdanmaku_processor(queue: asyncio.Queue):
whileTrue:
        danmaku_data = await queue.get()
try:
            reply_text = await generate_reply(danmaku_data["content"], danmaku_data["sender"])
ifnotawait text_to_speech(reply_text):
continue
await drive_avatar()
await asyncio.sleep(REPLY_INTERVAL)
except Exception as e:
            print(f"❌ 弹幕处理失败: {e}")
finally:
            queue.task_done()

# 主程序入口
asyncdefmain():
    danmaku_queue = asyncio.Queue(maxsize=50)
    listener_task = asyncio.create_task(danmaku_listener(danmaku_queue))
    processor_task = asyncio.create_task(danmaku_processor(danmaku_queue))
try:
await asyncio.gather(listener_task, processor_task)
except KeyboardInterrupt:
        print("\n 正在关闭系统...")
        listener_task.cancel()
        processor_task.cancel()
await asyncio.gather(listener_task, processor_task, return_exceptions=True)
        print("✅ 系统已安全关闭")

if __name__ == "__main__":
import platform
if platform.system() == "Windows":
        asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
if LIVE_PLATFORM == "bilibili":
        sync(main())
else:
        asyncio.run(main())

新手启动步骤

  1. 把上面的脚本复制到电脑里,保存为live_ai_avatar.py;
  2. 修改最顶部的直播间 ID 和人设,其他内容不用动;
  3. 终端执行python live_ai_avatar.py,就能启动全流程自动化系统;
  4. 直播间发弹幕,就能触发数字人自动回复播报,全程不用你管。

旧电脑 / 低配电脑必看的 4 个优化技巧

  1. 模型量化
    :所有本地模型都用 4bit 量化版本,显存占用直接降低 75%,4GB 显存就能流畅跑完全流程;
  2. 帧率调整
    :把数字人生成帧率设为 25FPS,旧电脑可以降到 15FPS,兼顾流畅度和性能消耗;
  3. 轻量模型优先
    :无显卡 / 旧电脑,大模型换成qwen:4b轻量版,数字人优先用 SadTalker 轻量模型,纯 CPU 也能实时生成;
  4. 关闭多余程序
    :开播前关掉电脑里没用的软件,释放内存和显存,避免直播卡顿。

必须遵守的合规避坑红线(真诚提醒,别踩坑)

  1. 数字人形象
    :只能用你本人的照片、无版权免费形象,或者获得正式授权的形象,绝对禁止使用明星、他人肖像,避免侵权;
  2. 直播内容
    :严格遵守直播平台规范,禁止用数字人播出虚假宣传、违规营销、侵权内容,AI 生成内容必须符合国家相关法律法规;
  3. 商用须知
    :所有开源工具都有对应的开源协议,商用前一定要确认授权范围,避免违规侵权。

常见问题速查(99% 的问题都能在这里解决)

  1. 模型加载失败
    :检查 Python 版本是不是 3.10,FFmpeg 有没有添加到环境变量,模型文件路径对不对;
  2. 口型和语音不同步
    :关掉其他占用显存的程序,降低音频切片长度,开启模型流式推理;
  3. OBS 抓不到数字人画面
    :把浏览器来源的帧率设为 60FPS,勾选「使用硬件加速」,确保本地服务正常运行;
  4. 弹幕抓不到
    :核对直播间 ID 是不是正确,直播间有没有正常开播,关掉 VPN / 代理;
  5. 大模型响应慢
    :换成qwen:4b轻量模型,开启 4bit 量化,确保电脑内存 / 显存充足;
  6. 数字人不动 / 没声音
    :检查音频文件有没有生成成功,数字人服务接口地址对不对,浏览器页面保持前台运行。
  7. 会看Log文件的可直接看Log文件定位问题。

写在最后

最后跟大家说一句: 现在很多人把 AI 数字人直播吹成了 “躺赚风口”,其实根本不是,数字人只是帮你解决了 “不敢露脸、没时间守直播” 的问题,真正能让你赚到钱的,永远是你的直播内容和选品。

这套 0 成本的方案,只是帮你省下了动辄几千上万的软件费用,降低了开播的门槛,让普通人也能有机会尝试 AI 直播。从新手测试到正式开播,所有的路径我都给你铺好了,不用你花一分钱,不用你到处找资源。

如果你在搭建过程中遇到任何问题,都可以在评论区留言。

关注浩宇提效实验室,后续给大家分享更多零成本、无套路的 AI 提效干货,帮你用 AI 解放双手,少走弯路。后期我会将常见的一些软件,或是粉丝朋友们难下、难找的文件做成工具包,免费供大家学习使用!