Wjs Overlaying Video — Wjs 覆蓋視頻
v0.1.0当用户拥有一个或多个视频片段,并希望在其上添加后期制作效果 —— 如 AI 生成的封面作为第一帧,HTML/CSS 字幕与 SRT 同步,关键时刻的动态插图叠加,章节标签,结束卡 CTA 或其他定时动态图形。通常作为 `/wjs-segmenting-video` 的下游使用 —— 从该技能停止的地方开始(原始裁剪片段 + 每片段 SRT),并生成可上传的 MP4。由 HyperFrames 支持,因此所有内容编译为一个最终编码 —— 无需重新编码的级联。触发器 —— "加封面", "加字幕", "加动画", "加 CTA", "做后期", "post-production", "title card", "kinetic captions", "end card",使用 API、CLI 或 GitHub 等工具进行操作。
运行时依赖
安装命令
点击复制技能文档
wjs-overlaying-video 后期制作视频片段:封面、字幕、插图、CTA、自定义动态图形——所有这些都在一个 HyperFrames 项目中组合,并渲染为一个单一的最终编码。没有解码/重新编码的级联(每个级联步骤都会降低质量和浪费时间)。何时使用:在 /wjs-segmenting-video 之后——分段技能会给你裁剪的视频片段和每个片段的 SRT 文件;这个技能会将它们转换为带有封面/字幕/插图/CTA 的上传就绪的 MP4 文件。用户已经有一个完成的视频,并希望用动态图形来装饰它:开场钩子、关键引语调用、结尾口号、章节卡、AI 生成的封面作为第一帧。用户希望在视频上获得 HTML/CSS 质量的字幕(动态逐字高亮、自定义字体、大型轮廓文本、可寻址的每个提示)。用户希望在特定的钩子时刻添加插图覆盖层——图表、大文本强调、流程图。不要用于:将一个长视频分割成多个片段 → 使用 /wjs-segmenting-video。创建源 SRT → 使用 /wjs-transcribing-audio(如果需要不同语言,则使用 /wjs-translating-subtitles)。完整的 HyperFrames 生产中,源不是一个固定视频 → 直接使用 hyperframes。微信视频号 / 抖音上传(没有公共 API)→ 这个技能会生成 MP4 文件;上传是手动的。这个技能是什么 —— 以及不是什么是什么不是一切都叠加在视频片段上的内容:封面、字幕、章节、插图、CTA剪辑/裁剪视频(这是 /wjs-segmenting-video + /wjs-reframing-video)每个片段一个 HyperFrames 组合 = 一个最终编码多步骤解码/编码级联封面是输出的第一帧(平台会自动选择它作为缩略图)一个单独的缩略图文件,用户会将其上传到平台字幕是 HTML/CSS —— -webkit-text-stroke 用于白色文本的可读性libass 烧入(已弃用)插图:可重用的堆栈 / 锤子图案 + 自定义逃生舱每个插图一个定制的 HTML/CSS,没有重用AI 封面在本地目标宽高比下重新生成(1024×1792 用于垂直,1536×1024 用于水平)单个 1024×1536 默认值,会在平台上进行字母盒或裁剪管道片段.mp4 + 片段.zh-CN.burn.srt(来自 /wjs-segmenting-video 的传递)↓1. (可选)通过 gpt-image-2 生成 AI 封面make_cover.py --segments S.json --out output/ --size 1024x1792 cover_NN_slug.png2. 为每个片段创建一个 HyperFrames 项目hf_clip_NN/1080/{index.html, clip.mp4, cover.png, captions.json}3. 组合:封面场景 + 正文视频 + 字幕轨道 + 章节芯片 + 1-2 个插图在钩子时刻 + CTA 场景4. npm run check(lint + 验证 + 视觉检查)npm run render → 上传就绪的 MP4一个 2 分钟的垂直 1080×1920 组合在 M 系列 Mac 上渲染大约需要 2-3 分钟。标准覆盖类型(6 个基本构建块)每个片段的最终组合都是由这些构建块组合而成的。代理会为每个片段选择合适的构建块——通常对于播客亮点来说是全部 6 个,对于单个注释覆盖层来说是 1-2 个。1. 封面 —— 第一帧的全帧 AI 图像封面就是第一帧(没有动画,没有缩放),所以平台会自动选择第一帧作为缩略图。始终使用 ffmpeg -ss 0 -vframes 1 验证——帧 0 不能是黑色,否则平台缩略图会是黑色。HTML:
