使用ffmpeg合并视频和音频。音频未结束时循环播放视频

时间:2011-02-16 11:21:18

标签: video audio ffmpeg

我正在尝试将音频文件与视频文件合并。 我有两个选择:

  • 在音频文件尚未结束时,有一个非常小的视频文件(例如,10秒)。

  • 有一个非常长的视频文件(比我的任何音频文件都长),我可以在其上附加音频文件。我希望在音频播放完毕后剪切视频。

我使用后者和ffmpeg的-t选项。这意味着我必须获取音频文件的持续时间才能将其输入ffmpeg。是否可以避免这一步?

第一个解决方案的任何指针?

3 个答案:

答案 0 :(得分:2)

使用ffmpeg的-shortest选项可以轻松解决第二个要点。有关详细信息,请参阅:http://www.ffmpeg.org/ffmpeg-doc.html#SEC12

答案 1 :(得分:0)

如果要将新的音频与视频重复视频合并,直到音频播放完毕,可以尝试以下操作:

ffmpeg  -stream_loop -1 -i input.mp4 -i input.mp3 -shortest -map 0:v:0 -map 1:a:0 -y out.mp4

使用-stream_loop -1表示无限循环输入。mp4,-shortest表示最短输入流结束时完成编码。这里最短的输入流将是input.mp3。

如果您想将新的音频与视频重复音频合并,直到视频结束,可以尝试以下操作:

ffmpeg  -i input.mp4 -stream_loop -1 -i input.mp3 -shortest -map 0:v:0 -map 1:a:0 -y out.mp4

使用-y选项将覆盖输出文件而无需询问。

答案 2 :(得分:-2)

对于第一个,尝试ffmpeg -i yourmovie.mp4 -loop 10循环输入10次