我有一个视频,其中已经有 1 个音频流。我m4a
想将另一个文件与视频中已有的音频流合并。
该m4a
文件比其他音频流短约 10 秒,并且根据FFmpeg
文档:
如果输入的持续时间不同,则输出将以最短的持续时间停止。
但我希望它继续播放更长的音频流(但仍然将两个流合并为一个。
这是我当前正在使用的命令,一旦最短的音频流结束,它就会停止音频:
ffmpeg -i input.mp4 -i shorteraudio.m4a -filter_complex "[0:v]scale=-2:720,format=yuv420p[v];[0:a]amerge=inputs=2[a]" -map [v] -map [a] output.mp4
只用一个 FFmpeg 命令就能完成我想要做的事情吗?
答案1
如果已知第二个输入的音频流较短,则可以填充其长度,以使第一个输入变短。
ffmpeg -i input.mp4 -i shorteraudio.m4a -filter_complex "[0:v]scale=-2:720,format=yuv420p[v];[1:a]apad[a1];[0:a][a1]amerge=inputs=2[a]" -map [v] -map [a] output.mp4