| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 两个视频左右拼接成一个视频,且两个视频音频都保留 -> 正文阅读 |
|
[人工智能]两个视频左右拼接成一个视频,且两个视频音频都保留 |
背景?现在遇到了一个这样的问题,有两个视频,分辨率大小一致,需要将两个视频左右拼接在一起,类似直播平台打PK时的那种,左边是一个画面,右边是另一个画面的场景。面对这样的问题,我首先的做法是看一下ffmpeg是否有现成的命令,直接在一个画布上放置两个视频。但是搜索了很久没有找到满意的结果,加上给我的时间比较短,所以我采取了简单但是步骤比较多的方式解决了该问题。 技术语言:python3.6 组件:opencv、ffmpeg 思路1、首先使用opencv将两个视频全部图片帧提取出来。 2、按照图序两两图片帧进行水平拼接合并,生成新的图组。 3、将新的图组压缩成视频。 4、将两个视频文件的音频提取出来,并且按照两个音轨合并成一个音频。 5、将新图组压缩的视频和新的音频进行合并得到最终的视频。 下面是按照这个思路,每步制作的过程。 过程1、提取图片帧(opencv)使用opencv将视频图片帧按照顺序提取出来
这样获取了两个视频的所有图片帧,按照数字进行了编号。 2、合成新图组(opencv)现在需要把两个图组的每一个对应编号的图进行水平拼接,代码如下:
完成这一步就已经得到了水平拼接的所有图片。 3、压缩新图组变成新视频(opencv)现在需要把图组压缩成视频,要考虑到原始视频的帧率,保持一致。
执行完上面的代码,已经获得了一个水平拼接好的视频,但是没有声音,下面来制作音频。 4、提取音频、合并音频(ffmpeg)使用ffmpeg对素材视频音频提取
至于ffmpeg这条命令的参数说明就不多说了,音频几个基本参数 下面开始合并音频
别问为什么2个wav为啥要合并成一个mp3,这个完全看心情。 5、将新音频压缩至新视频(ffmpeg)使用ffmpeg进行压缩
得到最终视频。 后记这篇文章给的方法一定不是解决这个问题最优的方法,只是我对ffmpeg研究很浅,无法立马写出对应指令,如果有对ffmpeg研究很深的兄弟,可以留言提供那个最优解决方案。本篇文章,只是参考,希望给碰到相同问题的朋友提供一种解决方案。? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 12:46:01- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |