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