将背景音乐与视频合并时,ffmpeg 音频被切断

将背景音乐与视频合并时,ffmpeg 音频被切断

我正在尝试运行 ffmpeg 命令将音频文件与有声音的视频合并。我使用的命令会降低音频文件的音量,因为它是音乐,而视频有音频。

我遇到一个问题,当视频声音结束时音频文件就会被切断,而不是继续播放直到视频结束。

/usr/local/bin/ffmpeg \
-i thepath/input.mp4 \
-i musicpath/music.mp3 \
-filter_complex \
"[1:a]volume=-21dB,apad[A]; \
[0:a][A]amerge[out]" \
-c:v libx264 -c:a aac -map 0:v -map "[out]" \
-preset ultrafast -threads 0 -profile:v baseline \
-ac 2 -pix_fmt yuv420p -t 30 -y thepath/output.mp4 2>&1

我很困惑为什么它不能按预期工作?

答案1

amerge以最短的输入流终止,这里是视频的音频,并且不会跨越到视频流的末尾。

添加apad视频的音频并添加-shortest为输出选项。

完整命令如下

/usr/local/bin/ffmpeg \
-i thepath/input.mp4 \
-i musicpath/music.mp3 \
-filter_complex \
"[0:a]apad[main]; \
 [1:a]volume=-21dB,apad[A]; \
[main][A]amerge[out]" \
-c:v libx264 -c:a aac -map 0:v -map "[out]" \
-preset ultrafast -threads 0 -profile:v baseline \
-ac 2 -pix_fmt yuv420p -t 30 -shortest -y thepath/output.mp4 2>&1

相关内容