2019-03-22

FFmpeg使用filter_complex命令合并多个视频

我的csdn原文

filter_complex合并多个视频,各个视频同时播放,效果如某音的同屏。

一、合并两个视频

1.横向合并

```

ffmpeg -i out1.mp4 -i out2.mp4 -filter_complex "[0:v]pad=iw*2:ih*1[a];[a][1:v]overlay=w" out.mp4

//pad是将合成的视频宽高,这里iw代表第一个视频的宽,iw*2代表合成后的视频宽度加倍,ih为第一个视频的高,合成的两个视频最好分辨率一致。overlay是覆盖,[a][1:v]overlay=w,后面代表是覆盖位置w:0

```

合成的视频效果如下


2.竖屏合并

```

ffmpeg -i out1.mp4 -i out2.mp4 -filter_complex "[0:v]pad=iw:ih*2[a];[a][1:v]overlay=0:h" out.mp4

```

二、三个视频合并

1.横向合并

```

ffmpeg -i out1.mp4 -i out2.mp4 -i out3.mp4 -filter_complex "[0:v]pad=iw*3:ih*1[a];[a][1:v]overlay=w[b];[b][2:v]overlay=2.0*w" out.mp4

```


2.竖向合并

```

ffmpeg -i out1.mp4 -i out2.mp4 -i out3.mp4 -filter_complex "[0:v]pad=iw:ih*3[a];[a][1:v]overlay=0:h[b];[b][2:v]overlay=0:2.0*h" out.mp4

```

三、 四个视频2x2方式排列

```

ffmpeg -i out1.mp4 -i out2.mp4 -i out3.mp4 -i out4.mp4 -filter_complex "[0:v]pad=iw*2:ih*2[a];[a][1:v]overlay=w[b];[b][2:v]overlay=0:h[c];[c][3:v]overlay=w:h" out.mp4

```

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、使用点播文件作为模拟直播源 ffmpeg.exe -re -stream_loop -1 -i 1280.mp...
    叶迎宪阅读 5,903评论 0 1
  • 单线程 在好些年前的MS-DOS时代,操作系统处理问题都是单任务的,我想做听音乐和看电影两件事儿,那么一定要先排一...
    昨天今天下雨天1阅读 1,839评论 0 0
  • 题目描述有一位使者要游历各国,他每到一个国家,都能 学到一种文化,但他不愿意学习任何一种文化超过一次(即如果他学...
    桐桑入梦阅读 3,916评论 0 1
  • 王阿姨住在地铁转两趟15站以外租金相对便宜的老公寓楼里,老公开出租车,一个独子在上初中。 王阿姨的儿子很争气的,在...
    vikblack阅读 3,602评论 9 5
  • 我从小就知道,我有一位好爸爸、好父亲。父亲勤奋、聪明,只喝酒、不抽烟。 出生那年,父亲36岁,人已开...
    小Lila阅读 1,924评论 11 6