Перепробовал много вариантов и у меня заканчиваются идеи.Я надеялся, что кто-то здесь может помочь.Я пытаюсь написать некоторый код на python, который будет извлекать кадры (скажем, каждый десятый кадр) из видео (.avi или .wmv) и создавать картинку (желательно .jpg - но подойдут другие форматы).У меня не было успеха, и мне было интересно, может ли кто-нибудь помочь мне в решении моей проблемы, предоставив альтернативу тому, что я попробовал и потерпел неудачу.
Я пробовал 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.
У меня естьпробовал OpenCV v2.2 для Python, но это тоже не работает (я могу заставить работать большинство OpenCV - за исключением одной нужной мне функции CaptureFromFile, которая не работает).Я полагаю, что причина, по которой эта функция не работает, в том, что в Windows ей требуется highGui для работы, и по некоторым причинам python и opencv не могут найти highgui, даже если она находится в правильном каталоге.Я также понимаю, что у OpenCV есть проблемы с поиском и применением правильных видеокодеков, поэтому я не уверен, что является причиной моей проблемы.
Я посмотрел на pyFFMPEG, но последней версией для этого была версия 2.6, и я использую python 2.7.
Я использую его на компьютерах с Windows Vista и Windows 7, имею Python 2.7 и OpenCV2.2 загружен на C: \ и все другие пакеты python (pygames, pymedia, numpy, scipy), установленные в C: \ python27 \ Libs \ site-packages ... "Я скачал и установил из исполняемых файлов, все пакеты были собраны для python 2.7Моя переменная Path содержит Python27 и OpenCV, и у меня есть переменная PYTHONPATH.
Спасибо за любые идеи или рекомендации.