这会告诉你如何将图片变成幻灯片秀,同时也会告诉你如何加上音频。
首先我建议您将所有的图片放到一个文件夹下面,我把它们放到了 my_photos 里,同时图片的后缀名最好是 .png 或者 .jpg, 不管选那个,他们应该是同一个后缀名,否则 ffmpeg 可能会工作的不正常,您可以很方便的把 .png 转变为 .jpg (或者倒过来也行)。
我们这次转换的格式 (-f) 应该被设置为 image2pipe. 你必须使用使用连词符(–)来指明输入。 image2pipe 允许你使用管道 (在命令间使用 |)的结果而不是文件作为 ffmpeg 的输入。命令结果便是将所有图片的内容逐个输出,还要注意指明视频编码器是 copy (-c:v copy) 以正确使用图片输入:
cat my_photos/* | ffmpeg -f image2pipe -i - -c:v copy video.mkv
如果你播放这个文件,你可能会觉得只有一部分图片被加入了,事实上所有的图片都在,但是 ffmpeg 播放它们的时候太快了,默认是 23fps,一秒播放了 23 张图片。
你应该指定帧率 (-framerate) :
cat my_photos/* | ffmpeg -framerate 1 -f image2pipe -i - -c:v copy video.mkv
在这个例子里,把帧率设置为 1,也就是每帧(每张图)会显示 1 秒。
为了加一些声音,可以使用音频文件作为输入 (-i audo_file) 并且设定 copy 音频编码 (-c:a copy). 你可以同时为音频和视频设定编码器,在输出文件前设置就可以了。你要计算一下音频文件的长度和图片张数,已确定合适的帧率。比如我的音频文件是 22 秒,图片有 9 张,那么帧率应该是 9 / 22 大约 0.4,所以我这么输入命令:
cat my_photos/* | ffmpeg -framerate 0.40 -f image2pipe -i - -i audio.wav -c copy video.mkv