四年一度的世界杯来了。看比赛的时候我冒出一个念头:解说员那么多如果没有我心仪的,能不能自己动手搓一个新的 AI 实时解说员?
于是就有了这个项目。做完我把它发到 OpenAI 的 Reddit 社区,没想到当天冲到了日榜第二,评论区不少人问原理、问怎么搭,还提出了很多我自己都没想到的新点子。所以干脆把原理和玩法整理成文,一次讲清楚。

先看一段效果。这场比赛是美国对阵比利时,解说员是"特朗普":个人特色非常鲜明,夸人有自己的一套,还有自己的专属口头禅,总能将话题引到自己身上。
视频里发生的事,说白了就一句话:给一路真实的直播流,配一个会看画面、会实时开口的 AI 解说员。这就是我开源的 WorldCupVoice (https://github.com/zicojiao/worldcupvoice)。
它不是把比赛录下来事后配音,是真·实时:直播流进来,AI 看着和观众一模一样的画面,生成的语音再被送回直播间。世界杯只是它最好看的演示场景,这套链路适用于任何一路直播。
准确而言,这个不大的小项目,把「实时直播 + 大模型看懂画面 + AI 开口解说」这条最难的链路整个跑通了。
除了图一乐,好像还真能做点有意义的事情
一个是无障碍辅助(Accessibility),给视障人士做专业解说。
这个想法来自 Reddit 评论区一位网友的回复。真人解说默认"你看得见画面",所以很多球场细节他不会讲——球在哪、压力从哪侧压上来、谁在悄悄前插。这些对看得见的人是废话,对看不见的人却是全部。AI 可以把这些被省略的空间信息补回来,给视障观众一份"看得见的解说"。它不是要取代真人,而是补上真人会跳过的那部分。

另一个是普及大众赛事,让普通人的比赛也有自己的解说席。
当直播与 AI 解说的链路打通,解说员的人设、语气、水平就都能换。脑洞随之打开:让"梅西"去解说 C 罗的比赛是什么画风?给小区幼儿园的足球赛配一段央视级解说,孩子追着球跑、旁白热血沸腾,光想就又好笑又期待。再往后,拔河、广场舞、公司年会的趣味运动会,都能有自己的"激情解说席"。
体育解说一直是少数专业场合才有的待遇。而这套东西,理论上能把“专业解说”下放给每一场普通人自己的比赛——这才是我觉得它最有意思的地方。
一图看懂 AI 实时解说的架构
很多人以为"AI 解说"就是丢段视频给大模型让它说几句。难点恰恰在于:这是直播,要求边看、边想、边说,还得快。顺着数据流走一遍就明白了:
直播源(OBS/编码器/本地视频)│ RTMP 推流▼Agora Media Gateway ← 把 RTMP 转成实时音视频│▼Agora RTC 频道 ──────────┐│ │▼ ▼浏览器观众 AI 解说后端(看直播+听AI解说) │ 1. 采样画面帧│ 2. 视觉模型"看懂"│ 3. TTS 生成语音└──→ 把 AI 声音回推到 RTC 频道
拆开看,频道里其实有三种角色在同一个房间里:
直播源:把画面推进来的那一路。可以是循环播放的本地视频,也可以是 OBS、摄像头、编码器送来的实时现场画面。
AI 解说员:一个"后端参与者"。它不停地采样当前画面 → 交给视觉模型理解 → 让 TTS 把解说词读出来 → 再把这段声音发回频道。
浏览器观众:你打开网页看到的那一端,同时播放直播画面、AI 的声音、解说文字,还有"解说间状态"。
关键巧思在这里:AI 看的不是另一路视频,而是和观众完全相同的那一路 RTC 画面。 这意味着它解说的就是你正在看的内容,不会"画音不对齐"。
技术栈也很主流:前端是 Next.js,后端是 Python 的 FastAPI,实时音视频用 Agora,视觉理解 + TTS 语音合成各司其职。
整体的技术设计中,最吃功夫的其实是"实时"这两个字:画面要实时进来,AI 生成的语音还得低延迟送回直播间。这部分我交给了 Agora——延迟一高,解说就跟不上画面、马上穿帮。选它也有个现成的好处:Agora 是 OpenAI Realtime API 的官方合作伙伴,SDK 和 OpenAI 打通得比较顺,接起来省了不少胶水代码。
项目设计的三个小巧思
第一,先给 AI"补课",它才认得球员。
光看画面,AI 顶多说"穿红色球衣的球员"。所以我让你在 data/matches/ 里用一个 JSON 描述这场比赛:两队、球衣颜色、球员名单、剧情背景。喂了这份"小抄",AI 才能喊出具体名字、贴着比赛叙事去解说。换个场景同理——你也可以把"参赛的是哪几个小朋友"写进去。
第二,声音才是解说的灵魂。
音色很大程度上决定了"像不像真转播间"。项目支持三套 TTS:
OpenAI TTS:默认就能跑通,适合先把流程打通。前面提到 Agora 是 OpenAI Realtime API 的官方合作伙伴,所以真要往"实时语音对话"那个方向做,这套组合也是最省心的。
ElevenLabs:能自己"调"一个体育解说音色,激情、有爆发力,最接近电视里那种。
Fish Audio:想做中文解说的话值得试试,我预留了"中文玩梗解说"和"中文战术解说"两种角色。
顺带提一句:开源仓库里只放了解说员的人设和 prompt,没把我自己的私有音色 ID 塞进去——音色你得自己去对应平台建。
第三,在线 ≠ 烧钱。
AI 实时看画面、实时说话,是真金白银的 token 消耗。所以我专门做了一套成本闸门:
明确的 Start AI / Stop AI 开关、观众"心跳"(没人看了就自动停)、每个会话还有硬性最长时长上限。后台部署在那儿,并不会偷偷一直烧钱。
如果你也想复刻,这里是教程指南
下面是面向开发者的精简版。完整命令以仓库 README 为准,这里帮你建立"先后顺序"的全局观。
1) 装前端、配环境变量
pnpm installcp .env.example .env.localopenssl rand -hex 32 # 生成一个后端密钥,前后端要填同一个
.env.local 里主要填 Agora 的 App ID / Certificate、后端地址、刚生成的密钥和一个本地访问密码。
2) 起后端(FastAPI)
cd serverpython -m venv .venv && source .venv/bin/activatepip install -r requirements.txt -r requirements-dev.txtcp .env.example .env.local # 填 Agora、密钥、OPENAI_API_KEYpython -m uvicorn app.main:app --reload --host 127.0.0.1 --port 8000
3) 配 TTS 音色(可选,但强烈建议)
默认 OpenAI TTS 能用;想要"广播腔"就配 ElevenLabs,想要中文就配 Fish Audio,把对应的 voice ID 填进 server/.env.local。TTS 会让你的解说,更富有灵魂!
4) 起前端、进直播间
pnpm dev # 打开 http://localhost:30005) 给它一路直播流
先在 Agora Console 启用 Media Gateway,用它的 REST API 生成 RTMP 推流 key(项目自带 pnpm run media-gateway:key 帮你生成)。然后三选一把画面推进去:
方式 | 适合 |
| 本地快速测试,用 ffmpeg 循环推一段本地视频 |
OBS | 实时推流:手动演示、摄像头/屏幕采集、现场画面 |
StreamFlow | 部署在云服务器上的长时间预录播 |
注意:仓库不内置任何比赛视频(转播画面有版权),你得自备一段 16:9 的 .mp4,或者直接接一路实时画面。配上前面那份比赛 JSON,解说效果会好很多。
6) 上线
前端部署到 Vercel,后端用 Railway 跑 Docker,前后端共用同一个密钥即可。
接下来想往哪走
路线图里几个方向,我觉得挺有想象力:
降低延迟:缩短"画面 → AI 开口"之间的时间差,越实时越像真解说;
多人解说:多个 AI 解说员同台,一个负责激情,一个负责战术分析,互相搭话;
无障碍专属模式:给视障观众提供更密集的球场空间信息;
多语言多音色:覆盖不同国家的语言和声音风格。
最后,聊点好玩的
做这个项目最爽的一刻,不是代码跑通,而是 AI 第一次对着画面喊出"好球!"的那一下——感觉就像你养的 AI 突然学会看球了,还看得特别投入。
以前聊语音合成,纠结的无非是音色像不像人、读得顺不顺。但解说这事儿,硬是把语音从"念稿机"逼成了"现场嘴替":它得先看懂场上发生了啥,再用对的情绪、对的人设,在对的那一秒开口。会看、会想、会接话——它不再是被动播放的声音,而是个真能跟上节奏的搭子。
所以别只盯着球场。下次你家猫主子打架,说不定也能配上一段激情解说。
项目地址:
github.com/zicojiao/worldcupvoice(MIT 协议,可自由使用)。
觉得有意思,欢迎去点个 Star。
加入我们的 Voice Agent 和 Physical AI 社区
RTE 开发者社区持续关注 Voice Agent、Physical AI 等语音对话驱动的下一代人机交互界面。如果你对此也有浓厚兴趣,也期待和更多开发者交流(每个月都有线上/线下 meetup,以及学习笔记分享),欢迎加入我们的社区微信群,一同探索人和 AI 的实时互动新范式。
加入我们:加微信 Creators2022,备注身份和来意(公司/项目+职位+加群),备注完整者优先加群。


更多 Voice Agent 学习笔记:
OpenAI Realtime API 重磅更新:锚定语音模型「深度推理+自主执行」演进路径|Voice Agent 学习笔记
OpenAI 揭秘 Tolan 背后 AI 技术:如何让语音智能体拥有连贯记忆和稳定人格?丨 Voice Agent 学习笔记
如何用 Fun-ASR-Nano 微调一个「听懂行话」的语音模型?丨Voice Agent 学习笔记
如何让你的语音助手有眼力见——Turn Detection 的 5 种解法丨Voice Agent 学习笔记
Pion 创始人聊 WebRTC、AI、SIP 和 QUIC I Voice Agent 学习笔记
2025 年语音 AI 趋势十大洞察丨Voice Agent 学习笔记
硅谷顶级 VC 如何看语音 AI?Greylock 合伙人揭秘 Voice Agent 构建的三层策略
AI 客服还不够聪明,但已超过月薪五千的人类丨RTE Meetup 回顾
引爆 AI 会议工具潮流,Granola 打造 2.5 亿美元估值产品的秘密丨Voice Agent 学习笔记
活动回顾丨主动式语音 AI:全双工加持,让 AI 既会抢答也懂适时沉默丨RTE Meetup

夜雨聆风