今天在 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 — Programmaticsrc/silent_vlog_maker/纯 ffmpeg pipeline——直式 Shorts(多色字幕 / BGM 高光起点 / 归一化)、静音 vlog、素材清理Win / Mac / Linux
⭐ Path 1 — Programmaticsrc/capcut_helpers/ 的 QA gates交付前机械化 QA(delivery_qa:频闪·死空档·caption-sync·全帧扫描 M91-M95 / broll_audit 占比 / caption_broll_matcher 对位)——纯 ffmpeg/Python,不需要 CapCutWin / 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

平台支持矩阵

模块WindowsmacOS
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