Pygame.movi​​e丢失

发布于 2021-01-29 17:57:49

我目前正在一个小项目上使用RPi 3B(最新的Raspbian
Jessie),该项目涉及播放简短的.mp4文件。由于Pygame似乎支持播放.mpg文件,因此我将视频转换为该格式。

但是,当我尝试导入movie模块时,出现了常见的python导入错误:

Traceback (most recent call last):
    File "film_app.py", line 3, in <module>
       import pygame.movie
ImportError: No module named movie

经过研究,我发现其他人也遇到了与此处所述相同的问题。我真的不知道是否有解决方案,或者我在RPi上有什么替代方案。

Pygame,python和Raspbian是最新的。

关注者
0
被浏览
27
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    movie 不是的子包 pygame

    像这样使用它:

    movie = pygame.movie.Movie("file.mpg")
    

    但是请注意:

    电影API已弃用,您的pygame很可能不包含此API的任何代码。

    该代码将仅引发NotImplementedError异常。

    遗憾的是,您无法再将pygame用于此类电影。

    Lenard
    Lindstrom在这里对此进行了解释:

    “尽管未正确记录,但pygame.movi​​e模块已被弃用了一段时间,并且默认情况下不再构建。使用ffmpeg将视频文件转换为MPEG1的文档说明已过时。我建立了movie模块,并在此模块上进行了测试。
    32位Linux Mint 17.1(Ubuntu 14.04.2 LTS,Trusty
    Tahr),并在使用avconv(ffmpeg的分支)从MPEG4转换的电影上对其进行了测试;
    pygame出现段错误;还请注意pygame.movi​​e在Windows下是有问题的。

    基于ffmpeg的,更新的,实验性的pygame._movie模块在Linux上从来没有为我工作过。它会锁定。此外,在Linux上,libav现在比ffmpeg更受青睐。此外,它依赖于SDL叠加层,该叠加层在SDL2中消失了。

    附带说明一下,pygame.examples.movi​​eplayer的用途被重新指定为使用pygame._movie而不是pygame.movi​​e。此更改未记录。

    我喜欢Pygame中电影支持的想法。但是pygame.movi​​e使用了过时的smpeg库,而pygame._movie从未完全正常运行。也许可以基于现有的命令行电影播放器​​程序来编写另一个电影模块。”



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看