如何用pygame播放视频?

5 投票
1 回答
2949 浏览
提问于 2025-04-16 19:50

我想用Pygame来播放一些mpg格式的视频,作为我角色扮演游戏的开场动画。但是它没有成功。我查阅了Pygame的文档,上面说视频支持目前不太稳定,建议我使用pymedia。不过我自己对pymedia完全搞不懂。那么,有没有其他方法可以在Pygame中播放视频呢?

1 个回答

3

(我决定冒险把这个当作答案发出来,而不是评论。)

我找到的三个“希望之星”用于Python视频编辑/处理的工具是PyMedia(我放弃了这个),PyGame(可能能满足你的需求,但没有满足我的)和pyffmpeg(这个很有前途,但依赖Cython,而我在我的系统上无法让Cython工作)。

大多数成熟的视频编辑或处理应用程序(无论是商业软件还是开源软件)都以某种方式使用FFmpeg库。例如,PyMedia就包含了一个修改过的libav*库版本。即使是很多商业工具也在违反FFmpeg许可证的情况下使用这些库。

FFmpeg是用C语言实现的,默认情况下没有其他语言的接口。学习libav*库的API可不是一件简单的事(没有直接的文档,只能看源代码、示例和常见问题解答),但据我了解,FFmpeg基本上就是“现实世界”中视频处理的标准。

所以,如果你找不到一个现成的Python解决方案来满足你的需求,你可以使用SWIG或其他接口生成器来包装FFmpeg库,作为一个起点。如果我有时间,我打算将来自己做这个。

撰写回答