用途:为 Hunk 生成产品视频,每个终端画面都是真实 Hunk TUI,不使用录屏或模拟图。可用于 pull request 演示与维护者发布视频。仅存在于源码检出中的 scripts/launch-video/,不会随 npm 发布;仅支持 Unix,采集脚本执行 /bin/bash。
主要能力与三个阶段:capture.ts(bun)通过 PTY 驱动 Hunk,将带样式的关键帧截为 PNG;compose.mjs(node + Playwright)在 Chromium 的 1920x1080 HTML 舞台上渲染每个 PNG,加上窗口边框、卡片、字幕与转场后再截图;ffmpeg 将合成后的 PNG 以 30fps 编码为 mp4/webm。通用机制(PTY 驱动、关键帧渲染、分镜规划、Chromium 合成、舞台模板)位于 @hunk/term-video 工作区包 packages/term-video/。
使用方式:先 bun install(沙箱中 postinstall 失败可加 --ignore-scripts);在仓库根目录运行 bun run scripts/launch-video/capture.ts,输出默认到 <repo>/.video-work/;为 .video-work 建独立 package.json 后安装 playwright、playwright-core 并 bunx playwright install chromium;再 node scripts/launch-video/compose.mjs .video-work;最后用 ffmpeg concat 命令编码 mp4(libx264)和 webm(libvpx-vp9)。可用 SCENES 环境变量覆盖默认场景集。分单功能、完整发布、自定义三种配方;compose.mjs 的 SHOTS 表与字幕属单支视频的编辑内容,需按范围改写。
适用场景:单功能演示、发布亮点汇总、教程或对比视频。
限制:需要 node ≥ 18 与 libx264 的 ffmpeg;Playwright 需与其驱动的 Chromium 版本匹配;采集需在仓库根目录以 bun 运行;场景序列长度必须与采集循环边界一致;时间敏感夹具需保持时区稳定。其余细节暂未提供。