wie kann ich die openCV und FFMPEG-video-I/O-eher als die DirectShow man in Windows?

So, ich bin versucht zu schreiben, ein video mit der openCV videoWriter als solche:

writer=cv.CreateVideoWriter(path+"test_output.avi",-1,fps,(W,H),1)

Also statt der Lieferung des FOURCC lieferte ich -1 um zu sehen, welche codecs habe ich zur Verfügung.
Ergebnis war Microsoft RLE, Microsoft Video 1, Intel YUV und Unkomprimiert.

Der Grund ist, dass bei der Konfiguration von openCV mit CMAKE für Visual Studio 10 x64, dies ist, was ich in den video i/o:
Video-I/O: DirectShow

Gibt es eine Möglichkeit, diesen Schalter zu FFMPEG? Ich weiß, das ffmpeg dll vorhanden ist in \3dparty\ffmpeg.
Ich sah für Cmake FFMPEG-flags, fand aber keinen. Die seltsame Sache ist, in der CmakeLists.txt in der opencv-root unter der video-Sektion:

if(UNIX AND NOT APPLE)
<FFMPEG stuff>
elseif(WIN32)
    status("  Video I/O:"        HAVE_VIDEOINPUT     THEN DirectShow ELSE NO)
endif()

Scheint es mir So, dass opencv automatisch auf DirectShow und gibt keine Wahl, der mit FFMpeg.
Oder eher kann man das upgrade Driectshow zur Unterstützung anderer Formate wie Divx oder h264?
Irgendwelche Ideen?

InformationsquelleAutor octi | 2012-02-22
Schreibe einen Kommentar