背景
==
现在遇到了一个这样的问题,有两个视频,分辨率大小一致,需要将两个视频左右拼接在一起,类似直播平台打PK时的那种,左边是一个画面,右边是另一个画面的场景。面对这样的问题,我首先的做法是看一下ffmpeg是否有现成的命令,直接在一个画布上放置两个视频。但是搜索了很久没有找到满意的结果,加上给我的时间比较短,所以我采取了简单但是步骤比较多的方式解决了该问题。
技术
==
语言:python3.6
组件:opencv、ffmpeg
思路
==
1、首先使用opencv将两个视频全部图片帧提取出来。
2、按照图序两两图片帧进行水平拼接合并,生成新的图组。
3、将新的图组压缩成视频。
4、将两个视频文件的音频提取出来,并且按照两个音轨合并成一个音频。
5、将新图组压缩的视频和新的音频进行合并得到最终的视频。
下面是按照这个思路,每步制作的过程。
过程
==
1、提取图片帧(opencv)
使用opencv将视频图片帧按照顺序提取出来