【问题标题】:How to make video using matplotlib with a contour filed, a vector field, and a moving box?如何使用带有轮廓场、矢量场和移动框的 matplotlib 制作视频?
【发布时间】:2020-04-09 00:43:18
【问题描述】:

我尝试使用plt.fill 和补丁来制作矩形,但结果是在视频中,任何先前时间步长的框都出现在该字段中,而不是像我希望的那样移动的框。

【问题讨论】:

    标签: python matplotlib matplotlib-animation


    【解决方案1】:

    我同样用matplotlib为我的YouTube channel制作视频。

    将帧单独保存为png 文件,使用zfill 填充区分帧的ID 号的零。在您的 Python 代码中,您可以使用计数器变量或 for 循环虚拟变量来创建帧 ID。

    在制作每一帧时,请务必使用plt.close() 以防止在先前画布上绘制的内容也出现在您正在绘制的当前画布上。

    然后使用ffmpeg 以所需的帧速率将帧拼接在一起。取自hamelot.io 的示例如下:

    ffmpeg -r 60 -f image2 -s 1920x1080 -i pic%04d.png -vcodec libx264 -crf 25  -pix_fmt yuv420p test.mp4
    

    在上面的例子中你可能想要调整的一些参数是-r,它是帧速率(在上面的例子中是 60 fps),-s 是最终视频的大小分辨率,-i png 格式的帧的字符串模式(您可以将其更改为其他格式,包括jpeg),最后的最后一个参数没有被标记,它只是您正在创建的最终视频的名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-31
      • 2013-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-04
      • 1970-01-01
      相关资源
      最近更新 更多