python模块ffpyplayer向屏幕显示或显示视频帧

时间:2016-07-02 20:11:18

标签: python python-2.7 video ffmpeg

使用python模块ffpyplayer,如何查看帧或获取img对象以显示或向屏幕显示视频图像/帧?在我所遵循的教程中,它看起来非常简单,它读取帧和播放oudio但(不显示)任何视频图像或帧到屏幕,只有我添加(打印图像,t)将帧信息打印到屏幕,但屏幕上不显示视频图像。

我正在关注以下教程:https://pypi.python.org/pypi/ffpyplayer,此处:http://matham.github.io/ffpyplayer/player.html,并搜索谷歌,但唯一相关的结果指向相同的信息,我对编程和python有点新,所以也许我遗漏了一些似乎非常简单的东西,但我自己也无法弄明白。

我正在使用:windows 7 64bit,python 2.7.11 32bit。

非常感谢任何帮助。

from ffpyplayer.player import MediaPlayer

vid = 'test_video.flv'
player = MediaPlayer(vid)
val = ''
while val != 'eof':
    frame, val = player.get_frame()
    if val != 'eof' and frame is not None:
        img, t = frame
        print img, t     #This prints the image object
        # display img    #This does nothing!

1 个答案:

答案 0 :(得分:0)

Kivy已经为你提供了基于ffpyplayer的视频播放器 它还具有为您设置必要的线程,处理按钮,文件读取,音频和时间 查看此页面: https://kivy.org/docs/api-kivy.uix.videoplayer.html

要安装kivy: https://kivy.org/docs/installation/installation.html

然后您可能希望查看以下代码:

  

<< python_path>> \ lib \ site-packages \ kivy \ uix \ videoplayer.py

这个例子可能相当复杂,所以你也可以看看这个网址:
How to play videos from the web like youtube in kivy

最后,如果Kivy抱怨你只有opengl 1.1(就像发生在我身上一样),你可以尝试在你的代码中添加以下几行:

  

来自kivy.config导入配置
  Config.set('graphics','multisamples','0')

这些问题解决了我。