我正在尝试保存动画,但出现错误:
OSError:将动画保存到文件时出错(原因:[Errno 22]无效的参数)Stdout:b''StdError:b''。将日志记录级别设置为DEBUG可能有助于重新运行。
我已经安装了ffmpeg,并且还在我的代码中添加了路径。如果我添加print(animation.writers.list())
,它也会在列表中显示'ffmpeg',因此我确定我的计算机可以找到正确的文件。
在我的代码顶部,我有:
import matplotlib.pyplot as plt
plt.rcParams['animation.ffmpeg_path'] = 'C:/FFmpeg/bin/ffmpeg.exe'
保存动画时,我有:
SubplotAnimation_1 = SubplotAnimation(F_vector, eta_atm, Pkid, Tb_sky)
Writer = animation.FFMpegWriter(fps=20, metadata=dict(artist='Me'), extra_args=['--verbose-debug'])
file_string = r'C:/Users/Esmee/Documents/Animations/animation_tryout.mp4'
print(file_string)
SubplotAnimation_1.save(file_string, writer=Writer)
我已经在字符串前面添加了r
,所以file_string中的/a
没有问题。文件夹C:/ Users / Esmee / Documents / Animations /确实存在,因此也不应该成为问题。
我也尝试过
Writer = animation.writers['ffmpeg']
mywriter = Writer(fps=15, metadata=dict(artist='Me'), bitrate=1800)
但是它也不起作用。
我看过animation save gets errror,How can I overcome this key word error和No Moviewriters available,但是它们都不为我的问题提供解决方案。
有人知道这个问题可能是什么吗?预先感谢!
答案 0 :(得分:0)
最后,下面的代码起作用了:
Writer = animation.FFMpegWriter(fps=20, metadata=dict(artist='Me'))
file_string = r'C:/Users/Esmee/Documents/Animations/animation_tryout.mp4'
SubplotAnimation_1.save(file_string, writer=Writer)
我认为extra_args=['--verbose-debug']
命令中的参数animation.FFMpegWriter
(是我从另一个解决方案中得到的)导致程序崩溃。我没有在程序顶部的import语句中进行任何更改。
我希望这篇文章可以帮助任何有类似问题的人!