如何制作静止图像的视频并保留最后一幅图像 n 秒?

如何制作静止图像的视频并保留最后一幅图像 n 秒?

ffmpeg我通过此命令创建了静止图像的视频。

ffmpeg -r 25 -i a%03d.jpg -c:v libx264 -vf fps=25 -pix_fmt yuv420p out.mp4

我想保留最后一张图片以供其他n秒。目前,我复制最后的图像n*25时间并将它们放在图像序列的末尾。

但是我认为这不是正确的方法。是否可以告知ffmpeg读取最后一张图像的n*25时间?

答案1

您可以使用tpad 过滤器像这样 :

ffmpeg -r 25 -i a%03d.jpg -c:v libx264 -vf tpad=stop_mode=clone:stop_duration=2,fps=25 -pix_fmt yuv420p out.mp4

tpad=stop_mode=克隆:stop_duration=n

n = 您期望的持续时间(以秒为单位)。

答案2

复制静态图像确实是复制视频帧的正确方法。所有视频都是一系列静态图像堆叠在一起并以足够快的速度播放,以呈现运动效果。如果您希望任何单个帧(静态图像)出现超过一个帧刻度,那么您需要复制该帧。编码器不知道每个帧的内容是什么,只知道需要将多少帧编码成视频格式。

相关内容