特效 (AI Wala Kapil Studio)
一个片段 → 多种特效,一个命令。时间控制支持按秒或通过某个口播词("@views"、"@कमाई+0.2";英语单词也会匹配 Whisper 的梵文转写,例如 link ↔ लिंक)。
运行
python3 ~/.claude/skills/awk-effects/scripts/effects.py --list # 所有特效及其属性
python3 ~/.claude/skills/awk-effects/scripts/effects.py VIDEO.mp4 --spec fx.json --preview 3.2 # 生成一张预览图,快速
python3 ~/.claude/skills/awk-effects/scripts/effects.py VIDEO.mp4 --spec fx.json -o VIDEO_fx.mp4
fx.json:
[
{"fx": "title-behind", "t": 0.0, "dur": 2.6, "props": {"text": "FREE|CLASS"}},
{"fx": "orbit-text", "t": 2.6, "dur": 4.0, "props": {"images": ["~/Pictures/a.png", "~/Pictures/b.png", "~/Pictures/c.png"], "size": 0.25}},
{"fx": "clone", "t": 6.9, "dur": 1.6, "props": {"count": 2, "lag": 0.4}},
{"fx": "edit-timeline", "t": 8.6, "dur": 3.0, "props": {"title": "🎬 视频就是这样制作的", "y": 0.6}},
{"fx": "photo-3d", "t": 12.0, "dur": 3.0, "props": {"photo": "~/Pictures/creator.png", "label": "您也可以成为创作者 ✨"}},
{"fx": "map-flyto", "t": 15.0, "dur": 3.0, "props": {"image": "~/maps/india.png", "x": 0.27, "y": 0.6, "label": "孟买"}},
{"fx": "transition", "t": "@फटाफट", "dur": 0.4, "props": {"kind": "zoom-punch"}},
{"fx": "checklist", "t": 5.4, "dur": 3.0, "props": {"title": "需要做什么", "items": ["打开个人主页链接", "填写表格", "提交"], "every": 0.6}},
{"fx": "iphone-ui", "t": "@私信", "dur": 2.2, "props": {"app": "Instagram", "title": "aiwalakapil", "body": "新消息", "icon": "📩"}},
{"fx": "spotlight", "t": 10.8, "dur": 2.0, "props": {"label": "说明中的链接", "glitter": true}},
{"fx": "glass-widgets", "t": 13.0, "dur": 3.0, "props": {"items": [{"icon": "🔥", "title": "观看次数", "value": "4.2万"}]}},
{"fx": "money-counter", "t": 16.2, "dur": 2.4, "props": {"to": 50000, "label": "课程的价值"}},
{"fx": "chart", "t": 18.8, "dur": 2.6, "props": {"title": "注册人数", "bars": [{"label": "第1天", "value": 58}, {"label": "第2天", "value": 111}]}},
{"fx": "news-cut", "t": 21.5, "dur": 2.0, "props": {"headline": "免费AI课程开始!"}},
{"fx": "freeze-callout","t": 24.0, "dur": 1.6, "props": {"name": "KAPIL", "sub": "AI Wala Kapil"}}
]
工作原理
tools/awkvision(基于 Apple Vision,设备端执行) 每段视频处理一次,生成人物蒙版 + 面部轨迹 (缓存为VIDEO.matte.mp4、VIDEO.faces.json;首次构建会编译 Swift 工具,对于 60 fps 4K 视频,每 25 秒约需 1 分钟,--fast-matte用于加速)。- Remotion 渲染出一个透明的后方层 (人物下方) 和前方层;ffmpeg 合成顺序为:视频 → 后方层 → 人物抠像 → 前方层。
- 聚光灯、环绕文字、玻璃小部件、头部后方文字以及冻结帧标注会自动跟随面部。
clone特效通过 ffmpeg 结合蒙版合成:复制的人物在时间上错开,并排显示 (预览模式--preview中不显示)。photo-3d使用 Apple Vision 从任意照片中抠出主体,并将其置于背景前制造深度感。map-flyto需要一张地图图片 (x/y 为图像比例);请使用高分辨率地图,小图在缩放时会显得模糊。- 属性中的本地图片路径 (
images、image、photo) 会自动复制到工作室中。
Claude 工作流程
- 转录或阅读脚本,挑选 4–8 个关键时刻 (前 2 秒内的钩子、数字、列表、行动号召)。不要连续堆叠特效;每个 1–3 秒,之间留出喘息空间。
- 制作完整渲染前,始终使用
--preview T预览几个关键帧并查看效果。 - 短视频中的顺序:自动裁剪 → 自动缩放 → 特效 → 字幕 → 音效 → 音频调整 (缩放和转场会重绘视频,因此字幕要放在后面)。
- 头部后方文字会根据头部上方空间自动调整大小;头发会覆盖最后一行文字的下半部分 (这是设计的效果)。每行短词 (≤ 8 个字母) 阅读效果最佳。
- 对于已有烧录文字框的视频,请将特效放置在空白区域,或使用全屏时刻 (新闻切换、照片 3D、冻结帧标注、聚光灯),避免画面冲突。
- 玻璃卡片带有色调 (而非模糊),以便在任何画面中都能清晰阅读。