Я пытаюсь анимировать контурный сюжет matplotlib с помощью moviepy. Я доволен индивидуальными рамками производства matplotlib. Но получающееся видео имеет гораздо более низкое разрешение, до такой степени, что метки и аннотации сложно читать. Это не проблема, с которой у меня были предыдущие анимации moviepy из рисунков matplotlib или любые другие примеры, приведенные в документации moviepy.
Код, который я использую, довольно точно повторяет примеры в документации moviepy:
import matplotlib.pyplot as plt
import moviepy.editor as mpy
from moviepy.video.io.bindings import mplfig_to_npimage
duration = 20
def make_frame(t):
i = np.int32(model.time_steps * t / duration)
fig, ax = model.plot_frame(i)
frame = mplfig_to_npimage(fig)
plt.close('all')
return frame
animation = mpy.VideoClip(make_frame, duration=duration)
animation.write_videofile("movie.mp4", fps=24, codec='libx264')
model
- это мой собственный класс, который содержит все данные для рендеринга.
Я знаю, что рендеринг всей фигуры и ее закрытие каждый раз неуклюже - есть некоторые другие проблемы, которыесделайте это хитрым, чтобы избежать в минуту, и это еще дальше в списке вещей для улучшения.
Я предполагаю, что мне может понадобиться передать дополнительные аргументы ffmpeg
в animation.write_videofile
? Но я в настоящее время озадачен и был бы признателен за любые указатели, которые кто-либо может иметь?
Приветствия,