FFMPEG-图像到视频。来自RAM的图像?(python)
我挑战自己用python制作自己的寻路算法,并成功了。我正在使用PIL打开一个迷宫的图像,当这个过程完成时,它会创建一个新的图像,并为正确的路径添加颜色 虽然我无法看到从开始到结束的实际过程,但我决定用当前的进度,每一步,创建一幅原始迷宫的图片。 当这个过程结束时,我使用FFMPEG将图像(png)转换为视频(mp4) 问题是:我的上一次测试使用了100x100迷宫,它通过了4840个步骤(循环),并在0.0019秒内执行。当我保存每个步骤的图像时,它创建了4840.png图像,这大约需要12分钟,总共使用了28Mb的存储空间 我正在使用以下命令行代码:FFMPEG-图像到视频。来自RAM的图像?(python),python,image,video,ffmpeg,ram,Python,Image,Video,Ffmpeg,Ram,我挑战自己用python制作自己的寻路算法,并成功了。我正在使用PIL打开一个迷宫的图像,当这个过程完成时,它会创建一个新的图像,并为正确的路径添加颜色 虽然我无法看到从开始到结束的实际过程,但我决定用当前的进度,每一步,创建一幅原始迷宫的图片。 当这个过程结束时,我使用FFMPEG将图像(png)转换为视频(mp4) 问题是:我的上一次测试使用了100x100迷宫,它通过了4840个步骤(循环),并在0.0019秒内执行。当我保存每个步骤的图像时,它创建了4840.png图像,这大约需要12分
arg=ffmpeg-framerate 30-i img%00d.png-c:v libx264-r 30-pix_fmt yuv420p out.mp4
操作系统(arg)
有没有一种方法可以从RAM中保存的图像制作视频,因为这样会快得多?或者一边写视频文件,一边从RAM中一个接一个地提供图像?提前谢谢
EDIT:我曾尝试使用imageio
库发布@Zulko示例,但我面临两个问题:
1) .mp4文件不会播放。我试过好几个球员。文件上也没有缩略图。
2) 添加图像725后,处理停止。控制台仍处于打开状态,但在此之后不会发生任何事情。使用控制台时,应该会出现以下情况:
import imageio
writer = imageio.get_writer('some_file.mp4', fps=some_fps)
for step in steps:
im = make_some_image_for_this(step)
# ( 'im' should be a HxWx3 RGB numpy array I think )
writer.append_data(im)
writer.close()
我设法使它与imageio和numpy一起工作,但我面临两个问题。1) 它创建了一个我无法播放的.mp4文件。(也没有缩略图)。2) 添加图像725后,它将停止/冻结。控制台仍处于打开状态,但在此之后不会再发生任何事情。谢谢你的帮助@对于通常的格式,我认为imageio可以使用不同的编解码器编写许多其他格式。对于图像725之后的冻结,我不知道。也许在Githuthx的项目页面上打开一个问题,我会看看我能做什么。TLDR:是一个bug,很快就会修复,临时解决方案是
pip安装--升级git+https://github.com/kuchi/imageio.git@ffmpeg增强#egg=imageio