有没有办法在没有 ffmpeg 的情况下使用移动图?
import matplotlib.animation as animation
from IPython.display import HTML
fig, ax = plt.subplots(figsize=(15, 8))
animator = animation.FuncAnimation(fig, draw_barchart, frames=range(1968, 2019))
HTML(animator.to_jshtml())
animator.save('dynamic_images.mp4')
Run Code Online (Sandbox Code Playgroud)
我的代码在上面,我收到了关键错误.mp4', ValueError: unknown file extension: .mp4
我尝试安装conda install -c conda-forge ffmpeg最终出现 SSL 问题
有没有办法在没有 ffmpeg 的情况下使用移动图
就像抛出错误一样,有什么方法可以使用 'matplotlib.animation.PillowWriter'
免责声明:我浏览了该链接,https://www.wikihow.com/Install-FFmpeg-on-Windows但该 URL 被 IT 团队阻止
.gif您可以像使用库一样保存动画情节celluloid :
from matplotlib import pyplot as plt
from celluloid import Camera
import numpy as np
# create figure object
fig = plt.figure()
# load axis box
ax = plt.axes()
# set axis limit
ax.set_ylim(0, 1)
ax.set_xlim(0, 10)
camera = Camera(fig)
for i in range(10):
ax.scatter(i, np.random.random())
plt.pause(0.1)
camera.snap()
animation = camera.animate()
animation.save('animation.gif', writer='PillowWriter', fps=2)
Run Code Online (Sandbox Code Playgroud)
输出:
这是我对 SO 的第一个回答,所以请保持温和。
上面的答案似乎是个好主意,但它没有回答为什么 matplotlib 内置方法不起作用,所以我决定添加一些解释。
这可能是重复的(可能是重复的?)。
问题是您缺少 ffmpeg。
如果您使用 conda 作为管理器,请安装缺少的软件包。
你也可以使用 apt、dnf、pacman 或其他你正在使用的工具来做到这一点。
如果您使用的是 conda:
conda install -c conda-forge ffmpeg
anaconda.org 上的 ffmpeg
您可能会错过另一个依赖项,即Openh264.
再次使用conda:
conda install -c conda-forge openh264
anaconda.org 上的 Openh264
如果您仍然缺少更多依赖项,解决它们将取决于您使用的平台。
如果您使用的是 Windows,我建议您尝试使用 miniconda。
就我而言,在使用 conda(我的平台是/是 Fedora)安装 openh264 后,我仍然遇到问题,因为调用的是已安装的 liblibopenh264.so.6而不是libopenh264.so.5.
无论如何,我决定尝试一下,并创建了一个指向以6同一目录 ( /lib64/)结尾的版本的符号链接,并且成功了。
| 归档时间: |
|
| 查看次数: |
18070 次 |
| 最近记录: |