我正在使用以下Python代码制作动画,并希望通过FFmpeg(在PyCharm中)将其保存为视频:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from matplotlib.animation import FFMpegWriter
def func():
for j in range(1, len(t)):
time = j * 0.01
print('time:{:2}'.format(time))
yield time
def animate(data):
time = data
ax2.plot(time, time, **{'marker':'o'})
ax2.set_title('t = {:.2}'.format(time))
return ax2
def init():
ax2.plot(0, 0)
return ax2
dt = 0.01
t = np.arange(0, 50, dt)
fig2 = plt.figure()
ax2 = fig2.add_subplot(111, autoscale_on=True)
ax2.grid()
ani = animation.FuncAnimation(fig2, animate, func, interval=dt*1000, blit=False, init_func=init, repeat=False)
plt.rcParams['animation.ffmpeg_path'] = 'C:\Program Files\\ffmpeg\\bin\\ffmpeg.exe'
writer = FFMpegWriter(fps=15, metadata=dict(artist='Me'), bitrate=1800)
ani.save("movie.mp4", writer=writer)
#plt.show()
但是,当时间
达到1.0
时,进程停止,但是当时间
达到50.0
时,进程应该停止。下图显示了进程停止的时间。PyCharm运行控制台
然后我检查movie.mp4
并发现当时间
达到1.0时视频结束。
也就是说,只有前100帧动画被转换为.mp4
文件,所以我很困惑其余的帧都去哪里了?
我试图通过windows cmd运行代码,但得到了相同的结果。
然后取消对#plt.show()
行的注释,发现当时间
达到50.0时进程停止,动画可以正常显示,但仍然只转换了前100帧。
我现在对这个问题很困惑,不知道怎么解决。感谢您的帮助。:)
我看起来funcanimation
当前没有文档:
在animation.py
中,在funcanimation(TimedAnimation)类中:
...
有一行代码:
if self.save_count is None:
# If we're passed in and using the default, set save_count to 100.
self.save_count = 100
ani = animation.FuncAnimation(fig2, animate, func, save_count=5000, interval=dt*1000, blit=False, init_func=init, repeat=False)
\
:'c:\\program files\\ffmpeg\\bin\\ffmpeg.exe'
问题内容: 我正在尝试扩展一些以填充屏幕,但是我很挣扎。我已经解决了这个jsfiddle的问题。 我真正想知道的是,当其父项具有相同的属性并且会扩展时,为什么100%的不会扩展到那个高度(或根本不扩展)? 问题答案: CSS 2.1规范涵盖了该问题: < 百分比> 指定百分比高度。相对于生成的盒子的包含块的高度计算百分比。如果未明确指定包含块的高度(即,它取决于内容的高度),并且该元素的位置不是绝
这个背景图应该顶到最左边去才对,为什么没有过去?图片格式是svg,我在想是不是svg的原因?有无大佬讲解一下原理。 图片本身左边没有空隙,所以不是图片内容的问题。
由于这里有一些很好的答案,我基本上(显然是以有限的方式)理解了Haskell的的目的,并且它的定义是 然而,我不太清楚为什么是这个定义的一部分。据我所知,这就是本身的定义所在,但相关的留档并没有对此做太多说明。 我认为在
demo 为什么这个动画一直在抖动?
我试着在画布里放一幅画。但就是没有出现。我谷歌了一下,看看哪里出了问题。不幸的是,我还是解决不了。这是我的代码 这是css文件
问题内容: 所以我运行代码,它就开始不正常了。我不熟悉pygame。 代码如下: 这张图片并不是我不能发布视频的那个,但它确实是我的代码的作用 问题答案: 问题是由多次调用 . 在应用程序循环结束时更新显示就足够了。 多次调用or原因 忽隐忽现。 删除对的所有呼叫从你的代码,但调用一次 在应用程序循环结束时: 如果在之后更新显示,将显示在短时间内填充了背景色。然后玩家被抽中 ()显示时,播放器位于