热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ffmpeg拼接视频

目录1、两段视频先后播放拼接2、两段视频同时播放,左右或上下同时显示1、两段视频先后播放拼接我没有直接安装ffmpeg,因为好多软件里都已经自带了想

目录

1、两段视频先后播放拼接

2、两段视频同时播放,左右或上下同时显示




1、两段视频先后播放拼接

我没有直接安装ffmpeg,因为好多软件里都已经自带了

想拼接视频的话,找两个视频文件,随便放在一个目录

videolist.txt中写入待拼接的视频文件相对路径

file 'lzbffmpeg/03.mp4'
file 'lzbffmpeg/21.mp4'

然后就可以拼接了

ffmpeg.exe -f concat -i lzbffmpeg\videos.txt joinoutput.mp4

joinooutput.mp4是输出名

ok了

当然,还有其他不少的拼接方法,这只是其中的一种。


2、两段视频同时播放,左右或上下同时显示

有的小可爱要的可能不是时间线上的拼接,而是类似分屏显示的那种,安排 

ffmpeg -i lzbffmpeg\03.mp4 -i lzbffmpeg\21.mp4 -filter_complex "pad=4000:1080:color=red[x0];[0:v]scale=w=1920:h=1080[inn0];[x0][inn0]overlay=0:0[x1];[1:v]scale=w=1920:h=1080[inn1];[x1][inn1]overlay=2000:0" out14.mp4

指令详解 

ffmpeg
-i lzbffmpeg\03.mp4 //视频1
-i lzbffmpeg\21.mp4 //视频2
-filter_complex
"pad=3840:1080[x0]; //合并后的总尺寸
[0:v]scale=w=1920:h=1080[inn0]; //第一个视频的尺寸
[x0][inn0]overlay=0:0[x1]; //第一个视频左上角的起始坐标
[1:v]scale=w=1920:h=1080[inn1]; //第二个视频的尺寸
[x1][inn1]overlay=1920:0" //第二个视频左上角的起始坐标
out12.mp4 //输出文件名

假如我想让左右两个视频中间有个分界,留点空隙,就100个像素吧,颜色为绿色

命令修改为

ffmpeg -i lzbffmpeg\03.mp4 -i lzbffmpeg\21.mp4 -filter_complex "pad=3940:1080:color=green[x0];[0:v]scale=w=1920:h=1080[inn0];[x0][inn0]overlay=0:0[x1];[1:v]scale=w=1920:h=1080[inn1];[x1][inn1]overlay=2020:0" out15.mp4

ffmpeg
-i lzbffmpeg\03.mp4 //视频1
-i lzbffmpeg\21.mp4 //视频2
-filter_complex
"pad=3940:1080[x0]; //合并后的总尺寸【宽度要加100】
[0:v]scale=w=1920:h=1080[inn0]; //第一个视频的尺寸
[x0][inn0]overlay=0:0[x1]; //第一个视频左上角的起始坐标
[1:v]scale=w=1920:h=1080[inn1]; //第二个视频的尺寸
[x1][inn1]overlay=1920:0" //第二个视频左上角的起始坐标【第二个视频起始位置的坐标要加100】
out12.mp4 //输出文件名

 假如想让两个视频上下显示,比如这样

ffmpeg -i lzbffmpeg\03.mp4 -i lzbffmpeg\21.mp4 -filter_complex "pad=1920:2160:color=green[x0];[0:v]scale=w=1920:h=1080[inn0];[x0][inn0]overlay=0:0[x1];[1:v]scale=w=1920:h=1080[inn1];[x1][inn1]overlay=0:1080" out16.mp4

ffmpeg
-i lzbffmpeg\03.mp4 //视频1
-i lzbffmpeg\21.mp4 //视频2
-filter_complex
"pad=1920:2160[x0]; //合并后的总尺寸【总尺寸变化了】
[0:v]scale=w=1920:h=1080[inn0]; //第一个视频的尺寸
[x0][inn0]overlay=0:0[x1]; //第一个视频左上角的起始坐标【这个没有变】
[1:v]scale=w=1920:h=1080[inn1]; //第二个视频的尺寸
[x1][inn1]overlay=0:1080" //第二个视频左上角的起始坐标【这个需要修改】
out12.mp4 //输出文件名

ffmpeg这单个指令功能看着挺简单,但是一组合就可以变化万千,实现各种各样的功能。


推荐阅读
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 第四章高阶函数(参数传递、高阶函数、lambda表达式)(python进阶)的讲解和应用
    本文主要讲解了第四章高阶函数(参数传递、高阶函数、lambda表达式)的相关知识,包括函数参数传递机制和赋值机制、引用传递的概念和应用、默认参数的定义和使用等内容。同时介绍了高阶函数和lambda表达式的概念,并给出了一些实例代码进行演示。对于想要进一步提升python编程能力的读者来说,本文将是一个不错的学习资料。 ... [详细]
  • 大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记
    本文介绍了大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记,包括outputFormat接口实现类、自定义outputFormat步骤和案例。案例中将包含nty的日志输出到nty.log文件,其他日志输出到other.log文件。同时提供了一些相关网址供参考。 ... [详细]
  • 从批量eml文件中提取附件的Python代码实现方法
    本文介绍了使用Python代码从批量eml文件中提取附件的实现方法,包括获取eml附件信息、递归文件夹下所有文件、创建目的文件夹等步骤。通过该方法可以方便地提取eml文件中的附件,并保存到指定的文件夹中。 ... [详细]
  • python3 logging
    python3logginghttps:docs.python.org3.5librarylogging.html,先3.5是因为我当前的python版本是3.5之所 ... [详细]
  • 1关于字符串相邻的两个或多个字符串字面值(引号引起来的字符)将会自动连接到一起:str_catpython!str_cat输出:python!把很长 ... [详细]
  • 说明:主要是基于ghostyu网友整理的《 armmini2440基于v4l2ffmpegx264的视频远程监控》。自己做了一遍,遇到不少问题,就整理记录下来。 1、平台硬件:ar ... [详细]
  • 本篇文章为大家展示了FFmpeg命令行如何实现视频倍速播放,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收 ... [详细]
  • 《Python数据可视化编程实战》——5.4 在matplotlib中创建动画
    本节书摘来自异步社区《Python数据可视化编程实战》一书中的第5章,第5.4节,作者[爱尔兰]IgorMilovanović,颛青山译& ... [详细]
author-avatar
虚线老母阳
推荐一首歌《春风十里》,我的个人订阅号:虚线老母阳
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有