原来,宣传视频也能用代码写出来
本来只是想给 Git Knock 做一段宣传视频,结果顺手打开了一个新思路:视频这东西,居然也可以用代码写。
说起做视频,很自然就会想到剪映:准备素材,拖进时间线,加字幕、转场、音乐,再导出。
这条路当然很成熟。不过,对于经常和代码打交道的人,还有另一个挺有意思的入口——把想法告诉 Codex,让它写一个视频工程,再渲染成 MP4。
这次 Git Knock 的宣传片,就是这样做出来的。
成片可以直接看:
从一句“Codex 能做视频吗”开始
Git Knock 是一个 macOS 菜单栏小工具:后台关注 Git 远端分支,有新提交时提醒一声。
介绍起来不复杂,但软件里有些小动作,文字讲起来总差点意思。
比如检查更新时,菜单栏图标会晃动;发现新提交后,会敲两下门;还有未读更新时,图标会变成黄色。
这些细节,放进视频里显然更直观。
于是,在讨论怎样推广 Git Knock 时,顺口问了 Codex:现在能做视频吗?
Codex 最初想到的是录屏、截图和剪辑。继续追问“基于代码做视频是不是也可以”,才聊到了 Remotion。
熟悉 React 的开发者,看到这里大概就有感觉了:画面可以是组件,字幕可以是文字元素,动画可以由时间控制,音乐和音效也可以放进同一条时间线。
最后,把这些东西渲染成视频。
做视频,突然变成了一件可以继续在代码环境里完成的事。
找个 skill,先跑起来再说
既然有这条路,那就找找有没有现成的工具。
让 Codex 去 GitHub 查了一圈,找到了 Remotion 官方 skills,以及这次实际使用的 video-shotcraft。
后者提供了产品宣传片的制作流程、镜头参考、音效和预览工作台。对于第一次尝试,省去了不少从空白工程开始摸索的过程。
接下来,给 Codex 的要求也很直接:
用这个 skill 给 Git Knock 做一支宣传片,自主创作,介绍一下功能,最后导出 MP4。
再补一句:不用说价格。
然后,Codex 就开始整理产品功能、安排分镜、处理素材、编写动画和渲染视频了。
这一步挺有意思。平时让 Codex 改页面,得到的是网页;这次让它安排画面和时间,得到的就是一支能播放的视频。
代码负责画面,真实软件负责细节
当然,用代码做视频,也可以使用截图和录屏。
Git Knock 这次就混合了几种内容:片外的标题、说明、排版和转场由代码控制;软件面板、菜单栏和原生动作,则使用应用实际生成的素材。

制作过程中的一版画面:标题和镜头由代码安排,产品界面保留原生样子。
真实软件的素材很重要。
仓库怎么排列,多个分支怎么归组,菜单栏里显示哪些信息,都应该和实际使用一致。为了采集这些内容,Codex 运行了本机应用,使用临时演示仓库和隔离数据,拍下需要的界面与动作。
其中最想保留的,就是扫描时的晃动和发现更新后的双敲。
软件已经有这些生动的小细节,视频把它们展示清楚,就很有意思。
修改视频,也可以继续聊天
代码生成视频的另一个方便之处,是后续还能继续通过对话修改。
看完初稿,反馈可以很具体:
“这里应该展示完整窗口。”
“扫描和敲门动作保留。”
“黄色代表未读,这里得让观众看清楚。”
“背景音乐再活泼一点。”
“官网已经换配色了,视频也参考一下。”
Codex 再把这些意见落实到素材、布局、动画和声音里,重新导出。

黄色未读配上独立说明,外部画面也跟着新版官网换成了白底、炭黑和砖红。
过程中确实试过不同长度,但回头看,具体多少秒并不是最值得纠结的事。
更有用的判断是:这段有没有新信息?重要画面看清了吗?动作自然吗?观众能不能理解产品在干什么?
把这些问题解决,时长自然也就有了依据。
当然,来回修改仍然少不了。Codex 能承担很多执行工作,产品表达是否准确、音乐是否合适、画面是否舒服,还得边看边调整。
英文版,也顺手安排上
中文版基本确定后,又继续做了英文版,分别为 Bilibili 和 YouTube 准备素材。
已有的镜头结构、动画和音效时序可以继续使用,再替换文案、调整断行和布局。
软件界面也切换成英文重新采集,让按钮、日期和说明保持一致。

同一套工程思路,继续适配英文内容。
到这里,得到的已经不只是一个 MP4 文件,还有一套能继续修改的工程。以后产品界面变了、文案换了,或者想做另一种语言,都有现成的基础可以接着用。
值得记下的是这个新入口
这次最开心的收获,其实是思路打开了。
有宣传视频的需求,可以打开剪映;也可以留在熟悉的代码环境里,让 Codex 配合 Remotion,把画面组织起来。
尤其是软件演示、功能介绍这类内容,手头本来就有界面、有截图、有产品逻辑。再加上文字、动画和声音,就能开始尝试。
不必先把整套视频制作流程学完,也不必等素材准备得十全十美。先说清楚产品、做出第一版,再边看边改,这条路就能走起来。
这次只是想让 Git Knock 在视频里敲敲门,结果顺便发现:代码除了能把产品做出来,也能把介绍产品的视频做出来。