用途:把多个视频文件合并/拼接为单个视频,内部使用 ffmpeg 完成。触发场景包括合并视频、拼接视频、视频合并、join videos、merge videos、concatenate videos 等。
主要能力:先对每个输入文件执行 ffprobe 获取时长、大小、编码、分辨率、帧率,并检查各文件格式是否兼容;分辨率不一致时须询问用户选择目标分辨率,并使用 concat filter 配合 scale/pad 统一画面;音频编码不一致时须询问输出音频编码(如 aac、eac3、ac3),据此决定重编码或直接 copy;合并前必须让用户确认或自定义拼接顺序。可选转场效果包括交叉淡化、淡入淡出黑场等 xfade 过渡。
使用方式:同编码同分辨率文件推荐 concat demuxer,先生成列表文件再执行: cat > /tmp/concat_list.txt << 'EOF' file '/path/to/video1.mp4' file '/path/to/video2.mp4' EOF ffmpeg -f concat -safe 0 -i /tmp/concat_list.txt -c copy "OUTPUT.mp4" 格式不一致时使用 concat filter 重新编码,例如两个文件: ffmpeg -i "input1.mp4" -i "input2.mp4" -filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[outv][outa]" -map "[outv]" -map "[outa]" -c:v libx264 -crf 23 -c:a aac -b:a 128k "OUTPUT.mp4" 如需转场可用 xfade,音频用 -an 去除、-c:a copy 保留或重编码。
适用场景与限制:适用于需要按指定顺序合并多个视频的批处理与人工确认流程。执行依赖 ffmpeg/ffprobe 环境;分辨率或编码不同时必须重新编码,速度较慢且可能损失质量;所有合并配置均需用户确认,不自动假设顺序;输出时长应约等于各输入时长之和(含转场时相应减少)。具体价格、平台支持与性能数据暂未提供。