我正在使用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。
答案 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;