如何使用vlc python绑定在numpy数组中抓取视频帧?

时间:2012-10-15 15:28:47

标签: python numpy vlc libvlc

我想使用python在(2D)numpy数组中从libvlc获取每个视频帧。 我希望使用vlc.MediaPlayer.video_set_callbacks(...) [callbacks] [1]管理一个numpy数组,但是没有关于使用回调和python 的文档。

任何想法或其他方式?

[1]:用vlc.cb.VideoLockCb和它的朋友

装饰

1 个答案:

答案 0 :(得分:0)

也许看看PyFFmpeg?我不使用这个python模块,因此我不知道它的工作情况有多好,但它确实会使你需要的功能得到充分发挥。

修改

OpenCV也值得一试。它可能更稳定。 OpenCV提供不少于两个python绑定。后者,更好的一个是cv2与numpy集成。它比旧的cv模块更容易使用。例如,您可以使用以下代码阅读视频帧:

import cv2
filename = 'myfile.mpg'
capture = cv2.VideoCapture(filename)
retval, im = capture.read()

每次拨打.read都会输出一个新的视频帧。