FFMPEG 版本:3.2.1-1
Ubuntu 16.04.1
想象一下,您有一个名为 wow.mp3 的 mp3 音频文件,在这种情况下,以下命令将获取 mp3 的持续时间(以秒为单位)。
ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 wow.mp3
一旦你有了以秒为单位的持续时间(想象一下我得到了 11.36 秒)。现在因为我有 3 张图片,我想为 (11.36/3 = 3.79) 运行每个图片,然后请使用以下内容:
ffmpeg -y -framerate 1/3.79 -start_number 1 -i ./swissGenevaLake_%d.jpg -i ./akib.mp3 -c:v libx264 -r 25 -pix_fmt yuv420p -c:a aac -strict experimental -shortest output.mp4
这里的图像是 ./swissGenevaLake_1.jpg、./swissGenevaLake_2.jpg 和 ./swissGenevaLake_3.jpg。
-framerate 1/3.784 表示,每张图像运行 3.784 秒。
-start_number 1 表示,从第一张图片开始,意思是 ./swissGenevaLake_1.jpg
-c:v libx264:视频编解码器 H.264
-r 25:输出视频帧率25
-pix_fmt yuv420p:输出视频像素格式。
-c:a aac:使用 aac 对音频进行编码
-最短:音频完成后立即结束视频。
output.mp4:输出文件名
免责声明:我没有测试合并多种尺寸的图像。
参考:
https://trac.ffmpeg.org/wiki/Create%20a%20video%20slideshow%20from%20images
https://trac.ffmpeg.org/wiki/Encode/AAC
http://trac.ffmpeg.org/wiki/FFprobeTips