【问题标题】:Saving matplotlib.animation outputs a 0 second video保存 matplotlib.animation 输出 0 秒视频
【发布时间】:2017-07-04 15:34:07
【问题描述】:

我对 matplotlib 和动画相当陌生,我在使用 pyplot.show 时可以使用动画,但在尝试使用 animation.save 函数时,唯一输出的是带有动画初始帧的 0 秒视频。

这是我的代码:

plt.rcParams['animation.ffmpeg_path'] = r'C:\FFMPEG\bin\ffmpeg.exe'
FFwriter = animation.FFMpegWriter()     
video_ani.save('basic_animation1.mp4', writer = FFwriter, fps=30, extra_args=['-vcodec', 'libx264'])

任何帮助将不胜感激,谢谢

【问题讨论】:

    标签: python animation matplotlib ffmpeg


    【解决方案1】:

    我认为您需要将参数提供给 FFMpegWriter 类,而不是 animate.save。文件说:

    fps、codec、bitrate、extra_args、metadata 用于构造 MovieWriter 实例,只有在 writer 是字符串时才能传递。

    所以你可以试试

    FFwriter = animation.FFMpegWriter(fps=30, codec="libx264")     
    video_ani.save('basic_animation1.mp4', writer = FFwriter )
    

    使用codec 参数而不是一些额外的参数来指定编解码器。

    除此之外,您可能需要测试某些东西:

    • 您可以将动画保存为动画 gif 吗?
      • 如果是,那么您在创建 mp4 时遇到了问题,
      • 如果不是,则可能是动画本身存在问题。
    • 使用另一个编解码器规范有什么作用?我一直用codec="h264",也许这很重要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-23
      • 1970-01-01
      • 1970-01-01
      • 2020-05-31
      • 2020-07-09
      • 2020-07-20
      • 1970-01-01
      相关资源
      最近更新 更多