今天在 GitHub Trending 上看到一个有意思的项目:video-autopilot-kit,它把「怎么把视频创作流水线化」这件事拆成了一个可复制的框架——而且它刻意不卖任何人的「私人秘方」,只给你骨架,让你往里填自己的血肉。
一、项目概述
市面上大多数「创作者系统」只有两种形态:要么是某个大 V 把自己的 voice、策略、社群数字打包卖给你(抄了没用,还可能被误导),要么空泛到没有方法论。video-autopilot-kit 走的是第三条路——它提供经实战验证的「结构」,再通过 SETUP.md 一个区域一个区域地问你问题,用你的答案把骨架填满,这样它才真正成为你的系统。
诚实声明:作者本人的私人流程以 Path 2(CapCut)为主,因为他的素材、模板、肌肉记忆都在 CapCut 上。但开源采用者多数应该从 Path 1 开始:跨平台、无 CapCut 依赖、不吃 CapCut 版本变动、全程可重现。需要 CapCut 的花字 / 云端模板时再上 Path 2。
项目最核心的卖点有三:
- 框架式(Kit)而非产品式:给的是骨架 + 方法论,不是某个人的成品配置
- 两条一等公民路径并行:纯代码流水线(Path 1)与 CapCut 辅助(Path 2)地位对等,不是主副关系
- 不夹带任何私人数据:voice / 策略 / 社群数字全部是空白模板,你填你的
二、技术原理
整个 kit 的架构围绕两条 path 展开,外加一组共享的知识库与工具层。
双路径架构
| 路径 | 模块 | 是什么 | 平台 |
|---|---|---|---|
| ⭐ Path 1 — Programmatic(推荐采用者默认) | src/longform_maker/ | 教学长片模块——fx_lib premium 动态引擎(亚像素 Ken Burns / 双层 bloom / light sweep / easing / 合成 SFX)、word_captions 字级时间字幕(M105)、screen_clean 屏幕录影机械清理(M104) | Win / Mac / Linux |
| ⭐ Path 1 — Programmatic | src/silent_vlog_maker/ | 纯 ffmpeg pipeline——直式 Shorts(多色字幕 / BGM 高光起点 / 归一化)、静音 vlog、素材清理 | Win / Mac / Linux |
| ⭐ Path 1 — Programmatic | src/capcut_helpers/ 的 QA gates | 交付前机械化 QA(delivery_qa:频闪·死空档·caption-sync·全帧扫描 M91-M95 / broll_audit 占比 / caption_broll_matcher 对位)——纯 ffmpeg/Python,不需要 CapCut | Win / Mac / Linux |
| Path 2 — CapCut-assisted(作者本人主用) | src/capcut_helpers/ 其余 | CapCut Desktop 自动化——草稿 JSON 直改(draft I/O / 4-level 静音 / 花字 / AI 字幕校正)+ AI 助手 + Computer Use 操作 CapCut 视窗 | Windows-first |
| 共用 | knowledge/ | 视频制作知识库——M1-M106 避坑大全 + 算法 + SOP + 剪辑心法 | — |
| 共用 | examples/ | 自包含可跑 demo——ffmpeg 合成素材,60 秒看 pipeline 真的动 | — |
| 共用 | SETUP.md | 从这就开始——回答问题让系统变成你的 | — |
| 共用 | templates/ | voice / 品牌 / 算法 / 社群的空白填写模板 | — |
| 共用 | config.example.py | 路径设定范例(复制成 config.py 填你的,范例不含任何账号名) | — |
关键技术选型
Path 1 的「可重现」来自 ffmpeg 的确定性。 所有剪辑、字幕、归一等操作都被抽象成可重复执行的脚本,而不是依赖 GUI 的手动点击。例如 silent_vlog_maker 的直式 Shorts 流水线涵盖:多色字幕渲染、按 BGM 高光起点对齐、响度归一化(loudnorm)等。
平台兼容靠探测而非硬编码。 Mac / Linux 下,系统路径与 CJK 字体由 src/platform_compat.py 自动探测——作者特别提醒「不要 hardcode 系统字体路径」:
# src/platform_compat.py 的核心思路(示意)
# 不写死 /System/Library/Fonts/... 这类路径
# 而是运行时探测当前系统的字体目录与可用 CJK 字体
CapCut 草稿 JSON 直改是 Path 2 的精髓,但版本敏感。 由于剪映 CN 6.0+ 已加密不可直改,动手前必须读 TROUBLESHOOTING.md 的版本兼容矩阵,并用 detect_draft_format() 验证明文:
# 修改草稿 JSON 前先验证可写性
from capcut_helpers import detect_draft_format
fmt = detect_draft_format(draft_path)
if not fmt.writable:
raise RuntimeError("该版本草稿已加密,无法直接修改,请参考 TROUBLESHOOTING")
机械化 QA 闸门
无论走哪条 path,成品都应过一遍 src/capcut_helpers/ 的 QA gates——频闪检测、死空档检测、字幕同步、全帧扫描(M91-M95)、b-roll 占比审计、字幕与 b-roll 对位。这一步纯 ffmpeg / Python,不需要 CapCut,是交付前的最后一道保险。
三、安装与快速开始
环境要求
Path 1 — Programmatic(推荐采用者默认;Win / Mac / Linux)
- Python 3.9+
ffmpeg/ffprobe(在 PATH 上)- 不需要 CapCut、不需要 Computer Use——整条 pipeline 都是可重现的代码
- Mac/Linux:系统路径与 CJK 字体由
src/platform_compat.py自动探测
Path 2 — CapCut-assisted(作者本人主用;Windows-first、版本敏感)
- CapCut Desktop 国际版(有 Pro 更好)
- AI 助手 + Computer Use(Claude Desktop / Claude Code 等)——GUI 自动化必需;Mac 上无等效机制
- Python 3.9+ 与
ffmpeg/ffprobe
最简安装步骤
# 1. 克隆后,先读 SETUP.md,把 templates/*.template.md 填成 profiles/*.md
# (或直接把整个 repo 丢给 Claude / ChatGPT:
# 「照 SETUP.md 问我问题,帮我生成 profiles/」)
# 2. 复制配置范本
cp config.example.py config.py # 填你的素材 / 汇出路径(走 Path 2 才需要 CapCut 路径)
# 3. 选路:
# Path 1 —— 装好 Python + ffmpeg 就能跑
# Path 2 —— 额外装 CapCut Desktop + 开启 AI 助手的 Computer Use
# 4. 开始用 src/ 下的工具
config.example.py 只通过环境变量或自动探测当前用户来拿路径,刻意不硬编码任何账号名:
import os
from pathlib import Path
os.environ.setdefault("VIDEO_KIT_PROJECT_ROOT",
str(Path(__file__).resolve().parent))
# CapCut 路径按需覆盖,默认自动探测当前用户
# os.environ["CAPCUT_USER_DATA"] = r"C:\Users\<you>\AppData\Local\CapCut\User Data"
四、使用方法与实战
60 秒看它真的会动(不用 CapCut、不用真素材)
examples/ 里是自包含、可直接跑的 demo——用 ffmpeg 合成测试素材,不需要任何真实影片或 CapCut:
python examples/01_vertical_short.py # 合成素材 → 完整 1080x1920 直式 Short
python examples/02_caption_broll_match.py # 零设定:b-roll 用内容命名就自动对位字幕
3 秒决策树
- 用 Mac / Linux? → Path 1 Programmatic(纯程式,跨平台,不碰 CapCut)
- 要 CapCut 的特效 / 花字 / 云端模板? → Path 2 CapCut-assisted(Windows 优先;版本敏感,先看 TROUBLESHOOTING 的兼容矩阵)
- 只想全自動、不想开任何 GUI? → Path 1 Programmatic
平台支持矩阵
| 模块 | Windows | macOS |
|---|---|---|
| Programmatic(longform / silent_vlog / QA gates) | ✅ | ✅(路径/字体由 platform_compat.py 探测;Linux 同) |
| CapCut 草稿 JSON 直改 | ✅ 本机亲测 | ⚠️ 路径已支援(env override + detect_draft_format()),自动化未在 Mac 实测 |
| Computer Use GUI 自动化 | ✅ | ❌(CapCut Mac 无 AppleScript dictionary) |
五、常见问题与解决方案
Q1:Mac 上能走 Path 2 吗?
Path 2 的「草稿 JSON 直改」路径在 Mac 上已支援路径探测(可用 CAPCUT_USER_DATA 覆盖 + detect_draft_format() 验证),但 GUI 自动化(套模板 / 汇出)在 Mac 上没有可用的等效机制——CapCut Mac 版没有 AppleScript dictionary。Mac 用户建议默认走 Path 1。
Q2:CapCut 草稿改了没效果 / 报加密?
剪映 CN 6.0+ 的草稿已加密,无法直接改 JSON。动手前务必读 TROUBLESHOOTING.md 的版本兼容矩阵,先 detect_draft_format() 确认明文可写。
Q3:ffmpeg 报错「command not found」?
Path 1 强依赖 ffmpeg / ffprobe 在 PATH 上。Mac 用 brew install ffmpeg,Windows 用 scoop/winget 或官方构建,并确保终端能直接调用。
Q4:CJK 字幕显示成方块 / 乱码?
不要 hardcode 系统字体路径。Mac/Linux 下由 src/platform_compat.py 自动探测可用 CJK 字体;若仍异常,检查 ffmpeg 编译是否带 fontconfig / freetype。
Q5:为什么成品要再过一遍 QA gates?
无论哪条 path,交付前都应跑 delivery_qa:频闪、死空档、字幕同步、全帧扫描(M91-M95)、b-roll 占比、字幕/b-roll 对位——这些是肉眼容易漏、算法却一眼看穿的问题。
六、总结
video-autopilot-kit 的价值不在于「某个人的私人流程」,而在于它把结构与方法论抽出来做成可复制的骨架。对开源采用者来说,最务实的入口是 Path 1(纯 ffmpeg 代码流水线):跨平台、无 CapCut 依赖、不受版本变动影响、全程可重现;当你确实需要 CapCut 的花字与云端模板时,再切到 Path 2。它用一份「问卷式」的 SETUP 流程提醒我们:最好的创作系统,是你自己填出来的那一套,而不是抄来的那一叠。
项目地址:https://github.com/Hao0321/video-autopilot-kit | 协议:MIT