【问题标题】:how to loop audio track ffmpeg when my audio duration is less than video video duration当我的音频持续时间小于视频视频持续时间时如何循环音轨ffmpeg
【发布时间】:2016-06-08 04:28:18
【问题描述】:
我正在使用以下命令从图像生成视频:
"ffmpeg - 帧率 1/2 -i storage/emulated/0/myapp/temp/picutre%0d.png" +
" -i /storage/emulated/0/myapp/music.mp3 -strict 实验性 -s " + getScreenResolution() + " -r 30 -vcodec mpeg4 -b
150k -ab 48000 -ac 2 -ar 22050 -最短 " +
文件名;
我的音频持续时间是 30 秒,我的总视频持续时间是 1 分钟。有一种方法可以循环播放我的音频以完成我的视频持续时间?我正在使用 lib ffmpeg for android 在我的应用程序上生成视频。
【问题讨论】:
标签:
android
audio
video
ffmpeg
【解决方案1】:
您必须生成 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 Rieckhere
的回答
【解决方案2】:
您可以使用循环过滤器。
"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;