Bilddaten von Videodevice capturen



  • Eigentlich habe ich die Frage schon mal gestellt, nur irgend wie finde ich das Posting nicht wieder.

    Ich bin auf der suche nach einem _einfachen_ Beispiel, das demonstriert, wie man Einzelbilder von einem Videodevice capturen kann. Google hat zwar schon einige Beispiele ausgespuckt, nur versacke ich da immer in einem Sumpf von nicht auflösbaren Abhängigkeiten bzw. Inkompatibilitäten. Da werden dann trotz vorhandenem Plattform-SDK Includes nicht gefunden oder Datentypen sind trotz gefundener Includes nicht definiert oder COM-Interfaces sind unbekannt.

    Deswegen: hat jemand einen heißen Tipp für ein passendes und funktionierendes Beispiel?

    Danke 🙂



  • Nanu, ist das wirklich so ein großes Problem dass keiner was weiß?



  • OK, ich fasse für die Nachwelt einfach mal zusammen, was ich heraus bekommen habe. Faktisch gibt es ein paar nette Capture-Beispiele speziell bei Codeproject. Um diese aber zum laufen zu bekommen, benötigt man

    - das PlatformSDK (da DirectDraw dort hinein gewandert ist)
    - das DirectX SDK (Download >500 MBytes)
    - der im PlatformSDK unter DirectDraw enthaltene Code muss compiliert werden, Makefiles sind vorhanden, mit welchem Compiler das funktionieren soll, ist nicht zu erkennen - der vom VC-Studio tut jedenfalls nicht
    - diverse Headerfiles müssen zusätzlich eingebunden werden, da auf Grund der Trennung von DirectDraw aus DirectX Teile von relevanten Definitionen gewandert sind

    Der Ganze spaß hat mich jetzt >2 Tage Arbeit gekostet, mit dem Ergebnis, dass ich jetzt über nicht aufgelöste Abhängigkeiten zu irgend welchen undokumentierten DCOM-Interfaces stolpere.

    An der Stelle habe ich den Dreck hingeschmissen. Wenn eine so simple Aufgabe so kompliziert ist, dann gibt es für den Windows-Port meiner Applikation eben keinen Support für Videodevices (das ist in dem Fall auch egal, da die Windows-Portierung nur ein Gimmick am Rande ist).



  • mit welchem Compiler das funktionieren soll, ist nicht zu erkennen - der vom VC-Studio tut jedenfalls nicht

    Mit dem SDK Compiler natürlich.
    Normalerweise installiert das SDK auch schöne Start-Menu Einträge, über die man eine Command-Shell mit passender Build-Umgebung bekommt. Dort braucht man dann nurmehr in das entsprechende Verzeichnis zu wechseln, und "make" eintippen...
    Wirklich sehr kompliziert.

    Davon abgesehen sind normalerweise Visual-Studio Solution Files dabei, die man auch verwenden kann um die Projekte zu bauen.



  • Danke für den Klugschiss, aber es geht nicht um das DirectX SDK sondern um das Plattform-SDK. Da kann man zwar auch wunderschön eine Konsole aufmachen, nur funktioniert der Buildprozess deswegen auch noch nicht.



  • Dann bist du zu dumm es richtig zu installieren.
    Pfosten.

    WAS willst denn überhaupt compilieren? Die DirectShow "base-classes"?

    BTW: Fehlermeldungen posten, bzw. eine Beschreibung von dem was man schon probiert hat ist natürlich vollkommen überflüssig, und jeder der ein wenig Hirn im Kopf hat wird natürlich auch darauf verzichten. Vollkommen klar. Gut dass du das wenigstens schonmal verstanden hast.



  • Sorry, aber das ist reine Klugscheißerei: VORHER warst du nicht in der Lage, auch nur eine einzige hilfreiche Zeile zu meiner Frage zu hinterlassen. HINTERHER bist du aber um so schneller mit Vorwürfen und Beleidigungen.

    Scheint als gibst du hier den Forentroll!?



  • Beruhig dich mal. Hustbaer hat schon Recht.
    Poste mal die Fehlermeldungen, dann kann man dir helfen.

    Von "Dreck" zu sprechen, der "nicht funktioniert", ist nicht wirklich hilfreich für den Problemfindungsprozess.
    Sag uns, was der Platform-SDK-Compiler meckert und wir kommen der Sache näher.



  • Unabhängig von dem Problem welches hier offenbar mit dem Plattform SDK besteht möchte ich auf die "VideoInput" Bibliothek verweißen.

    http://opencv.willowgarage.com/wiki/DirectShow (Im Bereich "Library providing simple frame grab interface:")

    Die Bibliothek ist wirklich einfach zu benutzen und hat relativ wenig Abhängigkeiten - ließ sich sogar ohne Probleme mit MingW kompilieren.



  • Eigentlich müssten hier auch mal die Links zum PlatformSDK ersetzt werden:
    Das "Windows SDK" ist der Nachfolger des PlatformSDKs.

    (Die DirectShow BaseClasses lassen sich bei mir nach Installation des DirectX SDKs problemlos über die WindowsSDK-Commandline sowie über Visual Studio kompilieren...)


Anmelden zum Antworten