通过单个ffmpeg命令从两个不同的视频中获取特定的时隙来垂直合并视频,可以使用ffmpeg的filter_complex参数来实现。具体步骤如下:
ffmpeg -i video1.mp4 -i video2.mp4 -filter_complex "[0:v]trim=start=0:end=10,setpts=PTS-STARTPTS[top];[1:v]trim=start=5:end=15,setpts=PTS-STARTPTS[bottom];[top][bottom]vstack=inputs=2[v]" -map "[v]" -c:v libx264 -crf 23 -preset veryfast output.mp4
解析:
-i video1.mp4
:指定第一个视频文件。-i video2.mp4
:指定第二个视频文件。-filter_complex
:指定复杂的滤镜图形。[0:v]trim=start=0:end=10,setpts=PTS-STARTPTS[top]
:从第一个视频中截取从0秒到10秒的片段,并将时间戳重置为从0开始,命名为top。[1:v]trim=start=5:end=15,setpts=PTS-STARTPTS[bottom]
:从第二个视频中截取从5秒到15秒的片段,并将时间戳重置为从0开始,命名为bottom。[top][bottom]vstack=inputs=2[v]
:将top和bottom两个视频垂直堆叠在一起,命名为v。-map "[v]"
:指定输出的视频流。-c:v libx264 -crf 23 -preset veryfast
:指定输出视频的编码器、质量和速度。output.mp4
:指定输出的合并后的视频文件名。注意事项:
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云