gpt4 book ai didi

ffmpeg 连接两个带有可选音频的源

转载 作者:行者123 更新时间:2023-12-04 23:23:16 41 4
gpt4 key购买 nike

我想使用 ffmpeg 将两个视频文件连接在一起。我已经找到了这个命令:

ffmpeg -i INPUT1 -i INPUT2 -filter_complex \"[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a]\" -map \"[v]\" -map \"[a]\" OUTPUT

问题是,INPUT2 并不总是有音频,所以 ffmpeg 会抛出一个无效的输入流。
我对 ffmpeg 非常缺乏经验,而且我没有从文档中获得智慧。
是否有一种可能的方式可以很好地理解,可能在一个命令中?

总结:我想连接两个视频文件,包括音频,但第二个文件可能有也可能没有音频层。

最佳答案

必须匹配流计数和类型

要连接的所有段必须具有相同数量和类型的流。所以如果 input1.mp4有音频,input2.mp4没有,那么您需要忽略 input1.mp4 中的音频或为 input2.mp4 添加音频.一种方法是使用 anullsrc 添加静音音频。过滤器如图:

  • FFmpeg concatenation, no Audio in Final Output
  • Add black video to video with sound
  • How to concatenate videos in ffmpeg with different attributes?

  • 检测音频

    没有自动添加丢失音频的选项,因此您必须使用 ffprobe 检查输入告诉您输入是否有音频:
  • Using ffprobe to check audio-only files
  • How can I know a certain file is a video or audio file?

  • 然后,您可以使用首选脚本/编码语言的结果来执行适当的命令。

    关于ffmpeg 连接两个带有可选音频的源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60132495/

    41 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com