用 FFmpeg 将按顺序的画面和配音合成为讲解型 MP4 视频
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "demo-video" 技能: 1. 下载 https://raw.githubusercontent.com/microsoft/hve-core/main/.github/skills/experimental/demo-video/SKILL.md 2. 保存为 ~/.claude/skills/demo-video/SKILL.md 3. 装好后重载技能,告诉我可以用了
请根据 segments.yml 清单,把按顺序的帧/片段与对应 narration WAV 合成为一个讲解型 MP4,并输出到指定路径。
输出一个按段落拼接、带旁白的 MP4 演示视频。
在不改变素材顺序的前提下,按清单生成视频,并将分辨率设为 1280x720、帧率设为 24 fps。
得到符合指定分辨率与帧率的成片。
对清单中的静态帧段使用 duration 固定时长,其余片段按默认规则处理,最终导出 MP4。
生成包含固定时长静帧段的视频。
产品经理或设计师拿到一组按步骤排列的截图和配音后,可以快速合成第一版演示视频。适合内部评审、方案说明和原型展示。
当你已经有多个短录屏片段和对应旁白时,这个技能可将它们规范化后拼接成一个 MP4,方便分享和回放。
需要统一输出分辨率、帧率和段落长度时,可通过清单和参数控制整段视频的生成结果。
本文档介绍了一个用于合成讲解型演示视频的技能:它读取 `segments.yml` 清单,按顺序处理静态帧或视频片段,并把对应的 WAV 旁白合成为最终 MP4。文档说明了清单结构、顶层输出/分辨率/帧率参数、段落字段含义,以及 bash 和 PowerShell 的快速调用方式。
This skill assembles a narrated demo video from ordered visual segments and matching narration audio. It is designed for first-pass walkthrough videos that combine captured prototype frames or clips with per-segment voiceover WAV files.
The workflow takes a manifest that describes each segment, resolves the visual source, and uses FFmpeg to render each segment into a normalized video clip before concatenating them into a final MP4. The narration track is muxed from WAV files so the output can be reviewed as a polished walkthrough without requiring a separate video-editing tool.
Use a segments.yml manifest with optional top-level output settings and an ordered list of segments. Each entry describes a visual source and the narration audio to combine for that portion of the video. All paths resolve relative to the manifest file.
output: ./output/demo.mp4 # optional; destination path for the assembled MP4
resolution: 1280x720 # optional; default 1280x720
fps: 24 # optional; default 24
segments:
- type: frame
visual: ./frames/intro.png
narration: ./audio/intro.wav
duration: 4.5
- type: clip
clip: ./clips/interaction.mp4
narration: ./audio/interaction.wav
output sets the destination path for the assembled MP4, resolved relative to the manifest; the --output or -OutputPath argument overrides it when suppliedresolution controls the output width and height in WIDTHxHEIGHT form (default 1280x720); the --resolution or -Resolution argument overrides itfps sets the frame rate applied when rendering each segment (default 24); the --fps or -Fps argument overrides ittype identifies whether the segment is a still image (frame) or a motion clip (clip)visual points to an image file for a frame segmentclip points to a motion clip file for a clip segmentnarration points to the WAV file generated from narration text (the script also accepts narration_wav as an alias)duration is optional and overrides the inferred duration when you want a fixed segment lengthUse the bash or PowerShell wrappers to invoke the assembler from the skill directory.
scripts/assemble-video.sh --manifest examples/segments.yml --output ./output/demo.mp4
scripts/Invoke-AssembleVideo.ps1 -ManifestPath examples/segments.yml -OutputPath ./output/demo.mp4
The assembly step accepts the following high-level controls:
--manifest or -ManifestPath selects the YAML manifest to process--output or -OutputPath sets the destination MP4 path--fps or -Fps controls the output frame rate for rendered segments--resolution or -Resolution controls the output width and height in the form WIDTHxHEIGHTduration per segment lets you override the inferred length when narration timing is known in advanceNarration quality is the single biggest driver of how polished the final video feels. Prioritize neural voices from Azure AI Speech (part of Azure AI Foundry) through the tts-voiceover skill for any video you intend to share.
tts-voiceover skill backed by Azure AI Speech neural voices (for example en-US-Andrew:DragonHDLatestNeural or en-US-Jenny:DragonHDLatestNeural). These produce natural, presentation-grade narration and are the default for shareable output.espeak-ng require no credentials but sound noticeably robotic. Treat them as a no-network smoke-test fallback, not a delivery format. Regenerate narration with Azure AI Speech before publishing.See the tts-voiceover skill for the neural voice catalog, --voice and --rate controls, and Azure authentication (Entra ID or key).
…
它会把按顺序排列的视觉片段和对应旁白合成为一个 narrated MP4。流程基于 YAML 清单和 FFmpeg,可用于第一版演示或讲解视频。
需要一个 `segments.yml` 清单,里面按顺序写好每个段落的视觉来源、旁白 WAV 文件,以及可选的 `duration`、`output`、`resolution`、`fps`。
文档给出了 bash 和 PowerShell 包装脚本示例,可在技能目录下通过 `assemble-video.sh` 或 `Invoke-AssembleVideo.ps1` 调用。更多细节见源码仓库。
为设计思维教练提供身份、流程与状态基线
帮助你写出更规范、可维护的 Python 代码
将设计思维成果整理为可交接的 RPI 输入与上下文
将回复压缩为极简风格,同时保留技术准确性
通过 Python CLI 自动读写 Mural 内容并管理小组件
从多视角审查代码变更,输出结构化问题与风险。
用 FFmpeg 将视频高质量转换为 GIF 动画
帮助用户完成素材剪辑、结构编排、AI增强与成片润色的视频制作流程。
从视频中提取关键帧或短片段,便于分析、剪辑与内容制作。
并行调用 FFmpeg 完成视频渲染、调色、音频合并与拼接处理。
将任意视频快速整理为中文解说稿与回顾内容,便于二次创作传播。
通过 FFmpeg 执行视频加速、拼接、关键帧优化与文件管理等处理任务。