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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 二叉树前序遍历详解[通俗易懂]

    二叉树前序遍历详解[通俗易懂]二叉树的遍历是数据结构中非常基础的内容了,今天这一篇文章我们来详细了解一下二叉树的前序遍历,二叉树的前序遍历顺序是根节点-左子树-右子树,本文对递归和栈模拟的方法都有实现一、递归方法递归方法可以说是很简了,我们秉承先去往左节点再去往右节点的原则就好了//assumethatwehaveTreeNode,andresistostoretheanswervoidpreorder(TreeNode*root,vector<int&.

    2025年10月20日
    3
  • insmod失败_ins玩不了

    insmod失败_ins玩不了cmemk:versionmagic’2.6.32mod_unloadmodversionsARMv7’shouldbe’2.6.32preemptmod_unloadmodversionsARMv7’如上所示,是配置没有匹配.比如上面这个要配置为preempt,抢占式的.特此记录下.

    2025年5月26日
    7
  • groupby函数详解

    groupby函数详解pandas中groupby函数用法详解1groupby()核心用法2groupby()语法格式3groupby()参数说明4groupby()典型范例1groupby()核心用法(1)根据DataFrame本身的某一列或多列内容进行分组聚合,(a)若按某一列聚合,则新DataFrame将根据某一列的内容分为不同的维度进行拆解,同时将同一维度的再进行聚合,(b)若按某多列聚合,则新D…

    2022年5月9日
    91
  • pygame安装超详细讲解「建议收藏」

    pygame安装超详细讲解「建议收藏」1.进入python官网:https://www.python.org/2.点击PyPI3.输入框输入pygame4.根据顺序依次点击5.根据自己python版本号选择对应的文件6.把下载的whl文件放在python的对应目录下7.回到上一句目录,按住shift然后鼠标点击右键,打开windowsPowerShell命令窗口输入pygame_2048-1.9.4-py3-none-any.whl(这个是你下载的对应版本名)安装过程中出现了两个问题:1)Youareusin

    2022年5月24日
    53
  • 特殊符号心形_wps中斜杠怎么做

    特殊符号心形_wps中斜杠怎么做加帽子符号latex中如果想在字母上加上一个帽子(尖角)符号应该怎样表达呢?(1)如果是在正文中,例如用\^{Z}即可;(2)如果是在公式中,例如用\hat{Z}即可。加横线和波浪线加^号输入\hat 或\widehat加横线输入\overline加波浪线输入\widetilde加一个点\dot{要加点的字母}加两个点\ddot{要加点的字母}其…

    2025年7月4日
    3
  • 机房收费系统——上下机「建议收藏」

    机房收费系统——上下机「建议收藏」机房收费系统——上下机

    2022年4月24日
    42

发表回复

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

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