如何使用php从图像创建视频?
2022-08-30 22:09:00
假设我有10张图片,我想将这些图片组合在一个视频中,就像幻灯片一样。
例如,我想显示每个图像5秒钟,然后继续下一个图像5秒钟。
如果可能的话,包括音乐和一些描述性文本将是完美的。
有没有一个示例代码,这可能是与ffmpeg库?
假设我有10张图片,我想将这些图片组合在一个视频中,就像幻灯片一样。
例如,我想显示每个图像5秒钟,然后继续下一个图像5秒钟。
如果可能的话,包括音乐和一些描述性文本将是完美的。
有没有一个示例代码,这可能是与ffmpeg库?
我的第一个想法是用这样的东西来支付ffmpeg命令。
从图像创建视频
ffmpeg可用于将多个图像拼接成一个视频。有很多选项,但以下示例应该足以开始使用。它采用文件名为 XXXXX.morph.jpg 的所有图像,其中 X 是数字,并创建一个名为“输出.mp4”的视频。qscale 选项指定图像质量(1 表示最高,32 表示最低),“-r”选项用于指定每秒的帧数。
ffmpeg -r 25 -qscale 2 -i %05d.morph.jpg output.mp4
(这个脱口秀的网站已经消失了。链接已被删除。
其中 25 表示每秒 25 张图像。您可以将其设置为 1 表示轻微(1 秒)延迟,或使用小数,即 0.5 表示 2 秒延迟。
然后,您可以将视频和音频流与类似的东西组合在一起。
ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -b:a 128k final.mp4
当然,选择合适的编解码器。如果你想要一个mp4,使用libx264作为视频和aac(内置于ffmpeg,不再是“实验性”)作为音频。
请记住,如果您选择使用这样的方法,则默认情况下,当您尝试读取它时,ffmpeg输出将变为stderr。如果您愿意,可以将其重定向到 stdout。