LiveCC:开源实时视频解说大模型,融合流式语音转录与多模态理解
一、LiveCC是什么?
LiveCC是由上海人工智能实验室(ShowLab)团队开发的开源实时视频解说大语言模型(Video LLM),旨在通过融合视频视觉信息与流式语音转录(ASR)文本,实现对视频内容的实时理解与动态解说。该项目提供从数据生产、模型训练到部署演示的完整链路,支持体育赛事、教育直播、会议记录等多场景应用,兼具高精度与高效能,是目前实时视频解说领域的SOTA(State-of-the-Art)解决方案。
简单来说,LiveCC就像一位“智能解说员”:它能同时“看”视频画面(视觉信息)和“听”语音内容(通过ASR转文字),并实时结合两者生成符合场景逻辑的解说文本。例如,在足球比赛直播中,它能识别球员动作、进球瞬间,并结合现场解说语音,实时生成“梅西带球突破禁区,射门——球进了!”这样的动态解说。
该项目不仅开源了完整的模型代码、训练脚本和数据处理工具,还提供了预训练模型 checkpoint 和可视化交互界面,方便开发者快速体验和二次开发。
二、功能特色
LiveCC的核心优势在于“实时性”与“多模态融合能力”,具体功能特色如下:
1. 实时流式处理,低延迟响应
传统视频模型需等待完整视频输入后才进行处理,而LiveCC支持“流式输入”:视频帧和语音流可逐段传入模型,模型边接收边处理,生成的解说内容与视频播放进度同步,延迟可控制在数百毫秒内,满足直播场景需求。
2. 多模态深度融合
模型并非简单拼接视频和语音信息,而是通过专门设计的跨模态注意力机制,让视觉特征(如人物动作、场景变化)与ASR文本(如对话、背景音转写)深度交互。例如,在教育直播中,它能结合老师的板书画面(视觉)和讲解语音(ASR),生成“老师正在黑板上演示二次函数求导,步骤为:先确定系数,再应用求导公式”的解说。
3. 丰富的交互工具
为降低使用门槛,项目提供多种交互方式:
Gradio可视化界面:通过网页即可上传视频或开启摄像头,实时查看解说效果,支持参数调节(如解说速度、详细程度)。
CLI命令行工具:适合开发者批量处理视频文件,支持输出文本文件或实时打印解说内容。
推理API:提供Python接口,可快速集成到第三方应用(如直播平台、视频编辑软件)。
4. 大规模数据支撑的高准确性
模型在包含500万条视频-ASR数据的“Live-CC-5M”数据集上预训练,覆盖体育、教育、新闻等10+场景,确保对各类视频内容的理解准确性。在官方基准测试(如LiveSports-3K体育数据集)中,其解说准确率(语义匹配度、时序一致性)超过现有视频LLM模型15%以上。
5. 灵活的训练与部署
支持单机多卡、分布式训练,兼容DeepSpeed等加速框架;推理时可根据硬件条件调整模型精度(如FP16/INT8),在消费级GPU(如RTX 3090)上即可实现实时处理。
三、技术细节
LiveCC的技术架构围绕“实时多模态融合”设计,核心包括模型结构、训练流程和数据处理 pipeline 三部分。
1. 模型架构
LiveCC基于“视觉编码器-文本编码器-解码器”的三模块结构,具体如下:
| 模块 | 功能 | 基础模型 | 创新点 |
|---|---|---|---|
| 视觉编码器 | 提取视频帧特征 | CLIP-ViT-L/14 | 加入时序注意力,捕捉帧间动态 |
| 文本编码器 | 处理ASR流式文本 | LLaMA-2-7B(文本部分) | 支持动态拼接流式文本,保留时序 |
| 解码器 | 生成解说文本 | LLaMA-2-7B(生成部分) | 跨模态注意力机制,融合视觉与文本 |
跨模态融合机制:解码器在生成每个词时,会同时关注视觉编码器输出的“帧特征序列”和文本编码器输出的“ASR文本序列”,并通过门控单元(Gating Unit)动态调整两者的权重(如运动场景中视觉权重更高,访谈场景中文本权重更高)。
流式处理优化:采用“滑动窗口”机制处理长视频,仅保留最近N帧视觉特征和M句ASR文本,减少计算量的同时保证上下文连贯性。
2. 训练流程
LiveCC的训练分为“预训练”和“微调(SFT)”两个阶段,流程如下:
(1)预训练:学习视频-ASR基础关联
数据集:使用“Live-CC-5M”,包含500万条从公开视频(如YouTube、电视台直播)中提取的“视频片段-ASR文本-原始解说”三元组,时长覆盖10秒到5分钟,场景包括体育、演讲、户外直播等。
任务:通过“掩码语言建模(MLM)”和“解说生成”任务,让模型学习“视频内容→ASR文本→解说文本”的映射关系。例如,输入视频帧和部分掩码的ASR文本,要求模型补全ASR并生成对应解说。
训练配置:基于DeepSpeed ZeRO-2优化,使用8×A100 GPU训练14天,批处理量为1024,学习率5e-5。
(2)微调(SFT):优化特定场景能力
数据集:融合多个高质量场景数据集,包括:
Live-WhisperX-526K:52.6万条经WhisperX精准转录的体育/教育视频-ASR数据;
LLaVA-178K:17.8万条图文对齐数据,增强视觉细节理解;
人工标注的“实时解说对齐数据集”:1万条标注了“视频关键时刻-解说触发点”的数据,优化时序一致性。
任务:指令微调(Instruction Tuning),输入“视频+ASR+指令(如‘详细描述画面内容’)”,输出符合指令的解说文本。
训练配置:冻结视觉编码器,仅微调文本编码器和解码器,使用4×A100 GPU训练3天,学习率2e-5。
3. 数据生产Pipeline
为构建大规模视频-ASR训练数据,项目提供了完整的自动化处理工具(位于data/production目录),流程如下:
原始视频采集:支持从直播流、本地文件批量下载视频,保留帧率(≥24fps)和音频轨道。
ASR转录:通过
distributed_whisperx.py进行分布式语音转文字,基于WhisperX模型实现高精度转录(支持多语言),并输出每个句子的时间戳(精确到0.1秒)。过滤清洗:
去除低质量视频(如模糊、无动态内容);
通过
distributed_lighter_asd工具过滤“纯人脸说话”视频(避免模型过度关注人脸而忽略场景);用因果语言模型(如GPT-2)计算文本困惑度(Perplexity),过滤语义混乱的ASR文本。
数据对齐:将视频帧(按时间戳)与ASR文本关联,生成“帧序列-文本序列”配对数据。
四、应用场景
LiveCC的实时多模态理解能力使其适用于多种需要动态解说或交互的场景:
1. 体育赛事直播
应用:为足球、篮球等赛事生成实时解说,补充专业解说员的不足(如低关注度比赛、多场次同时直播)。
优势:可识别关键动作(如进球、犯规),结合现场音效转写(如欢呼声),生成“第89分钟,主队前锋禁区内被绊倒,裁判判罚点球!现场球迷沸腾了”的沉浸式解说。
2. 在线教育与培训
应用:为录播课或直播课生成“画面+语音”同步的文字解说,辅助学生理解(如标注板书内容、实验步骤)。
示例:在化学实验课中,识别“滴加溶液”“试管变色”等画面,结合老师讲解,生成“现在老师向试管中滴加3滴酚酞试液,溶液由无色变为红色,说明溶液呈碱性”的解说。
3. 会议与讲座记录
应用:实时将会议视频转化为结构化纪要,不仅记录发言内容,还标注画面信息(如“张总在展示PPT第3页的销售数据”)。
价值:减少人工纪要工作量,提升记录的完整性(结合视觉信息避免歧义)。
4. 视频内容创作与编辑
应用:为Vlog、纪录片自动生成字幕和解说文案,支持快速剪辑(如根据解说关键词定位视频片段)。
工具集成:可与Premiere、剪映等软件联动,自动生成剪辑建议(如“此处解说提到‘日出’,建议插入00:05:12的日出画面”)。
5. 无障碍辅助
应用:为视障人士实时解说视频内容(如电视节目、短视频),通过语音播报模型生成的文本,帮助其“理解”画面。

五、使用方法
LiveCC提供从快速体验到深度训练的完整流程,以下是详细步骤:
1. 环境准备
硬件要求:
推理:最低NVIDIA GPU(≥8GB显存,如RTX 2080Ti);推荐RTX 3090/4090(16GB+显存)实现实时处理。
训练:需多GPU(如8×A100),支持分布式训练。
软件依赖:
Python ≥3.11
PyTorch ≥2.0(带CUDA支持)
其他依赖:transformers、deepspeed、peft、gradio、whisperx等
安装命令:
# 克隆仓库 git clone https://github.com/showlab/livecc.git cd livecc # 安装依赖 pip install -r requirements.txt # 安装livecc专用工具包 pip install -e livecc-utils/
2. 快速体验
(1)Gradio可视化演示(推荐新手)
通过网页交互上传视频或开启摄像头,实时查看解说效果:
python demo/app.py --js_monitor
运行后会生成本地链接(如http://localhost:7860),打开后可:
上传本地视频文件(支持MP4、MOV格式);
开启摄像头录制实时画面;
调节参数:解说更新频率(默认1秒/次)、输出长度(短/中/长)。
(2)CLI命令行工具(适合批量处理)
通过命令行输入视频路径,输出解说文本:
python demo/cli.py --video_path ./examples/soccer.mp4 --output ./output.txt
参数说明:
--video_path:视频文件路径;--output:解说文本保存路径;--asr_model:指定ASR模型(默认whisperx-large-v2);--device:指定设备(如cuda:0或cpu)。
3. 模型推理(开发者集成)
通过Python API在代码中调用LiveCC:
from livecc.inference import LiveCCInferencer
# 初始化模型(加载预训练checkpoint)
inferencer = LiveCCInferencer(
model_path="chenjoya/LiveCC-7B-Instruct",
device="cuda"
)
# 处理视频文件(返回逐段解说文本及时间戳)
results = inferencer.process_video(
video_path="./examples/lecture.mp4",
stream_mode=True # 流式处理模式
)
# 打印结果
for timestamp, commentary in results:
print(f"[{timestamp}] {commentary}")4. 模型训练与微调
(1)预训练
使用Live-CC-5M数据集进行预训练:
# 单节点多GPU训练(需配置deepspeed) bash scripts/pt_local.sh
配置文件路径:scripts/deepspeed_zero2.json(可修改批处理量、学习率等参数)。
(2)微调(SFT)
基于预训练模型,使用高质量数据集微调:
bash scripts/sft_local.sh
可通过修改脚本中的--freeze_vision参数选择是否冻结视觉编码器(默认冻结,加速训练)。
六、常见问题解答(FAQ)
Q:运行Gradio演示时提示“CUDA out of memory”怎么办?
A:降低模型精度或减小输入视频分辨率。例如,在demo/app.py中添加--load_in_8bit启用INT8量化,或通过--video_resize 360将视频高度缩放到360px。Q:ASR转录支持中文吗?
A:支持。默认使用的WhisperX模型支持多语言,可在推理时通过--asr_language zh指定中文(需确保视频音频为中文)。Q:训练时如何更换自定义数据集?
A:需将数据集格式转换为“视频路径+ASR文本+标签解说”的JSONL格式(参考data/examples/train_sample.jsonl),并在训练脚本中修改--data_path参数指向自定义数据集路径。Q:实时处理延迟较高,如何优化?
A:① 减少视频帧率(如从30fps降至15fps);② 缩短滑动窗口长度(修改models.py中的window_size参数);③ 使用更高效的推理引擎(如TensorRT)。Q:模型支持纯视频(无音频)或纯音频(无视频)输入吗?
A:支持。若仅输入视频,模型会基于视觉信息生成解说;若仅输入音频,会基于ASR文本生成内容(但效果弱于多模态输入)。
七、相关链接
GitHub仓库:https://github.com/showlab/livecc
八、总结
LiveCC作为首个开源实时视频解说大模型,通过创新的多模态融合技术和流式处理架构,实现了视频内容的实时理解与动态解说,在体育、教育、会议等场景中具有极高的应用价值。项目提供了从数据生产、模型训练到部署演示的完整工具链,兼顾易用性与扩展性,既适合开发者快速集成,也为研究人员提供了视频LLM实时处理的基准框架,推动了实时多模态智能的落地与发展。
版权及免责申明:本文由@97ai原创发布。该文章观点仅代表作者本人,不代表本站立场。本站不承担任何相关法律责任。
如若转载,请注明出处:https://www.aipuzi.cn/ai-news/livecc.html

