用途:把有序的视觉片段(截图帧或视频剪辑)与对应旁白音频合成为一段带解说的演示视频,面向原型走查类首版视频。\n\n主要能力:读取 segments.yml 清单,解析每段的视觉来源,用 FFmpeg 将每段渲染为规范化视频剪辑后拼成最终 MP4。默认硬切,可选视频与音频同步淡入淡出;旁白由 WAV 混入,无需外部剪辑工具即可审看。\n\n清单结构:顶层可含 output(输出路径)、resolution(默认 1280x720)、fps(默认 24)、transition(省略即硬切,type 取 crossfade 或 fade,duration 默认 0.5,fade_in、fade_out 默认 true)。segments 为有序列表,每段含 type(frame 或 clip)、visual(图像,用于 frame)、clip(视频片段,用于 clip)、narration(WAV,别名 narration_wav),可选 duration 覆盖推断时长。所有路径相对清单文件解析。\n\n使用方式:在技能目录中调用脚本,如 scripts/assemble-video.sh --manifest examples/segments.yml --output ./output/demo.mp4,或 scripts/Invoke-AssembleVideo.ps1 -ManifestPath examples/segments.yml -OutputPath ./output/demo.mp4。参数含 --manifest/-ManifestPath、--output/-OutputPath、--fps/-Fps、--resolution/-Resolution、--timeout/-TimeoutSeconds(1-86400,默认 600)。\n\n时长与限制:组装器会在语音前后加静默句柄并保留对应端点画面,交叉淡化重叠这些句柄而非相邻语音,勿预加静音补偿;规范化片段须超过两倍过渡时长。输出时长为未加句柄的旁白时长总和,加每个场景边界一次过渡时长及启用的开场/结尾淡变各一次;禁用过渡时不加句柄。\n\n失败与前置:输出先写目标旁的临时文件,FFmpeg 成功后才移动就位;失败、超时、中断或过渡无效时输出路径不留残缺 MP4,原文件保持不变,成功则替换;临时片段文件总会清理。需 PATH 中有 FFmpeg 和 ffprobe,安装命令:Linux sudo apt update && sudo apt install ffmpeg;macOS brew install ffmpeg;Windows winget install FFmpeg.FFmpeg。旁白质量影响观感,可分享视频建议用 tts-voiceover 的 Azure AI Speech 神经语音;离线可用其 --engine piper。
demo-video
设计与创作
更新于 10-16 09:32