📦 add narration to a video automatically — 自动配音
v1.0.0为无声录屏自动生成旁白:提取关键帧→分析画面内容→撰写演讲式解说稿→调用 Microsoft TTS 合成语音→合并音轨,无需手动配音即可产出带专业旁白的视频。
详细分析 ▾
运行时依赖
版本
你可以自动为视频添加专业旁白
安装命令
点击复制技能文档
# Video Narration Skill 为无声屏幕录制演示视频生成专业旁白。 ## 工作流程 ### 1. 分析视频 提取关键帧并理解屏幕上正在发生的事情: ``bash # Extract one frame every 5 seconds ./scripts/extract-frames.sh [output_dir] ` - 查看每一张提取的帧,构建完整理解。 - 识别叙事弧线:什么是铺垫、动作、关键时刻以及结果。 ### 2. 撰写旁白脚本 编写演示风格的旁白——而非干巴巴的说明。遵循以下结构: | 段落 | 目的 | |---------|---------| | 背景 | 告诉观众他们即将看到什么以及为什么重要 | | 情境 | 解释设置 / 场景 | | 提示 / 动作 | 展示用户实际做了什么(保持简洁) | | 逐步演示 | 旁白叙述每个主要步骤,突出见解与转折点 | | 结果 | 给出回报——发现了什么、修复了什么、为什么令人印象深刻 | 写作指南: - 使用对话式、自信的语言——如同向同行展示。 - 使用短促有力的句子以突出重点,变换句长营造节奏。 - 突出“顿悟时刻”——出现惊喜或巧妙之处的瞬间。 - 当工具、命令和数值对故事重要时,直接点名。 - 以一句令人难忘的收尾语总结价值。 - 总字数必须适合视频时长(正常语速约 2.5 字/秒)。 将脚本保存为 _voiceover.md,与视频放在一起。 ### 3. 生成 TTS 音频 使用生成脚本合成各段旁白: `bash ./scripts/generate-tts.sh [voice] [rate] ` 或通过 Python 直接用 edge-tts 生成: - Voice:en-US-GuyNeural(自然男声)或 en-US-AvaNeural(自然女声) - Rate:在 +0% 到 +10% 之间调整,以匹配视频时长 - 每段生成独立音频片段,便于精确控制时间 - 各段之间拼接约 0.4 秒静音 - 验证总时长与视频一致(±2 秒) ### 4. 将音频合并到视频 `bash ./scripts/merge-audio.sh [output_path] ` - 保留原始视频编码(直接复制,不重新编码) - 音频编码为 AAC 192kbps - 使用 -shortest 参数以较短者为准 - 验证输出同时包含视频与音频流 ## 时间控制策略 1. 生成所有片段,测量各自时长 2. 累加总语音时间并与视频对比 3. 若语音>105% 视频时长:压缩脚本或提高语速 4. 若语音<85% 视频时长:节奏可能显得仓促——增加细节或放慢语速 5. 拼接时留 0.3–0.5 秒间隙,目标总误差在 ±2 秒内 ## 前置依赖 若未安装,请先安装依赖: `bash pip3 install edge-tts # Microsoft neural TTS(免费,无需 API key) brew install ffmpeg # or apt-get install ffmpeg ` ## 输出 该技能将生成: 1. (with narration).mov —— 已内嵌旁白的视频 2. _voiceover.md` —— 带时间戳的脚本,可供参考或重新录制