使用ffmpeg横向拓展拼接视频

2022-06-13 20:00:31 浏览数 (1)

背景

下午看到群里有个小伙伴问,如何横向拼接同一个视频2次,类似于复制

原视频截图原视频截图
处理后效果图处理后效果图

既然是处理视频,我就想到了ffmpeg。查阅文档后,发现可以利用的组合滤镜功能(filter_complex)实现,特意记录下来

ffmpeg介绍

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,采用LGPL或GPL许可证。

FFmpeg提供了录制、转换以及流化音视频的完整解决方案,拥有非常强大的功能,包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。

本文仅仅是组合滤镜功能(filter_complex)的简单应用

准备工作

到ffmpeg官网(http://www.ffmpeg.org/download.html)下载编译后的可执行文件,解压至ffmpeg目录

命令

代码语言:text复制
cd ./ffmpeg
./ffmpeg -i input.mp4 -i input.mp4 -i input.mp4 -filter_complex "[0:v]pad=iw*3:ih*1[a];[a][1:v]overlay=w[b];[b][2:v]overlay=w*2" out.mp4

解析

  • -i input.mp4 与要处理的文件(输入流)
  • -filter_complex 滤镜功能 [0:v]pad=iw*3:ih*1[a] 将第一个视频宽度*3,高度保持不变,该过滤器命名为a [a][1:v]overlay=w[b] 给过滤器a叠加滤镜,将视频2覆盖在a上,偏移位置为1倍视频宽度,该过滤器命名为b [b][2:v]overlay=w*2 给过滤器b叠加滤镜,将视频3覆盖在b上,偏移位置为2倍视频宽度
  • out.mp4 输出的文件名

效果

处理前处理前
处理后处理后

后记

使用滤镜功能还可以实现添加水印的功能,思路是把第二个视频文件替换成图片文件,然后设置好对应的偏移位置即可。还有更多玩法,可以参阅ffmpeg官方文档。

笔者为腾讯云TDP成员,点击了解腾讯云TDP

博文链接:https://nongxue.top/p/daima/98.html

0 人点赞