ffmeg将多段视频合成一个视频「建议收藏」

ffmeg将多段视频合成一个视频「建议收藏」ffmeg将多段视频合成一个视频文章目录:一、方法一:利用文件列表二、方法二:不利用文件列表三.方法三:拼接不同编码格式的文件四、注意事项要处理多段视频太费劲啦,如果直接把多段小视频合成一段长视频处理起来就会方便很多,类似剪辑之后的视频合并操作!!!ffmpeg视频拼接需要用concat参数。此外ffmpeg拼接的视频和原视频的封装格式有关一、方法一:利用文件列表建立一个…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用


要处理多段视频太费劲啦,如果直接把多段小视频合成一段长视频处理起来就会方便很多,类似剪辑之后的视频合并操作!!!


ffmpeg视频拼接需要用 concat 参数。 此外ffmpeg拼接的视频和原视频的封装格式有关

一、方法一:利用文件列表

  1. 建立一个 .txt 文件,例如文件名为 filelist.txt ,里面存放的是三段小视频的文件名,如下:
file '/path/to/video1.mp4'
file '/path/to/video1.mp4'
file '/path/to/video1.mp4'
  1. 用ffmpeg 合成一段视频
ffmpeg -f concat -i filelist.txt -c copy output.mp4

注意:

使用 FFmpeg concat 分离器时,如果文件名有奇怪的字符,要在 filelist.txt中转义。

二、方法二:不利用文件列表

合成命令如下:

ffmpeg -i "concat:video1.mp4|video2.mp4|video3.mp4" -c copy output.mp4

这种方法不友好,有些情况下用不成功

三. 方法三:拼接不同编码格式的文件

合成命令如下:

ffmpeg -i video1.mp4 -i video2.webm -i video3.avi -filter_complex '[0:0] [0:1] [1:0] [1:1] [2:0] [2:1] concat=n=3:v=1:a=1 [v] [a]' -map '[v]' -map '[a]' <编码器选项> output.mkv

参数说明:
如你所见,上面的命令合并了三种不同格式的文件,FFmpeg concat 过滤器会重新编码它们。注意这是有损压缩

  • [0:0] [0:1] [1:0] [1:1] [2:0] [2:1] 分别表示第一个输入文件的视频、音频、第二个输入文件的视频、音频、第三个输入文件的视频、音频。
  • concat=n=3:v=1:a=1 表示有三个输入文件输出一条视频流和一条音频流。
  • [v] [a] 就是得到的视频流和音频流的名字,

注意在 bash 等 shell 中需要用引号,防止通配符扩展。

四、注意事项

  • 输入文件必须是有序的
  • 输入文件格式最好相同
  • 输入文件大小不同时后面的文件会被自动拉伸为和第一个文件同分辨率,当然也存在编码问题,自然会很慢
  • 对于 Packed B-Frames 的视频,如果封装成 MKV 格式的时候提示 Can’t write packet with unknown timestamp,尝试在 FFmpeg 命令的 ffmpeg 后面加上 -fflags +genpts

Reference:
1、https://blog.csdn.net/doublefi123/article/details/47276739
2、http://www.voidcn.com/article/p-xzdyrfxk-bhs.html

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述
♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190033.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pandas缺失值填充_python缺失值处理 fillna

    pandas缺失值填充_python缺失值处理 fillna约定:importpandasaspdimportnumpyasnpfromnumpyimportnanasNaN填充缺失数据fillna()是最主要的处理方式了。df1=pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]])df1代码结果:…

    2022年8月12日
    13
  • DropDownList1 添加一个默认选中项

    DropDownList1 添加一个默认选中项DropDownList1添加一个默认选中项DropDownList1.DataSource=bb.drop();DropDownList1.DataTextField=”BookType”;DropDownList1.DataValueField=”BookTypeid”;DropDownList1.DataBind();DropDownList1.Ite..

    2022年7月18日
    13
  • 实用软件资源下载地址集合「建议收藏」

    实用软件资源下载地址集合「建议收藏」1、文库、音乐、视频下载类软件:(视频下载软件)稞麦下载地址:http://rj.baidu.com/soft/detail/10712.html?ald维棠下载地址:http://www.vidown.cn/(文档下载软件)冰点文库下载地址:http://rj.baidu.com/soft/detail/23385.html?ald(音频下载软件)酷狗下载地址:http://rj.baidu….

    2022年5月1日
    206
  • win10显卡驱动怎么装_win10系统显卡驱动安装失败怎么办

    win10显卡驱动怎么装_win10系统显卡驱动安装失败怎么办大家好,今天分享一篇来自小白系统官网(xiaobaixitong.com)的图文教程。我们日常在对电脑的使用过程中,经常都会遇到这样或那样的问题。比如说win10系统显卡驱动安装失败该怎么办呢?别着急,还有小编在呢?接下来小编就来告诉大家win10电脑系统显卡驱动安装失败怎么解决。详细教你win10系统显卡驱动安装失败怎么办:方法一,删除之前的显卡驱动文件重新安装1,首先,右键点击“此电脑”,菜单…

    2022年5月26日
    36
  • sendfile为什么比read、writer快

    sendfile为什么比read、writer快本文转自: http://www.yanyufly.com/2010/10/22/sendfile为什么比readwrite快/ 在看关于文件IO优化资料时,其中提到了sendfile,man了一下,原理是:由于cp都执行在内核态中,避免用户多次调用的切换以及内存cp,因此性能要高于read()+write().适用于从一个文件读出写到另一个文件(网络Fd也可)#include

    2022年5月18日
    39
  • sublime text3激活码(注册激活)

    (sublime text3激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月21日
    250

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号