NarratoAI
一键生成影视解说视频:AI文案、配音、字幕、剪辑全自动化,Docker一键部署
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
一键生成影视解说视频:AI文案、配音、字幕、剪辑全自动化,Docker一键部署
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:深夜刷到一个爆款短视频,你兴奋地想把它改写成自己的解说版本,却发现光是写文案、配音、剪辑字幕就要耗费几个小时。传统视频剪辑工具门槛高、专业软件操作复杂,普通人想要批量生产解说视频,几乎是不可能的任务。这就是 NarratoAI 诞生的背景——它要让「一个人,一台电脑,一键出片」成为可能。
影视解说类视频在国内抖音、B站、西瓜视频等平台一直是流量大类。2023-2024年,AI视频工具呈爆发式增长,从文案生成到配音合成,技术已经相当成熟。但这些工具分散在不同平台,串联起来需要大量手动操作。NarratoAI 的作者 linyq 敏锐地捕捉到这个痛点,做了一件事:把AI视频创作的完整链路串成一条自动化流水线。从输入视频 URL 或本地文件,到输出带配音和字幕的解说视频,全程无需人工干预。
该项目于2024年上线,截至2026年5月已获得超过9500颗 GitHub Stars,Discord 社群活跃,云端版(narratoai.cn)也有大量用户使用。这说明市场对这类工具的需求真实且持续。
NarratoAI 的工作流可以拆解为以下几个核心步骤:
第一步:视频解析与素材准备。 工具支持传入视频 URL(YouTube等)或本地视频文件,自动下载并提取视频帧。用户可以选择「纪录片模式」或「短剧模式」,系统会根据不同内容类型选择不同的分析策略。纪录片模式会逐帧分析内容,提取关键信息和场景;短剧模式则更适合快速剪辑和重组。
第二步:AI文案生成。 这是 NarratoAI 最核心的能力之一。用户提供视频内容或原始脚本后,大语言模型(LLM)会自动生成解说文案。支持多种主流大模型:OpenAI GPT系列、Google Gemini、阿里通义千问(Qwen)、DeepSeek 系列,以及腾讯混元等。作者在2025年8月新增了语音克隆支持(IndexTTS2),可以模仿特定音色配音,极大提升了内容差异化能力。
第三步:配音合成。 支持 EdgeTTS、阿里云语音合成、腾讯云TTS、百度语音等多种合成引擎。其中 EdgeTTS 完全免费,腾讯云/阿里云提供更高质量的选择。配音过程支持语速、音调、停顿等参数调节,2025年11月新增的 IndexTTS2 语音克隆更是支持用户上传少量音频训练个性化音色。
第四步:字幕生成与对齐。 工具支持两种字幕生成方式:传统 ASR(自动语音识别)和 2026年4月新增的 Fun-ASR 一键转录。Fun-ASR 由阿里达摩院开源,支持中文高精度识别,配合 SRT 字幕文件格式,可以精准地将字幕与配音时间轴对齐。字幕样式也支持自定义:字体大小、颜色、位置等参数均可调整。
第五步:视频剪辑与合成。 使用 moviepy 库进行视频处理。系统会根据文案内容自动选择视频片段,裁剪画面,加上片头片尾,最终合成一个完整的解说视频。此外还支持导出剪映(JianYing)草稿格式,方便用户导入剪映进行二次编辑。2024年12月新增的 Qwen2-VL 视频理解模型支持,让AI可以「看懂」视频内容,实现更智能的素材匹配和剪辑决策。
从代码结构来看,NarratoAI 采用了典型的 Python 后端 + Streamlit Web UI 的分离架构。
后端核心模块(app/):
services/ 目录下包含了所有核心服务:视频下载(video.py)、配音合成(voice.py)、字幕处理(subtitle.py)、剪辑合成(clip_video.py、merger_video.py)、LLM 调用(llm.py)以及 YouTube 服务(youtube_service.py)。每个模块职责单一,便于维护和扩展。services/documentary/ 处理纪录片场景,services/fun_asr_subtitle.py 处理 Fun-ASR 转录,services/jianying_task.py 处理剪映草稿导出。models/ 定义了数据模型和常量,config/ 处理配置管理。前端 Web UI(webui/):
components/ 下拆分了各个功能面板:基础设置(basic_settings.py)、音频设置(audio_settings.py)、字幕设置(subtitle_settings.py)、视频设置(video_settings.py)、系统设置(system_settings.py)等。这种分块设计让界面逻辑清晰,用户可以快速定位需要调整的参数。i18n/),支持中英文切换,说明作者从一开始就考虑了多语言用户群体。LLM 调用层(services/llm.py + services/llm/):
依赖管理:
路径一:云端版(最简单)。 直接访问 narratoai.cn,无需安装任何软件,在浏览器中完成全部操作。作者在官网提供了详细的操作文档。这种方式适合不想折腾技术细节的内容创作者。
路径二:本地部署(更自由)。 项目提供了完整的 Docker 支持和多阶段 Dockerfile,docker-compose.yml 配置好了端口映射(8501)、存储卷和环境变量。部署流程简单:git clone → 修改 config.example.toml → docker-compose up。内存需求约 4GB,磁盘 10GB,不需要 GPU,普通电脑即可运行。唯一需要注意的是需要自备大模型 API Key(OpenAI/Gemini/Qwen 等)。
API 成本。 NarratoAI 本身免费,但调用大模型 API 和语音合成服务需要付费。虽然 EdgeTTS 免费,但高质量配音需要商业云服务。如果批量生产视频,API 费用可能成为主要成本。
视频版权风险。 工具支持下载 YouTube 等平台视频并生成解说内容,涉及版权内容的使用需要注意各平台的 TOS(服务条款)。作者在 LICENSE 中明确「仅供学习和研究使用,不得商用」,商业授权需联系作者。
Docker 部署的硬件依赖。 虽然不需要 GPU,但视频处理对 CPU 和内存有一定要求。如果视频文件较大(>1GB),4GB 内存可能会吃力,建议分配更多资源。
长视频处理效率。 逐帧分析纪录片内容时,视觉并发和缓存策略虽有优化,但超长视频(>1小时)的处理时间仍然较长。作者在2026年4月的更新中优化了抽帧和缓存逻辑,但用户仍需对处理时长有合理预期。
NarratoAI 让我们看到了一个趋势:AI工具正在从「单一能力」向「端到端流水线」进化。过去我们用 GPT 写文案、用 ElevenLabs 配音、用 CapCut 剪辑,每个环节都要手动串联。NarratoAI 把这个链路自动化了,而且开源免费。
从技术角度看,这个项目展示了如何优雅地整合多个大模型和云服务 API:统一抽象层、灵活的适配器模式、完善的错误处理和重试机制(tenacity 库)。代码质量方面,模块划分清晰,配置管理规范(TOML),日志记录完善(loguru),测试覆盖也有基础保障。
从产品角度看,Streamlit Web UI 的选择非常务实——不需要专业的 Web 开发技能,Python 开发者可以快速搭建一个可用的界面,同时也降低了非技术用户的使用门槛。
如果你是视频创作者:
如果你是开发者:
app/services/ 的架构设计services/llm.py 的统一接口设计,是很好的 API 集成范例