SuperAPI AI 工具集

gitframes-render

设计与创作

查看项目

更新于 10-15 21:50

技能介绍

用途:gitframes-render 用于无头渲染 gitframes 合成,不启动浏览器、Puppeteer 或 Chromium,而是基于 Node.js 上的原生 WebGPU(Dawn)与 mediabunny WebCodecs 硬件编码器。因为渲染耗资源且 GPU 流水线异步,它要求先检查廉价产物,再执行完整视频渲染,即 5 步验证阶梯。

主要能力与使用方式:

  1. 静态类型与模式校验:用 CompositorProgramSchema.safeParse 校验规范,并执行 npx tsc --noEmit -p .。
  2. 单帧检查:用 HeadlessMediaRenderer 与 comp.renderFrame({ frame, renderer }) 输出 PNG,检查对齐、排版、颜色、透明度。
  3. 运动与布局稳定性:用 comp.renderFrameGrid 生成帧网格,设置 frames、columns、cellWidth、showLabels,检查缓动、切点、文字换行与层级。
  4. Vitest 一致性探测:断言像素颜色、透明度或布局包围盒。 4.5. 预览:用 startPreview 启动本地播放器,需指向构建合成的模块,浏览器加载其代码并以 WebGPU 播放,含波形时间线、逐帧步进和与导出相同的音轨。端口按项目目录固定,重跑会接管旧实例,页面自动重连刷新;关闭标签约 5 秒后停止。后台运行,将 URL 告知用户并在对话中收集反馈。页面需支持 WebGPU 的浏览器。
  5. 完整导出:用 comp.renderVideo 设置 outputPath、quality、codec、audioCodec、concurrency,并调用 result.cleanup?.()。

内置 QA:传 qa: true 或 { targetLufs },引擎在渲染读取帧与混音音频时测量,返回 result.qa,可用 formatQaReport 输出;问题代码包括 frames_missing、black_frames、audio_clipping、loudness_off_target、animation_truncated、frozen_video、audio_silence、audio_silent。完成后可用 ffprobe、ffmpeg blackdetect、volumedetect 检查文件。

限制与常见问题:字体需通过 FontManager.register() 注册并列入 comp.fonts;音频层需显式设置 durationFrames;vision 需要前一帧,单帧渲染 frame 0 无内容,且网格渲染会导致重影;渲染脚本结尾务必 process.exit(0) 防止线程挂起;文字需设置明确宽度;引擎使用预乘 alpha,自定义着色器应使用 srcFactor: "one"。

以上资料未提供收费、价格与平台支持等细节。