如何在 Kivy 中使用视频小部件?

How to use the Video widget in Kivy?

我正在使用 Kivy 的 Video 小部件来显示某个视频文件。我在 Windows 8 x64。以下是开始日志中与视频相关的条目:

[DEBUG             ] [Video       ] Ignored <ffmpeg> (import error)
[DEBUG             ] [Video       ] Ignored <pyglet> (import error)
[INFO              ] [Video       ] Provider: null(['video_ffmpeg', 'video_pyglet'] ignored)

输出显示一个白色方块代替视频。问题是 Kivy 似乎根本不关心视频。即使我使用不存在的 source 参数,它也不会抱怨。

我正在使用 Kivy 1.8.0 和 Python 3.4.1。

首先,您应该考虑升级到 Kivy 1.9.0。我们在这个新版本中添加了大量错误修复和功能。

如日志所示,您没有可用的视频提供程序。 Kivy 将忽略任何视频元素上的源,因为它没有可用于加载视频的提供程序。

让视频正常工作的最简单方法是 use the portable package,其中包含已构建的支持视频的 Kivy 安装。

我们正在努力创建一个包含必要库的轮子,并且可以轻松地安装到 Windows 中现有的 Python 安装中。在那之前,如果你想使用自己的安装,那么你需要在构建和安装 Kivy 时提供 gstreamer 库和 headers。 Kivy 1.9.0 需要 SDL2 库和 headers(我们放弃 pygame 以支持 SDL2)。