当我的音频持续时间小于视频视频持续时间时,如何循环音轨ffmpeg

时间:2016-02-25 11:56:28

标签: android audio video ffmpeg

我正在使用follow命令从图像生成视频:

  

“ffmpeg - framerate 1/2 -i storage / emulated / 0 / myapp / temp / picutre%0d.png”+                   “-i /storage/emulated/0/myapp/music.mp3-strict experimental -s”+ getScreenResolution()+“ - r 30 -vcodec mpeg4 -b   150k -ab 48000 -ac 2 -ar 22050 -shortest“+                   文件名;

我的音频持续时间是30秒,我的总视频时长是1分钟。有一种方法可以循环我的音频来完成我的视频时长吗?我正在使用lib ffmpeg for android在我的应用程序上生成vídeo。

2 个答案:

答案 0 :(得分:0)

您必须生成1分钟的音频文件。这意味着您必须计算重复次数,然后创建一个concat.txt文件,如下所示:

file '/path/to/original.mp3'
file '/path/to/original.mp3'

在您的情况下,原始音频的持续时间为30秒,您需要1分钟。因此concat.txt文件中只有2行。

然后生成新的音频文件:

ffmpeg -t 60 -f concat -i concat.txt -c copy -t 60 output.mp3

最后一步是为您的视频添加新的音频文件。更多细节请阅读 Eugen Rieck here

的答案

答案 1 :(得分:0)

您可以使用循环过滤器。

"ffmpeg - framerate 1/2 -i storage/emulated/0/myapp/temp/picutre%0d.png" + "-f lavfi -i amovie=/storage/emulated/0/myapp/music.mp3:loop=999 -strict experimental -s " + getScreenResolution() + " -r 30 -vcodec mpeg4 -b 150k -ab 48000 -ac 2 -ar 22050 -shortest " + filename;