0xS4N4TG/kinetograph
多媒体与设计用 TypeScript/Remotion 编写视频,通过面向 Agent 的 CLI、Studio 和 MCP 服务在本地渲染。
Kinetograph 是一个程序化视频引擎,面向想用 TypeScript 写视频并用本地渲染的人和编程 Agent。项目使用 Remotion 的 API,加上 CSS、SVG、Canvas 2D、WebGL shader 和 Web Audio;已有 Remotion 项目原则上无需改动即可渲染,因为 remotion 和 @remotion/* 的导入会被映射到 Kinetograph 自己的实现(README)。
工作原理
每一帧的做法是:先在确定性 shim 下按帧运行一次 React 树,把原生元素转成场景图层,再由以 N-API addon 形式载入 Node 的 Rust 合成器基于 wgpu 绘制。文字、CSS 布局、SVG、Lottie 和 3D 都走原生路径而非 Chrome,FFmpeg 负责解码和编码(架构说明)。实际结果是:项目仍是普通 TypeScript,但渲染不依赖安装或启动浏览器。
三个入口对应不同工作流:
- CLI —
render、still、strip、inspect和track,都支持--json;npx kinetograph mcp通过 MCP 暴露同样的命令给编程 Agent(TSX 项目说明)。 - Studio — 用
kinetograph studio打开本地编辑器,每个镜头和音频片段一行时间线,图层按组件和源码行命名,预览帧由引擎自己绘制。 - 交给 Agent — 在 Studio 中点击或框选图层,会把选区、源码位置和区域截图通过 ACP 发给编程 Agent,内置 Claude Code、Codex 和 Gemini 预设;作者说目前只测试过 Claude Code,且 Agent 修改文件前会先询问(README、Agent 指南)。
证据覆盖的范围
宣传中的速度数字来自作者本人:发布影片 1,184 帧 1080p 带声音在笔记本上 26 秒渲染完成;各示例在 Apple M4 上以 --concurrency 4 运行,取三次中位数(papercut 系列取三次中最快)的渲染时间(README)。这些是特定硬件和特定项目的渲染基准,不是通用吞吐保证。作者称 papercut 测试项目全部 988 帧都以原生方式渲染。
要求与限制
- TSX 项目需要 Node 22 或更高版本。从源码构建需要 Rust stable 工具链(edition 2024)、wgpu 支持的 GPU,以及 FFmpeg 开发库和
pkg-config;若没有后者,可改用FFMPEG_DIR。更新日志提到 0.2.5 新增了 Linux 上的 Intel 和 AMD GPU 编码器(README、更新日志)。 - 项目处于 beta 阶段,版本 0.2.5:API 可能随版本变化,部分功能仍缺失。剩余问题列在项目网站的 known-issues 页面(README、项目网站)。
- 许可证决定了谁能免费使用:PolyForm Small Business License 覆盖个人、非营利组织,以及员工少于 100 人且 2019 年收入低于 100 万美元的公司;更大的公司需要商业许可。内置 crate 保留各自的许可证(许可证、商业条款、内置 crate)。
HotRepo 存储的样本中只有 2026-10-28 一次新项目榜记录,当时总 star 数为 263;每日榜单历史不足,无法判断热度走势。
本文由 AI 根据项目 README 生成,更新于 2026年10月28日,以项目官方文档为准。