Communitygithub.com

dharani2201-mini/auto-video-edit

全自动“讲解类”视频编辑器。将原始相机素材一键处理为成片——自动剪切静音、面部推进缩放、调色、人声优化,在恰当位置插入动态统计数据、步骤图、对比图、引用卡,并可选添加B-roll。支持竖屏短视频和横屏YouTube视频。

auto-video-edit 是什么?

这是一个全自动的视频剪辑技能,专为处理“讲解类”原始相机素材设计。用户只需提供一段或多段原始录像,通过一条命令(如 `/auto-video-edit` 或 `bash run_all.sh`)即可自动获得一个完整的成片。该技能运行一个三阶段流水线:首先通过语音活动检测剪除静音、识别面部并进行智能缩放(常规/1.3倍/1.5倍)、应用色彩分级和人声标准化(-14 LUFS);然后利用转录文本自动识别需要视觉辅助的关键时刻(如数字、对比、步骤流程、重点声明),并调用 Remotion 渲染动画卡片;最后将卡片以淡入淡出方式合成到视频中,并匹配文件名与口播关键词自动插入 B-roll 片段。它支持 `--plan-only` 模式让用户先审查和手动优化动画计划后再渲染,确保信息表达精准。该技能兼容 macOS 和 Linux 环境,需要 ffmpeg、Node.js 和 Python 3,内建的错误恢复机制能自动重试失败的渲染步骤,最终生成 `final-video.mp4` 并输出完整的处理报告。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/dharani2201-mini/creator-skills/tree/HEAD/skills/auto-video-edit

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

/auto-video-edit: 从原始素材到成片

无需中断提问,一键执行整个流程。遇到错误自动修复并重新运行,直到生成合格的 final-video.mp4。

SKILL_DIR 指本文件所在的文件夹(通常为 ~/.claude/skills/auto-video-edit)。

1. 检查环境(一次性操作)

ls SKILL_DIR/.venv/bin/python SKILL_DIR/remotion/node_modules/.bin/remotion

如果任一文件缺失,运行仓库中的 install.sh,或手动安装:

python3 -m venv SKILL_DIR/.venv && SKILL_DIR/.venv/bin/pip install -r SKILL_DIR/requirements.txt
cd SKILL_DIR/remotion && npm install && npx remotion browser ensure

还需要在 PATH 中提供 ffmpeg、ffprobe 和 node(macOS: brew install ffmpeg node)。

2. 运行流水线

在存放素材的目录中(默认使用其中最大的视频文件,也可指定文件名):

bash SKILL_DIR/scripts/run_all.sh                 # 或: run_all.sh my-take.mov

该命令依次执行三个步骤,每个步骤也可独立运行:SKILL_DIR/.venv/bin/python SKILL_DIR/scripts/<step>.py

步骤功能输出文件
edit.py检测语音,剪除超过 0.5 秒的静音(保留 0.15 秒气口),将视频分割成约 4.5 秒的镜头;根据口播内容为每个镜头选择常规/推进(1.3×)/特写(1.5×)缩放,以检测到的人脸为中心;进行色彩分级,将人声标准化至 -14 LUFS,每个剪切点添加 10 毫秒淡入淡出edited-video.mp4、work/transcript.json、work/edit_report.json
animate.py识别需要视觉辅助的时刻:带单位的数字 → 计数器、“A vs B”/“instead of”/“before-after” → 对比图、3 个及以上“首先/然后/最后”句式 → 流程图、强烈观点(“事实是”、“大多数人”等) → 文本卡;平均每 15 秒一张卡片,从不在视频前 2.5 秒内插入;按视频尺寸和帧率渲染每张卡片work/animation_plan.json、animations/*.mp4、work/animation_manifest.json
finalize.py将每张卡片在其时间点以柔和淡入淡出方式合成到视频中;如果存在 broll/ 文件夹,且文件名与口播关键词匹配(如 broll/coffee.mp4 → “coffee”),则插入对应片段,持续 3 秒final-video.mp4、work/finalize_report.json

常用参数:edit.py --no-zoom、--whisper small(更准确转录但更慢)、--silence-db -35(安静环境) / -25(嘈杂环境)、--min-silence 0.35(更紧密的剪切)。animate.py --max 3、--min-gap 8。

3. 优化动画卡片(每次必做)

自动计划基于规则生成。通过转录文本在最终渲染前完善计划:

  1. SKILL_DIR/.venv/bin/python SKILL_DIR/scripts/animate.py --plan-only
  2. 阅读 work/transcript.json 和 work/animation_plan.json。编辑计划:
    • 将每个 headline/label/steps/value 改写为 2-6 个精炼词语,准确传达说话者意图(不要只截取句子片段)。修正转录中听错的数字。
    • 删除无助于理解内容的卡片;在关键数字、列表或对比处缺少卡片时手动添加。卡片类型和属性:
      • Counter: {"to": 75, "decimals": 0, "prefix": "$", "suffix": "%", "label": "..."}
      • Comparison: {"left": {"label": "Before", "value": "4 hours"}, "right": {"label": "After", "value": "10 min"}}
      • Flowchart: {"steps": ["Record", "Upload", "Post"]}(2-5 步)
      • TextCard: {"headline": "Nobody talks about this", "body": ""}
    • 每张卡片需要 "start"(以 edited-video.mp4 的秒数为准)和 "seconds"(3-5 秒)。
  3. SKILL_DIR/.venv/bin/python SKILL_DIR/scripts/animate.py --from-plan
  4. SKILL_DIR/.venv/bin/python SKILL_DIR/scripts/finalize.py

4. 检查最终结果

  • 阅读 work/edit_report.json 和 work/finalize_report.json:确认时长合理缩短,无警告信息。
  • 截取关键帧进行检查:ffmpeg -ss 5 -i final-video.mp4 -frames:v 1 -y work/check.jpg(并在每张卡片的起始位置+1 秒处截取)。观察:缩放镜头中人脸是否在画框内、卡片是否可读、无内容被裁剪。
  • 如果缩放导致人脸被严重裁剪,重新运行 edit.py --no-zoom。如果剪辑感觉生硬,使用 --min-silence 0.8。

故障排查

每个步骤会将其完整的 ffmpeg / Remotion 输出写入 work/*.log。阅读最后几行,修复原因后仅重新运行该步骤。常见问题:

  • whisper unavailable → 虚拟环境中缺少依赖;安装它(参见步骤 1)。编辑功能仍可运行,但没有缩放选择。
  • Remotion Could not find a browser → cd SKILL_DIR/remotion && npx remotion browser ensure。
  • 某张卡片渲染失败 → 会用纯文本卡片重试,若仍失败则跳过;视频仍可正常完成。

报告

--- VIDEO EDIT COMPLETE ---
Input / Output / Duration before → after / cuts / zoom mix / cards / b-roll / file size

然后列出您无法修复的任何问题。

相关技能