使用ffmpeg混合不同长度的音频/视频
Posted
技术标签:
【中文标题】使用ffmpeg混合不同长度的音频/视频【英文标题】:Mix audio/video of different lengths with ffmpeg 【发布时间】:2012-10-23 23:54:24 【问题描述】:我想将来自video.mp4
(1 分钟持续时间)的视频和来自audio.mp3
(10 分钟持续时间)的音频混合到一个持续时间为 1 分钟的输出文件中。 audio.mp3
的音频应该来自 4 min - 5 min 的位置。我如何使用ffmpeg
做到这一点?
【问题讨论】:
【参考方案1】:如果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
注意过滤需要重新编码,所以在本例中音频将被重新编码。
【讨论】:
谢谢。我不问超级用户,因为我发现,在 *** 上很多问题都是我的问题。现在明白了,这是错误的。 LordNeckbeard,我认为你错了。因为执行后视频减少了。我尝试将开始时间设置为 30 秒,看看,输出视频是 30 秒,而不是 1 分钟 颈须大人,对不起。我错了。之前我用的不要最后一个ffmpeg版本。现在,一切正常。再次感谢脚本 当视频较长时,您将如何添加从某个时间到结束的视频?这意味着视频末尾会有一段无声的部分-shortest
在较短的流结束时导致编码结束,但假设我有 10 分钟的视频和 3 分钟的音频,我希望播放视频的前 3 分钟音频,其余的保持沉默,我该怎么办?以上是关于使用ffmpeg混合不同长度的音频/视频的主要内容,如果未能解决你的问题,请参考以下文章