video-merger 是 buda-ai/bunny-agent 提供的一个视频合并技能,目标是把多个短视频片段拼接成一个完整视频,并在合并过程中提供转场、格式统一、背景音乐和片头片尾等处理能力。
用途 主要用于按顺序合并多个视频片段或短视频(shorts),生成一个连续播放的完整视频,可附加转场效果和统一处理。
主要能力
- 顺序合并:按给定顺序拼接多个视频。
- 转场效果:基于 FFmpeg xfade 滤镜添加淡入淡出、擦除、滑动、裁切、黑场/白场过渡等多种转场。
- 统一格式:在合并前将各片段统一为相同分辨率、帧率与编码参数。
- 背景音乐:为合并后的视频叠加统一背景音乐,并与原声混合。
- 片头片尾:可将 intro.mp4、outro.mp4 与主体视频拼接为最终版本。
使用方式 该技能以 FFmpeg 命令行步骤呈现,整体流程如下:
- 准备文件列表:创建 ./temp/merge_list.txt,可手动写入片段路径,也可循环扫描 ./output/shorts/*.mp4 自动生成。
- 统一视频格式:遍历列表,用 ffmpeg 将每个片段缩放并补边到 1080:1920、帧率 30、libx264 编码、aac 音频 128k、采样率 44100,输出到 ./temp/normalized/,并生成 normalized_list.txt。
- 简单合并(无转场):使用 concat demuxer 与 -c copy 直接合并,输出 ./output/merged/merged_simple.mp4。
- 带转场合并:使用 xfade 滤镜(如 fade)配合 acrossfade 处理音频,通过 ffprobe 获取时长计算 offset,输出 ./output/merged/merged_fade.mp4;需 FFmpeg 4.3+。
- 添加背景音乐:读取 ./assets/bgm.mp3,用 volume、aloop、atrim、amix 与原声混合,输出 merged_with_bgm.mp4;若背景音乐文件不存在则直接复制合并结果。
- 添加片头片尾:将 ./assets/intro.mp4、主体视频与 ./assets/outro.mp4 先标准化,再通过 concat 合并为 final.mp4。
可用转场效果 fade(淡入淡出)、wipeleft、wiperight、wipeup、wipedown(四向擦除)、slideleft、slideright、slideup、slidedown(四向滑动)、circlecrop(圆形裁切)、rectcrop(方形裁切)、distance(距离变换)、fadeblack(黑场过渡)、fadewhite(白场过渡)、radial(径向过渡)、smoothleft、smoothright(平滑左/右移)。
输出与目录结构 输出包括 merged_simple.mp4(简单合并)、merged_fade.mp4(带转场)、merged_with_bgm.mp4(带背景音乐)和 final.mp4(最终版本),均位于 ./output/merged/。目录结构为 ./output/shorts/(原始片段)、./output/merged/(合并结果)、./output/thumbnails/(封面图),以及 ./assets/ 下的 intro.mp4、outro.mp4、bgm.mp3。
适用场景 适合将系列短视频、活动片段或多段素材整合为一条完整视频,并统一画面规格与配乐。
限制 带转场合并依赖 FFmpeg 4.3 及以上版本;背景音乐、片头片尾素材需用户自行准备,缺失时对应步骤会跳过或仅复制原文件;具体效果取决于源素材与参数设置。