使用ffmpeg创建从静止图像(jpg)到mp4的游戏中时光倒流

用户名

我已经尝试过在StackExchange上找到许多用于将静态图像转换为mp4的选项。我还没有完全成功。任何帮助,将不胜感激。

ffmpeg -i ../*.jpg -c:v libx264 -crf 0 -y output.mp4

生成的mp4包含视频长度为00:00的第一张图像。看起来像在工作。流映射显示流映射中的所有17张图像(0-16)。我在输出文本中看到它确定图像分辨率为1280x800,这是正确的。

我不确定是否相关,但是初始图像约为93KB。mp4为504KB。

这17张图片是测试集的一部分。最终,我希望使用此方法来生成6天的时间间隔。

问题

ffmpeg*命令中通配符扩展为:

ffmpeg -i 001.jpg 002.jpg 003.jpg -c:v libx264 -crf 0 -y output.mp4

这是假设你的输入文件被命名为001.jpg002.jpg003.jpg,等。

因此,现在001.jpg是唯一的输入002.jpg,而003.jpgoutput.mp4则是输出文件。由于您使用的是危险-y选项(无需询问即可自动覆盖)002.jpg003.jpg因此已被覆盖。

解决方案

使用-pattern_type glob选项:

ffmpeg -framerate 10 -pattern_type glob -i "*.jpg" -c:v libx264 -crf 0 output.mp4

在Windows中可能无法使用。

或告诉它输入是一个序列。对于001.jpg,等等:

ffmpeg -i %03d.jpg -c:v libx264 -crf 0 output.mp4

对于image-0001.jpg,等等:

ffmpeg -framerate 24 -i image-%04d.jpg -c:v libx264 -crf 0 output.mp4

或添加一个cat

cat *.jpg | ffmpeg -framerate ntsc -i - -c:v libx264 -crf 0 output.mp4

有关更多信息,请参阅图像多路分配器文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章