【发布时间】:2025-12-20 21:05:12
【问题描述】:
我想将来自video.mp4(1 分钟持续时间)的视频和来自audio.mp3(10 分钟持续时间)的音频混合到一个持续时间为 1 分钟的输出文件中。 audio.mp3 的音频应该来自 4 min - 5 min 的位置。我如何使用ffmpeg 做到这一点?
【问题讨论】:
标签: ffmpeg
我想将来自video.mp4(1 分钟持续时间)的视频和来自audio.mp3(10 分钟持续时间)的音频混合到一个持续时间为 1 分钟的输出文件中。 audio.mp3 的音频应该来自 4 min - 5 min 的位置。我如何使用ffmpeg 做到这一点?
【问题讨论】:
标签: ffmpeg
video.mp4 没有音频你可以使用这个命令:
ffmpeg -i video.mp4 -ss 00:04:00 -i audio.mp3 -c copy -shortest output.mkv
音频将来自问题中要求的 4 分钟位置 (-ss 00:04:00)。
此示例将 stream copy(重新复用)视频和音频 - 不会发生重新编码。
video.mp4 有音频您必须按照此处所述添加-map 选项:FFmpeg mux video and audio (from another video) - mapping issue。
添加 apad 过滤器以添加静默填充:
ffmpeg -i video.mp4 -ss 00:04:00 -i audio.mp3 -c:v copy -af apad -shortest output.mkv
注意过滤需要重新编码,所以在本例中音频将被重新编码。
【讨论】:
-shortest 在较短的流结束时导致编码结束,但假设我有 10 分钟的视频和 3 分钟的音频,我希望播放视频的前 3 分钟音频,其余的保持沉默,我该怎么办?