【音视频处理】使用ffmpeg实现多个视频合成一个视频(按宫格视图)

先上结果

环境

硬件:通用PC

系统:Windows 测试有效

软件:ffmpeg

解决

0、命令

shell 复制代码
ffmpeg.exe -i input1.mp4 -i input2.mp4 -i input3.mp4 -i input4.mp4 -filter_complex  "[0:v]scale=iw/2:ih/2,pad=2*iw:2*ih[a]; [1:v]scale=iw/2:ih/2[b]; [2:v]scale=iw/2:ih/2[c];  [3:v]scale=iw/2:ih/2[d];[a][b]overlay=w[x];[x][c]overlay=0:h[y];[y][d]overlay=w:h[v];[0:a][1:a][2:a][3:a]amix=inputs=4[a]" -map "[v]" -map "[a]" -c:v libx264 -c:a aac output.mp4

1、参数说明

  1. -i input1.mp4 -i input2.mp4 -i input3.mp4 -i input4.mp4:这些是输入文件的参数,指定了四个视频文件作为输入。为了简单我这里采用一个视频复制4份使用。
  2. -filter_complex:这个参数用来指定一个复杂的过滤器图,用于处理和组合视频和音频流。
    0:vscale=iw/2:ih/2,pad=2iw:2 iha;:这个过滤器首先将第一个视频流(0:v)的大小缩小到原来的一半(scale=iw/2:ih/2),然后使用pad过滤器将视频画面扩大到原始宽度的两倍和原始高度的两倍,准备放置其他视频。结果标记为a
    1:vscale=iw/2:ih/2b; 2:vscale=iw/2:ih/2c; 3:vscale=iw/2:ih/2d;:这些过滤器将其他三个视频流的大小也缩小到原来的一半,并分别标记为bcd
    aboverlay=wx;:这个过滤器将视频b覆盖到视频a上,位置为宽度w的位置,即右上角,结果标记为x
    xcoverlay=0:hy;:将视频c覆盖到x上,位置为高度h的位置,即左下角,结果标记为y
    ydoverlay=w:hv;:将视频d覆盖到y上,位置为宽度w和高度h的位置,即右下角,最终的视频流标记为v
  3. 0:a1:a2:a3:aamix=inputs=4a:这个过滤器将四个视频的音频流混合成一个音频流。amix=inputs=4表示混合四个输入,结果标记为a
  4. -map "v" -map "a":这些参数指定了要从过滤器图中映射到输出文件的流。"v"是最终的视频流,"a"是混合后的音频流。
  5. -c:v libx264 -c:a aac:这些参数指定了视频和音频的编码器。视频使用libx264编码器,音频使用aac编码器。
  6. output.mp4:这是输出文件的名称。

OK!

至此,问题解决。欢迎留言交流

相关推荐
科技拓维者5 分钟前
短视频配音音效去哪里找比较好?短视频创作者音效指南
人工智能·音视频
javaDocker30 分钟前
电视台自建AI短视频生产线与算力底座:技术架构、关键实现与优化实践
人工智能·架构·音视频
2601_962066932 小时前
短视频批量制作怎么做?2026年用 huasheng-cli 的 --json 与退出码,一张选题表批量出片
json·音视频
半壶清水3 小时前
使用Cambridge Dictionary Audio Downloader插件下载剑桥在线词典音频完整教程
音视频
刘广睿4 小时前
视频字幕从提取到烧录:SRT/ASS 格式与 ffmpeg 字幕滤镜全流程
ffmpeg·音视频·效率工具·剪辑·字幕
刘广睿6 小时前
多素材对比同步播放怎么设计?对齐播放与差异高亮的功能复盘
音视频·效率工具·架构设计·桌面客户端·素材管理
2601_962100736 小时前
AI批量生成视频的工程化复盘(2026):一条能断点续跑、不重复扣量的出片脚本
人工智能·音视频
小柯南敲键盘6 小时前
跨境电商批量图片翻译与视频字幕翻译,就用跨马AI工具
大数据·人工智能·python·音视频
可乐鸡翅yeah_7 小时前
FFmpeg 与浏览器 HLS 播放表现差异,定位跨客户端兼容问题
ffmpeg·音视频·m3u8·m3u8在线·音视频在线播放
神探小白牙8 小时前
海康视频在vue2.0中的使用
前端·音视频