保存matplotlib.animation会输出0秒的视频

时间:2017-02-15 19:30:31

标签: python animation matplotlib ffmpeg

我对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'])

感谢任何帮助,谢谢

1 个答案:

答案 0 :(得分:0)

我认为你需要提供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",也许这很重要。