![100 fps 的 ffmpeg 视频,包含 300 个图像,需要 13 秒](https://linux22.com/image/166116/100%20fps%20%E7%9A%84%20ffmpeg%20%E8%A7%86%E9%A2%91%EF%BC%8C%E5%8C%85%E5%90%AB%20300%20%E4%B8%AA%E5%9B%BE%E5%83%8F%EF%BC%8C%E9%9C%80%E8%A6%81%2013%20%E7%A7%92.png)
我有一系列图像,名称从 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