当前位置: 首页 > 知识库问答 >
问题:

如何使用ffmpeg Android合并两个视频

锺离锦
2023-03-14

我想合并两个视频。两者都有相同的决心。第二个视频没有任何音频

ffmpeg-itest.mp4-ipicture.mp4-filter_complex"[0: v][0: a][1: v][1: a]conat=n=1: v=2: a=1[v][a]"-map"[vv]"-map"[aa]"mergedVideo.mp4

这是我正在使用的命令,但我得到了以下错误流说明符:filtergraph description[0:v][0:a][1:v][1:a]concat=n=2:v=2:a=1[v][a]中的“a”与任何流都不匹配。

我不太熟悉ffmpeg命令,但我想我给出了一些错误的过滤器复杂值

共有2个答案

郗福
2023-03-14
  • picture.mp4没有音频。
  • 您不能将带有音频的输入与没有音频的输入连接起来。
  • 解决方案是使用anullsrc过滤器添加无声/虚拟/填充音频。或者添加音频文件。
ffmpeg -i test.mp4 -i picture.mp4 -t 0.1 -f lavfi -i anullsrc -filter_complex "[0:v] [0:a] [1:v] [2:a] concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" mergedVideo.mp4

>

  • -t0.1保持原样。concat过滤器将填充其余音频以匹配相应的视频。

    有关更多示例,请参阅如何在ffmpeg中连接具有不同属性的视频?

    • 在第一个命令中,您告诉concat筛选器您有1组段(n=1),而不是2组(n=2)。请参阅concat过滤器文档
    • 你告诉concat过滤器你有2个视频输出(v=2),而不是1个(v=1)。请参阅concat过滤器文档
    • 您的-map标签指的是不存在的标签。参见FFmpeg维基:地图
    • 可能还有其他问题需要解决,但您没有包含完整的日志

  • 毛缪文
    2023-03-14

    您正在尝试ffmpeg的“concat视频过滤器”方法。我建议试试“concat demuxer”。创建一个名为inputlist的文件。包含以下内容的txt(或任何您喜欢的内容):

    file 'test.mp4'
    file 'picture.mp4'
    

    然后按如下方式运行ffmpeg:

    ffmpeg -f concat -safe 0 -i inputlist.txt -c copy mergedVideo.mp4
    
     类似资料:
    • 问题内容: 文件1具有5个字段ABCDE,其中字段A是整数 文件2具有3个字段AFG 文件1中的行数比文件2中的行数大得多(20 ^ 6到5000) 文件1中A的所有条目都出现在文件2中的A字段中 我喜欢按字段A合并两个文件并携带F和G 所需的输出是ABCDEFG 例 文件1 文件2 所需的输出 问题答案: $ awk ‘FNR==NR{a[$1]=$2 FS $3;next}{ print $0

    • 问题内容: 我有第一个json: 第二个: 我想合并/合并两个数据数组,例如: (我现在不在乎)。 如何快速简便地做到这一点?这是我的尝试: 但是会引发异常: 问题答案: JArray dataOfJson1=json1.SelectToken(“data”);

    • 我有两个xml文件,需要使用XSLT将它们合并为一个。 第一个XML是(原始的): 第二个XML(更新数据)如下所示: 所需的合并结果-使用第二个XML更新第一个: 我已经搜索了stackoverflow,但仍然找不到答案。谢谢你的帮助。

    • 问题内容: 我想合并两个或多个视频文件(它们可能是两个mp4或两个3gp或任何其他格式)。 问题答案: 您可以使用的最通用的工具是ffmpeg(如上面@Jeremy所述),但是在手机上使用它需要做一些工作。它也是LGPL许可的,其某些编码器(特别是x264)是GPL。 如果您要连接的两个文件都使用类似的编码,并且包含在从MP4派生的文件格式中(例如3GP),那么一个更简单的解决方案是使用纯Java

    • 问题内容: 如何合并结构相同的两个MySQL表? 这两个表的主键将发生冲突,因此我考虑了这一点。 问题答案: 您也可以尝试: 这允许table_1中的行取代table_2中具有匹配主键的行,同时仍插入具有新主键的行。 或者, 将使用来自表_2的相应行更新表_1中已经存在的行,同时插入具有新主键的行。

    • 我正在尝试通过字符串将根数据合并为一个,但无法这样做。请帮助。