Virtueller Webcam-Treiber
Möchte ich entwickeln eine virtuelle webcam-Treiber, die von der Benutzer-Modus werde ich gehen Bild und es wird angezeigt als webcam-Ausgabe.
Ich nicht wollen, verwenden Sie DirectX filter und CSourceStream etc. Weil Sie nicht auf einige Programme, die nicht verwendet DirectX für die Aufnahme von webcam-Bild.
Ich zu schreiben, ein kernel-Modus-Gerätetreiber so.
Irgendwelche Ideen? Ich habe versucht, testcap von DDK-Muster, aber es nicht verarbeiten Bild von user mode und bekommt kein input, nur es zeigt 7 Farben in webcam...
Jegliche Hilfe würde sehr geschätzt werden.
Dank
Danke an Euch alle!
Ich habe versucht code von hier:
http://tmhare.mvps.org/downloads.htm (finden-Capture-Quelle-Filter)
Es gut funktioniert, wenn ich es kompiliert in Yahoo, MSN, aber es crashed ZIEL, Internet Explorer mit Flash-Webcam, Firefox Flash webcam und Skype... habe ich Absturz in der QueryInterface nach 8 mal angerufen, ich fand es mit tracing es mit einer Menge tricks..
Weiß ich jetzt, es stürzt ab, am 8. Aufruf
HRESULT CVCamStream::QueryInterface(REFIID riid, void **ppv)
8. rufen Sie, wenn es erreicht den letzten wenn, ich meine:
zurück CSourceStream::QueryInterface(riid, ppv);
Ist es in der 17ten Zeile Filters.cpp
Warum denkst du, ich bin immer Absturz??
Danke Ihnen allen für begleitet mich die richtige Lösung zu finden, die DirectShow Treiber nicht
InformationsquelleAutor der Frage Franklin | 2009-10-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es mehrere APIs von Microsoft, die den Zugriff auf Bilddaten.
DirectShow-spezifischen :
Erstellen Bildaufnahme-Geräte unter windows, musst du entweder ein Gerät (Treiber) implementiert, der streamclasses Schnittstellen (oder neuere Avstream) oder schreiben Sie eine usermode-COM-Objekt, das Hinzugefügt werden, um die VideoInputCategory enumerator.
Den Avstream Beispiel bietet alles für ein echtes image acquisition device. Nur die untere Schicht für das eigentliche Gerät wirklich fehlt.
Wenn Sie können design ein Gerät, sollten Sie entweder DCAM-oder UVC-kompatibel. Für beide gibt es built-in-Treiber von windows gelieferten.
Schreiben wie man eine software-Quelle Gerät :
Erstellen Sie ein DirectShow-filter, die mindestens einen output-pin und registrieren Sie diese unter der VideoInputCategory. Es können mehrere Schnittstellen, die bestimmte Anwendungen erfordern aus eine capture-Anwendung, aber diese hängen von der Anwendung selbst. Einfache Anwendungen zu versuchen, die Filter sind GraphEdit und AMCap, die beliefert werden, die in der Plattform-SDK.
Code :
_InstanceID ist ein GUID für das "virtuelle Gerät" - Eintrag.
InformationsquelleAutor der Antwort Christopher
Können Sie nicht entscheiden, wie andere Programm nennen würden Ihre Fahrer. Die meisten Programme verwenden DirectShow. Einige würden mit dem win3.x-Technologie VFW. Viele neue Programme, einschließlich Windows XP scanner-und Kamera-Assistenten rufen Sie über die WIA-Schnittstelle. Wenn Sie nicht wollen, um alle, die Sie brauchen, um zumindest die DirectShow-Schnittstelle über WDM und lassen vfwwdm32.dll gibt Ihnen einen VFW-Schnittstelle, oder schreiben Sie Ihre eigenen VFW-Treiber.
InformationsquelleAutor der Antwort Sheng Jiang 蒋晟