SuperAPI AI 工具集

helios-renderer

设计与创作

查看项目

更新于 10-22 08:07

技能介绍

helios-renderer 是 Helios 项目提供的渲染器 API,用于在 Node.js 中通过代码把 Helios 合成(composition)渲染输出为文件。它使用 Playwright 与 FFmpeg 进行无头渲染,支持 DOM 与 Canvas 两种渲染策略。

使用方式:从 @helios-project/renderer 导入 Renderer 类,传入宽高、帧率、时长、模式与 inputProps 等选项后调用 render(compositionUrl, outputPath, jobOptions) 即可输出视频;jobOptions 支持 onProgress 进度回调、AbortSignal 取消和 tracePath 调试跟踪。构造选项涵盖视频编码相关参数(videoCodec、pixelFormat、crf、preset、videoBitrate、subtitles)、音频配置(audioFilePath、audioTracks、audioCodec、audioBitrate)、中间捕获参数、ffmpegPath 自定义路径以及 Playwright 浏览器配置。

主要能力:Canvas 模式适合 WebGL、Three.js、Pixi.js 与 2D Canvas,通过 CdpTimeDriver 控制时间并由 CanvasStrategy 直接捕获画布,性能较高;DOM 模式适合 CSS 动画、HTML/DOM 元素与复杂音视频合成,通过 SeekTimeDriver 进行 seek 与截图,速度相对较慢但能自动发现 <audio>/<video> 标签并纳入音频。DOM 模式支持 data-helios-offset、data-helios-seek 与 muted 属性做媒体同步,可递归遍历开放的 Shadow DOM 与关闭的 Shadow DOM,并等待所有媒体 seeked 事件后再截图。此外提供 diagnose() 诊断方法,检查浏览器 WAAPI、WebCodecs、OffscreenCanvas 支持及 FFmpeg 版本、编码器、滤镜;提供 RenderOrchestrator 分布式渲染(concurrency 并行 worker),以及 concatenateVideos 合并多个视频。

常见用法包括烧录字幕(需 videoCodec 为 libx264)、按 startFrame 与 durationInSeconds 进行区间渲染、DOM 模式下用 JPEG 中间截图加速草稿渲染、多音轨混音(volume、offset、seek、playbackRate)。

适用场景:需要以编程方式批量或自动化把 Helios 合成渲染为视频文件的场景,例如程序化视频生成、分布式分段渲染、字幕烧录与音频混轨等。

限制:官方资料给出了主要选项与典型用法,但未说明收费、价格和平台兼容性细节;具体效果与性能取决于运行环境,可先用 diagnose() 检查 Playwright、WebCodecs 与 FFmpeg 是否就绪。资料中未明确给出图片输出的具体调用方式(方法以渲染视频到文件为主),相关细节暂未提供。