100 fps 的 ffmpeg 视频,包含 300 个图像,需要 13 秒

100 fps 的 ffmpeg 视频,包含 300 个图像,需要 13 秒

我有一系列图像,名称从 00001.png 到 00322.png。我想从该图像序列创建一个视频,为此我使用了以下命令:

ffmpeg -i %05d.png -c:v libx264 -vf fps=100 -pix_fmt yuv420p triangles.mp4

视频渲染正确,但长度为 13 秒(根据 vlc 或 youtube),而实际上应该是 3 秒。难道我做错了什么?

答案1

图像序列具有与其相关的帧速率。如果未指定,则设置默认值 25。

fps 过滤器将流从其输入帧速率转换为目标帧速率。然而,它的目的是保持同步,因此帧会被丢弃或重复,而源帧则尽可能接近其源时间戳。

您在这里需要做的就是为图像序列设置自定义帧速率,因此

ffmpeg -framerate 100 -i %05d.png -c:v libx264 -pix_fmt yuv420p triangles.mp4

相关内容