2012-10-15 47 views
3

我想要使用python在(2D)numpy數組中抓取libvlc中的每個視頻幀。 我期望使用vlc.MediaPlayer.video_set_callbacks(...) 與[回調] [1]管理一個numpy數組,但是沒有關於使用回調與python的文檔。如何使用vlc python綁定抓取numpy數組中的視頻幀?

任何想法或替代方法?

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

回答

0

也許看看PyFFmpeg?我不使用這個Python模塊,因此我不知道它的工作原理,但它確實能夠實現您所需的功能。

編輯

OpenCV也值得一試。它可能更穩定。 OpenCV提供不少於兩個python綁定。後來,更好的是cv2與numpy集成。它比舊的cv模塊更容易使用。作爲一個例子,則可以用下面的代碼讀取的視頻幀:

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

每次調用.read將輸出視頻的一個新的幀。

+0

pyffmpeg版本2.0/2.1 /2.2 apha在ubuntu 11.04和12.04下不能編譯(我的操作系統) –

+0

請參閱編輯我的答案。 –

+1

我需要vlc,因爲我的視頻可能來自任何來源:網絡流,火線,文件系統... –

相關問題