如何使用pygame播放视频?

5

我正在尝试让Pygame播放一些mpg视频用作我的RPG介绍。但是它并没有起作用。我已经阅读了Pygame文档,它说视频支持目前不太稳定,建议使用pymedia。但是我个人无法理解pymedia。那么有没有任何方法可以使用Pygame播放视频呢?


我发现在pymedia.org上发布的视频录制示例程序与最新的pymedia CVS快照不兼容。所以我理解你为什么对该API感到沮丧。如果你有兴趣,你可以自己获取ffmpeg和SWIG并进行操作。 - wberry
难道没有其他第三方的 Python 媒体库吗? - ApprenticeHacker
pymedia、pyffmpeg和pygame是我发现的仅有的几个适合Python视频开发的“好工具”候选者。我对pymedia感到沮丧。pyffmpeg看起来很棒,但它依赖于Cython,而我无法在我的系统上使其正常工作。PyGame支持视频播放,但我需要更多不仅仅是简单的播放功能。 - wberry
Bink曾经是游戏行业的行业标准。不确定它是否支持Python =/ http://www.radgametools.com/bnkmain.htm - Jonathan
1个回答

3

我决定冒险将此作为答案发布,而不是评论。

我发现Python中有三个“有希望”的视频编辑/处理候选者,它们分别是PyMedia(我放弃了),PyGame(可能满足您的需求,但不能满足我的需求)和pyffmpeg(非常有前途,但依赖于Cython,我无法在我的系统上让Cython工作)。

目前市面上大多数成熟的视频编辑或处理应用程序(商业或开源)都以某种方式使用FFmpeg库。例如,PyMedia包括修改版的libav *库。即使许多商业工具也违反了FFmpeg许可证并使用这些库。

FFmpeg是用C实现的,并且没有“开箱即用”的其他语言钩子。学习libav *库的API并不是一件轻松的事情(没有提供直接的文档,只需阅读源代码、示例和常见问题解答),但据我所知,FFmpeg基本上就是“真实世界”中处理视频的方式。

因此,如果您找不到符合您需求的Python开箱即用解决方案,您可以使用SWIG或另一个接口生成器将原始的FFmpeg库封装为起点。如果我有时间,我自己也打算这样做。


希望我能够直接从C语言中学习FFMpeg,这对我可能会有所帮助,但不幸的是,在我的Python游戏中暂时看不到它的使用,除非有一些好的绑定被开发出来。谢谢!我也需要一个好的C/C++视频库,所以你的答案为我省去了另一个问题。:D - ApprenticeHacker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接