ffmpeg拼接视频

目录


1、两段视频先后播放拼接


2、两段视频同时播放,左右或上下同时显示


1、两段视频先后播放拼接

我没有直接安装ffmpeg,因为好多软件里都已经自带了




想拼接视频的话,找两个视频文件,随便放在一个目录




videolist.txt中写入待拼接的视频文件相对路径


file 'lzbffmpeg/03.mp4'

file 'lzbffmpeg/21.mp4'

然后就可以拼接了




ffmpeg.exe -f concat -i lzbffmpeg\videos.txt joinoutput.mp4

joinooutput.mp4是输出名




ok了




当然,还有其他不少的拼接方法,这只是其中的一种。


2、两段视频同时播放,左右或上下同时显示

有的小可爱要的可能不是时间线上的拼接,而是类似分屏显示的那种,安排 


ffmpeg -i lzbffmpeg\03.mp4 -i lzbffmpeg\21.mp4 -filter_complex "pad=4000:1080:color=red[x0];[0:v]scale=w=1920:h=1080[inn0];[x0][inn0]overlay=0:0[x1];[1:v]scale=w=1920:h=1080[inn1];[x1][inn1]overlay=2000:0" out14.mp4

指令详解 


ffmpeg 

-i lzbffmpeg\03.mp4 //视频1

-i lzbffmpeg\21.mp4 //视频2

-filter_complex 

"pad=3840:1080[x0];//合并后的总尺寸

[0:v]scale=w=1920:h=1080[inn0];//第一个视频的尺寸

[x0][inn0]overlay=0:0[x1];//第一个视频左上角的起始坐标

[1:v]scale=w=1920:h=1080[inn1];//第二个视频的尺寸

[x1][inn1]overlay=1920:0" //第二个视频左上角的起始坐标

out12.mp4//输出文件名





假如我想让左右两个视频中间有个分界,留点空隙,就100个像素吧,颜色为绿色




命令修改为


ffmpeg -i lzbffmpeg\03.mp4 -i lzbffmpeg\21.mp4 -filter_complex "pad=3940:1080:color=green[x0];[0:v]scale=w=1920:h=1080[inn0];[x0][inn0]overlay=0:0[x1];[1:v]scale=w=1920:h=1080[inn1];[x1][inn1]overlay=2020:0" out15.mp4

ffmpeg 

-i lzbffmpeg\03.mp4 //视频1

-i lzbffmpeg\21.mp4 //视频2

-filter_complex 

"pad=3940:1080[x0];//合并后的总尺寸【宽度要加100】

[0:v]scale=w=1920:h=1080[inn0];//第一个视频的尺寸

[x0][inn0]overlay=0:0[x1];//第一个视频左上角的起始坐标

[1:v]scale=w=1920:h=1080[inn1];//第二个视频的尺寸

[x1][inn1]overlay=1920:0" //第二个视频左上角的起始坐标【第二个视频起始位置的坐标要加100】

out12.mp4//输出文件名

 假如想让两个视频上下显示,比如这样






ffmpeg -i lzbffmpeg\03.mp4 -i lzbffmpeg\21.mp4 -filter_complex "pad=1920:2160:color=green[x0];[0:v]scale=w=1920:h=1080[inn0];[x0][inn0]overlay=0:0[x1];[1:v]scale=w=1920:h=1080[inn1];[x1][inn1]overlay=0:1080" out16.mp4

ffmpeg 

-i lzbffmpeg\03.mp4 //视频1

-i lzbffmpeg\21.mp4 //视频2

-filter_complex 

"pad=1920:2160[x0];//合并后的总尺寸【总尺寸变化了】

[0:v]scale=w=1920:h=1080[inn0];//第一个视频的尺寸

[x0][inn0]overlay=0:0[x1];//第一个视频左上角的起始坐标【这个没有变】

[1:v]scale=w=1920:h=1080[inn1];//第二个视频的尺寸

[x1][inn1]overlay=0:1080" //第二个视频左上角的起始坐标【这个需要修改】

out12.mp4//输出文件名

ffmpeg这单个指令功能看着挺简单,但是一组合就可以变化万千,实现各种各样的功能

————————————————

版权声明:本文为CSDN博主「六月的翅膀」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/cd_yourheart/article/details/124642400


暂无留言,赶快评论吧

欢迎留言