
一个用 Rust 自写合成器、把 Chrome 从渲染里拿掉的视频引擎,Remotion 与 HyperFrames 的工程可以原样跑;本机实测它没有 GPU 连一帧都出不来,中文缺字会被画成方框。
strip、snapshot 这些逐帧验收工具,前提就是这条。remotion 和 @remotion/* 的 import 映射到 @kinetographdev/core。你的项目文件不动,映射发生在打包那一步。data-composition-id 这类属性,把 GSAP 时间线暂停,再 seek 到当前帧的时间3。doctor、lint、inspect、strip、snapshot 都是给看不见画面的 Agent 用的验收工具。MCP 服务端 npx kinetograph mcp 把这些动作包成工具,本机实测是 14 个4。

| 你要给的 | 它交回的 |
|---|---|
| 一个 TSX 工程,或一个 HTML 页面 | .mp4 / .mov,也支持只出某一帧的 PNG |
| Node 22 或更新 | compositions 列出的合成清单,含尺寸、帧率、总帧数 |
| 一块能用的 GPU:macOS 上 Metal,Linux / Windows 上 Vulkan,Windows 也可 Direct3D 12 | strip 联络表、onion 运动轨迹、inspect 的场景图 JSON |
| 磁盘:本机装完 241 MB | lint / doctor 的逐元素报告,带帧号 |
| 可选的编码器参数 | bench 的分阶段耗时:js、stringify、handoff、resolve、raster、composite、readback |
@remotion/lambda 与 @remotion/cloudrun 都不做,替代方案是「在有 GPU 的机器上跑 kinetograph render」7。
npm install kinetograph。本机实测 125 个包、8.7 秒、node_modules 241 MB,其中原生扩展占 116 MB。npx kinetograph --version 回 0.2.5。doctor。它对每个元素报告引擎画不出来的属性,并给出帧号,这一步不需要 GPU。npx kinetograph doctor src/index.ts --json 里的 unsupportedFrames 与 issues 两份清单。npx kinetograph still src/index.ts 60 -o out/f60.png,再用 strip 看一条时间线上的十二帧。从这一步开始,机器必须有 GPU。npx kinetograph lint 报溢出、出画、缺字体缺素材;check 跑 tsc --noEmit,抓那种能渲出来但写错了属性的情况。npx kinetograph render src/index.ts -o out/video.mp4 --strict。--strict 会在遇到第一个画不出来的元素时停下来并返回退出码 1,避免悄悄少画一块就交付。claude mcp add kinetograph -- npx -y kinetograph mcp 挂工具;npx skills add 0xS4N4TG/kinetograph 装两个技能,一个是写—看—查—渲的循环,一个专管从 Remotion 迁过来。
/dev/dri,也没有 Vulkan 驱动。still 返回 render failed: no compatible GPU adapter found,退出码 2(2026-11-02 实测)。同一台机器上 doctor、lint、compositions 都正常。doctor,回 no glyph for U+6BCF "每" 等,处理方式是 drawn as the font's missing-glyph box(2026-11-02 实测)。随包只带 DM Sans 与 Noto 的符号、数学、Emoji 三套字体8。@font-face 或 makeWebFont 载入一套中文字体。@remotion/lambda 与 @remotion/cloudrun 都标着 Not planned,官方给的办法是「在有 GPU 的机器上跑 kinetograph render」7。@remotion/renderer、bundler、cli、player 或 studio。kinetograph render 与 kinetograph studio。@remotion/three 要重写。Scene3D、Camera3D、Mesh、Model,旋转单位是度7。IFrame 不画。IFrame 嵌了一个真网页。--strict 会当场失败8。@remotion/webcodecs 的编码与解码会抛 UnsupportedApiError。convertMedia 之类改写素材。@remotion/media-parser 只支持本地文件,box 树与采样回调都不给。h264_vaapi、h264_qsv 这类编码器。doctor --json 的 rendererReason 会写原因。doctor 看有没有这条,再决定要不要拿它当渲染机。doctor,把报出来的帧和元素跟原来的渲染结果逐帧对照。doctor 对你那一份工程的报告。doctor 与 lint。
doctor 报出来,修得也快。| 项 | 价格(2026-11-02 读取) | 说明 |
|---|---|---|
| 软件许可 | 0 美元 | 个人、非营利,或 100 人以下且营收 100 万美元以下的公司 |
| 超出小企业线 | 邮件议价 | 没有公开价格,只能联系作者 |
| Remotion 授权 | 3 人以内免费;超出后每次渲染 0.01 美元、每月最低 100 美元,或每席位每月 25 美元,企业版每月 500 美元起 | 与 Kinetograph 的门槛口径不同,直接对比见下 |
| 机器 | 自备 | 没有云端渲染,得有一块 Metal / Vulkan / D3D12 能用的 GPU |
| 磁盘 | — | 本机实测 node_modules 241 MB,其中原生扩展 116 MB |
| FFmpeg | 视构建而定 | COMMERCIAL.md 提醒:render 链接的 FFmpeg 可能含 GPL 组件(libx264),分发二进制前要查 |
| 项目 | 在链条上的位置 | 你要给什么 | 它交回什么 | 星标(2026-11-02) |
|---|---|---|---|---|
| Kinetograph | 渲染底座,替掉 Chrome | TSX 或 HTML 工程 + 一块 GPU | mp4、PNG、联络表、场景图 | 4331 |
| Remotion(第 23 期) | 渲染底座,工程即 TSX | 工程 + 无头 Chrome | mp4,可上 Lambda | 69,4622 |
| HyperFrames(第 14 期) | 渲染底座,工程即网页 | HTML 页面 + GSAP | mp4 | 76,63516 |
| FilmCraft(第 43 期) | 自研编解码的桌面剪辑器 | 安装包 + 素材 | 工程文件与 mp4 | 16,95417 |
| OpenMontage(第 22 期) | 方法论与流水线 | 一个想法 | 分镜到成片的流水线 | 73,98518 |
| video-shotcraft(第 42 期) | 镜头卡与模板库 | 产品页 | 1080p 宣传片 | 15,49119 |
| Montaj(第 45 期) | 步骤引擎 + 项目文件 | 一个 brief | 59 个步骤串成的片 | 2720 |
| motionmaxxing(第 47 期) | 审美与验收 | 一段动效需求 | 六道门的自检与成片 | 1,21221 |
@remotion/three、IFrame、WebCodecs 编码这些明确标着不做的部分,也算一条。文案大量是中文、工程里还没有字体加载流程,同样算。github.com
github.com
kinetograph.dev
kinetograph.dev
kinetograph.dev
kinetograph.dev
kinetograph.dev
kinetograph.dev
github.com
github.com
github.com
github.com
github.com
github.com
remotion.dev
github.com
github.com
github.com
github.com
github.com
github.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.