使用ffmpeg横向拓展拼接视频

使用ffmpeg横向拓展拼接视频

苏苏
2022-06-13 / 0 评论 / 29 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年04月05日,已超过849天没有更新,若内容或图片失效,请留言反馈。

背景

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

原始视频
处理后

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

ffmpeg介绍

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

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

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

准备工作

到ffmpeg官网(http://www.ffmpeg.org/download.html)下载编译后的可执行文件,解压至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 输出的文件

效果

后记

使用滤镜功能还可以实现添加水印的功能,思路是把第二个视频文件替换成图片文件,然后设置好对应的偏移位置即可,更多用法可以参见官方文档: http://www.ffmpeg.org/ffmpeg-all.html

引用(以下内容收集自网络)

笔者为腾讯云TDP成员,同步发布
0

评论 (0)

取消