matplotlib.animation:script在Windows下工作,在Linux下用于短动画,但对于较长的动画则无限期挂起?

2024-06-25 06:23:57 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是相关的代码片段:

ani = animation.FuncAnimation(fig, animate, outputFiles, blit=True, interval=25)

print "Starting to write animation file..."
# Set up formatting for the movie files
Writer = animation.writers['ffmpeg']

fps = 2
animationFileName = "animation"
if fps <= 2:
    animationFileName = animationFileName + "_slow.mp4"
if fps < 120:
    animationFileName = animationFileName + ".mp4"
else:
    animationFileName = animationFileName + "_fast.mp4"

writer = Writer(fps=fps, metadata=dict(artist='Alien'), bitrate=1800)
ani.save(os.path.join(graphicsOutputDirectory, animationFileName), writer=writer)
print "Finished writing animation file..."

在Linux(Debian Wheezy)中运行脚本时,我看到以下输出:

^{pr2}$

在Windows中,脚本运行得很好。我已经确保我不会犯一些愚蠢的错误,比如使用错误的文件名。在我的GNU/Linux机器上,简短的动画似乎运行得很好,而更长更严肃的动画似乎无限期地挂起。。。在

这里可能有什么问题?我想我应该提到的一个相关细节是,我正在使用virtualenvironment来运行matplotlib的最新版本。在


Tags: 代码脚本iflinux错误动画filewriter
1条回答
网友
1楼 · 发布于 2024-06-25 06:23:57

Ubuntu和Debian现在附带了不推荐使用的FFMPEG版本。这可能就是问题所在。尝试用ffmpeg网站上最近的ffmpeg二进制文件替换/usr/bin中的ffmpeg二进制文件。在

另一个可能的问题与python3有关,其中的子进程具有较小的缓冲区,如果ffmpeg向Python发送太多的信息,那么它将永远挂起。你在玩Python3吗?在

相关问题 更多 >