嘗試了很多選項,並且用盡了想法。我希望這裏有人能夠提供幫助。我正在嘗試在python中編寫一些代碼,用於從視頻(.avi或.wmv)中提取幀(比如說每十幀)並創建一張圖片(.jpg最好 - 但其他格式可以)。我沒有成功,並想知道是否有人可以幫助我解決我的問題,提供替代我嘗試和失敗的方法。使用python將視頻轉換爲圖片的問題2.7
我已經試過PyMedia(在他們的教程中的例子http://pymedia.org/tut/src/dump_video.py.html不起作用 - 程序炸彈出來的時候,它看起來的視頻編解碼器):
#dm= muxer.Demuxer(inFile.split('.')[ -1 ]) This line does not work
dm= muxer.Demuxer('avi') #This modified line does seem to work however
i= 1
inFile = "VideoTest.avi"
f= open(inFile, 'rb')
s= f.read(400000)
r= dm.parse(s)
v= filter(lambda x: x[ 'type' ]== muxer.CODEC_TYPE_VIDEO, dm.streams)
v_id= v[ 0 ][ 'index' ]
print 'Assume video stream at %d index: ' % v_id
c= vcodec.Decoder(dm.streams[ v_id ]) #this is the point where it crashes.
我已經試過V2.2的OpenCV的Python但也不工作(我可以讓大部分的OpenCV工作 - 除了一個函數CaptureFromFile,我需要的不工作)。我相信這個函數不起作用的原因是因爲在Windows上它需要highGui來操作,並且由於某種原因,python和opencv無法找到highgui,儘管它在正確的目錄中。我也理解OpenCV在尋找和應用正確的視頻編解碼器方面存在問題,因此我不確定哪個是我的問題的原因。
我已經看過pyFFMPEG,但最後的版本是2.6版,我正在運行python 2.7。
我在Windows Vista和Windows 7機器上運行這個,在C:\下安裝Python 2.7和OpenCV 2.2,並且在C:\ python27 \ Libs \下安裝了所有其他python軟件包(pygames,pymedia,numpy,scipy)站點包...」我下載和安裝可執行文件,所有的包建爲Python 2.7。我的PATH變量包含Python27和OpenCV,我有一個PYTHONPATH變量。
感謝您的任何意見或建議。