0xS4N4TG/kinetograph

多媒体与设计

用 TypeScript/Remotion 编写视频,通过面向 Agent 的 CLI、Studio 和 MCP 服务在本地渲染。

263
19
TypeScript
NOASSERTION
创建于 5 天前

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日,以项目官方文档为准。