FFmpeg幻灯片问题

时间:2013-06-14 18:38:57

标签: ffmpeg

尝试围绕ffmpeg创建幻灯片,其中每个图像显示约5秒钟的音频。到目前为止创建了一个bat文件来运行以下内容:

ffmpeg -f image2 -i image-%%03d.jpg -i music.mp3 output.mpg

它可以在视频的第一秒快速获取图像并显示它们,然后在显示最后一张图像的同时播放其余的音频。

我想让图像保持更长时间(大约5秒),并在最后一帧之后停止播放视频(不播放剩下的歌曲),这些是否可能?我可以通过拥有数百张相同的图像来破解帧速率的东西,以便让它保持更长时间,但这远非理想!

由于

2 个答案:

答案 0 :(得分:4)

mpg输出的默认编码器mpeg1video对允许的帧速率严格,因此需要输入和输出-r

ffmpeg -r 1/5 -i image-%03d.jpg -i music.mp3 -r 25 -qscale:v 2 -shortest -codec:a copy output.mpg

输入图像的帧速率为每5秒1帧,输出将复制帧数达到每秒25帧。

  • -f image2通常不是必需的。
  • -qscale:v可以控制输出质量。理智的范围是2-5。
  • -shortest将使输出持续时间与最短输入持续时间相同。
  • -codec:a copy复制您的MP3音频,而不是重新编码。
MPEG-1视频有更现代的替代品。有关详细信息,请参阅FFmpeg and x264 Encoding Guide

另见:
* FFmpeg FAQ: How do I encode single pictures into movies?
* FFmpeg Wiki: Create a video slideshow from images

答案 1 :(得分:0)

您可以使用过滤器fps而不是输出帧速率

ffmpeg -r 1/5 -i img%03d.png -i musicfile -c:v libx264 -vf fps=25 -pix_fmt yuv420p out.mp4
然而,这对我来说很奇怪地跳过了最后一张图片。

相关问题