
用 Claude Code 或 Codex,
做出这支 AI 追踪镜头
Run ff-tracking with Claude Code or Codex, then make it yours, Chinese text included.
开源项目 ff-tracking 用代码“拍”出一段 6 秒视频:摄像机贴着屏幕,追踪框锁住 AI 打出的每一个字。这篇带你在 Mac 上把它跑起来,再换成你自己的文字(包括中文)和配色。
- 实测 2026.10.24
- Mac · Apple 芯片
- 第一次约 15 分钟
- Claude Code / Codex 通用
- 开源 · MIT · GitHub
01 · 这是什么
一支用代码“拍”出来的视频
ff-tracking 是开发者 Mustafa Saraç 开源的视频项目。画面里没有一帧素材,声音也没有一段音频文件:屏幕、镜头运动、景深、配色和每一声“滴”,全部由代码生成。
- 追踪框是真的:每个
x: 1403 y: 559标签都是那一帧里框的真实像素坐标。 - 12 个镜头、12 种配色:每 0.5 秒切一次,热成像、荧光绿、琥珀……
- 改一句文字,全部跟着变:追踪框、对焦、标签和音效会自动对齐新文字。
先说清楚:它不是 ChatGPT 或 Claude 网页里能“安装”的插件。它是一个需要在你电脑上运行的代码项目。我们要用的是两家的 AI 编程助手:Claude 的 Claude Code,和 ChatGPT 的 Codex。你只负责说话,它负责装工具、跑代码、改文件。
02 · 开始之前
你需要准备这些
| 电脑 | Mac,Apple 芯片(M1 及以后)。Windows 也能跑,但需要支持 Vulkan 的显卡和一串开发工具,见 官方 Windows 说明。Intel Mac 我没有测试。 |
|---|---|
| AI 账号 | Claude Pro / Max(或 Team、Enterprise)订阅。免费版不能用 Claude Code。ChatGPT Plus / Pro(或 Business、Edu、Enterprise)订阅。 |
| 硬盘空间 | 约 3 GB(项目编译后 1.9 GB,加上 Rust 等工具)。 |
| 时间 | 装工具 5–10 分钟;第一次渲染 约 2 分钟(我实测 1 分 54 秒);之后每改一次约 40 秒。 |
| 会用终端吗 | 不需要会,能复制粘贴就行。打开方法:按 Command + 空格,输入“终端”或 Terminal,回车。 |
03 · 安装与渲染
4 步,跑出第一支视频
安装 AI 编程助手
在终端里粘贴这一行,回车。安装时屏幕可能没有进度显示,等它结束即可。
curl -fsSL https://claude.ai/install.sh | bashcurl -fsSL https://chatgpt.com/codex/install.sh | sh装完后,关掉终端再重新打开一个,输入:
claude --versioncodex --version一串版本号,后面跟着 (Claude Code)。一行带 codex 字样的版本号。
提示 command not found?说明终端还没认出新装的命令,关掉终端重开一次。用 Homebrew 的话也可以这样装:brew install --cask claude-codebrew install --cask codex
新建一个工作文件夹,启动并登录
mkdir -p ~/ff-studio && cd ~/ff-studio
claudemkdir -p ~/ff-studio && cd ~/ff-studio
codex第一次启动会让你登录:按提示在浏览器里登录你的 Claude 账号,回到终端即可。
第一次启动会让你选登录方式:选 Sign in with ChatGPT(用 ChatGPT 账号登录),在浏览器里登录后回到终端。
终端里出现一个输入框,上方显示当前文件夹 ~/ff-studio。现在可以直接用中文跟它说话了。
一句话,让 AI 装好工具并渲染
把下面整段复制,粘贴进输入框,回车。这段提示词两边通用,和你用 Claude Code 还是 Codex 无关。
请帮我在这台 Mac 上跑起开源项目 ff-tracking,按顺序做:
1. 检查并安装需要的工具:Homebrew、Rust(cargo)、ffmpeg、uv。缺什么就装什么,装之前先告诉我要装什么。
2. 把 https://github.com/mrsarac/ff-tracking 克隆到当前文件夹。
3. 进入项目文件夹,运行 tools/render.sh,等它生成 out/tracking.mp4。第一次会编译比较久,属于正常。
4. 完成后告诉我视频的路径、分辨率和时长,然后用 open 命令帮我打开视频。
遇到报错先读错误信息自己修;修不好就停下来,把错误原文告诉我。接下来它会一条条提出要执行的命令,每次都会征求你同意:
看到 Do you want to proceed? 时选 Yes。想让它少问几次,可以按 Shift + Tab 切换权限模式。
看到需要批准的命令时,选择允许。想让它少问几次,可以在会话中输入 /permissions,选择允许它做的事情。
几分钟后,一个视频自动打开:1920×1080,6 秒,有声音,最后停在绿色的 Done。它会告诉你文件在 ~/ff-studio/ff-tracking/out/tracking.mp4。
想自己敲命令?手动版
brew install rust ffmpeg uv
cd ~/ff-studio
git clone https://github.com/mrsarac/ff-tracking
cd ff-tracking
tools/render.sh没有 Homebrew 的话,先到 brew.sh 复制首页那一行安装命令。
看看它做对了没有
这几个数字是我在 Apple 芯片 Mac 上实测的,你的电脑可能稍快或稍慢:
| 第一次编译 | 1 分 11 秒(主要在编译 Skia 图形引擎) |
|---|---|
| 出片 | 23 秒,180 帧 |
| 全程 | 1 分 54 秒,之后每次重渲约 40 秒 |
| 结果 | out/tracking.mp4,1920×1080,6.0 秒,响度 −14 LUFS |
看到一行 ld: ignoring file … QTKit.tbd 的 warning?是 macOS 系统库的提示,不影响结果,可以忽略。
04 · 改成你的
换文字、换配色、换镜头
12 个镜头全部写在一个列表里(hud/src/lib.rs 的 SCENE_LIST)。你不用自己打开文件,直接告诉 AI 改哪一镜就行。
改文字
把 ff-tracking 第 2 个镜头的文字从 "thinking…" 改成 "Rubyfpv thinking…",其他镜头不动。
改完先运行 cargo test -p hud 检查文字有没有超出画面,再运行 tools/render.sh 重新出片,然后打开视频给我看。12 个镜头里,第 1 镜是光标、第 11 镜是“框合成一个”的过场、第 12 镜是 Done,第 2–10 镜是可以随便改的文字。新文字尽量和原来长度差不多,太长镜头会装不下(测试会报错提醒你)。
换配色
每个镜头有一套配色,可选这 7 种。直接说“把第 3 镜换成 Amber”就行:
调镜头
每一镜的 cam(...) 控制倾斜、旋转、放大、平移和虚化。用大白话描述就好:
让第 3 个镜头推得更近一点、晃得更明显,再把第 6 镜换成 Navy 配色。改完跑 cargo test -p hud 和 tools/render.sh,打开视频给我看。05 · 中文支持
想打中文?先打一个补丁
原项目的字体(JetBrains Mono)没有中文字形,直接把文字改成中文,画面上只会出现一排 □□□□。而且原代码按“每个字一样宽”排位置,中文字更宽,追踪框会对不齐。
我写了一个小补丁并实测通过:加一套开源中文字体(思源黑体 Noto Sans CJK),中文字用中文字体,并按中文的宽度排位置。上面“改成我的”那支视频就是打了补丁之后的效果。
请给 ff-tracking 加上中文支持,在项目文件夹里按顺序执行:
1. 下载开源中文字体到 media 文件夹:
curl -L -o media/NotoSansCJKsc-Bold.otf https://github.com/notofonts/noto-cjk/raw/main/Sans/OTF/SimplifiedChinese/NotoSansCJKsc-Bold.otf
2. 下载并应用中文补丁:
curl -L -o chinese.patch https://buxiwan.com/guides/ff-tracking/ff-tracking-chinese.patch
git apply chinese.patch
3. 把第 8 个镜头的文字改成 "— 正在创作"。
4. 运行 cargo test -p hud,再运行 tools/render.sh,打开视频给我看。第 8 镜(约 3.8 秒处)出现清楚的「正在创作」,红色锁定框正好框住最后一个字。
补丁应用失败(patch does not apply)?说明原项目更新过。把这句话发给 AI:“补丁没法直接应用,请参考补丁的思路手动改:中文字符用 Noto Sans CJK SC 字体,并且按 1 em 宽度排位置。”
补丁只改了两个文件:查看补丁内容。中文字体使用 SIL Open Font License,可免费商用。
06 · 进阶
让 AI 从零做一支你自己的
作者公开了做出这支视频的完整提示词(docs/PROMPT.md)。配合 fframes 官方的技能包(Skill),AI 可以从一个空文件夹开始,重新做一支同类视频。先在终端装技能包:
npx skills add dmtrKovalenko/fframes -a claude-codenpx skills add dmtrKovalenko/fframes -a codex然后新建一个空文件夹启动 AI,把 PROMPT.md 里那一大段提示词粘进去,改掉 BRIEF 部分(每一镜的文字、配色),就是你自己的版本。
额度提醒:作者原始那次用了约 126 次模型调用。从零重做会明显比“改现成项目”消耗更多额度,建议先用第 04 节的方法熟悉,再挑战这一步。
07 · 常见问题
卡住了看这里
能直接在 ChatGPT 或 Claude 的网页聊天里做吗?
不能出片。渲染需要用到你电脑的显卡和 ffmpeg,网页聊天只能帮你看懂、改写代码。所以本教程用的是两家的编程助手 Claude Code 和 Codex。
第一次卡在 “Compiling skia-bindings” 很久
正常。它在编译 Skia 图形引擎,我实测约 1 分钟,网速慢时会更久。之后再渲染不会重复这一步。
提示没有 numpy / scipy
不用管。渲染脚本发现缺少时会自动用 uv 临时装好。如果连 uv 都没有,在终端运行 brew install uv。
中文显示成方块 □□□
还没打中文补丁,按第 05 节操作即可。
出现 “text … is cut off by the canvas edge” 的 warning
某个坐标小标签被画面边缘切到了一点,通常是新文字比原来长。视频照样能出,介意的话把文字改短一点。
我用的是 Windows 电脑
可以,但比 Mac 麻烦:需要支持 Vulkan 的显卡、Visual Studio 生成工具、LLVM 和共享版 FFmpeg。照着 官方 Windows 说明 做,也可以把这份说明直接丢给 AI 编程助手,让它一步步帮你装。
做出来的视频可以商用吗?
项目是 MIT 许可证,可以自由使用和修改,保留原作者的版权声明即可。字体 JetBrains Mono 和思源黑体都是 SIL OFL 许可。
08 · 视频版
不想看字?去小红书看我的视频版
小红书 · 视频放弃 AE,30s 实现神级动效追踪(开源)@rubyfpv · 安装、渲染、改中文的完整过程去小红书看完整视频 →
跑出来的视频发到小红书记得 @rubyfpv,我会挑几个放到这一页。
ff-tracking 由 Mustafa Saraç(@0xsarac)开源,基于 Dmitriy Kovalenko 的 fframes。本页的步骤、计时和中文补丁由 Rubyfpv 在 2026 年 10 月 24 日实测整理;工具更新后界面文字可能略有不同。