USB Webcam Daten

Gast #892554
Lesenswert?

Häufiger dürfte aber komprimiert sein!
leider legt zb creative das format der kompression nicht offen, dh es 
geht nur mit deren treiber unter windoof.
is wohl irgendeine mpeg4 variante...
Gast #892869
Lesenswert?

Weil wenn sie unkomprimiert ist reicht doch die Geschwindigkeit von USB 
gar nicht aus:
typische werte sind ja 30 fps bei 24 bit Farbtiefe und sagen wir bei so 
einer Auflösung von ca 1000*1000 (einfachheitshalber)

ich habe jetzt keinen Taschenrechner bei mir aber ich hab das schon mal 
ausgerechnet und da würden ja 480 Mbit/s überhaupt nicht ausreichen
#892909
Lesenswert?

Ich wrote:
> Weil wenn sie unkomprimiert ist reicht doch die Geschwindigkeit von USB
> gar nicht aus:

Bleiben wir mal bei der Realität:
Viele Kameras können nur 640x480, 15fps, YUV4:2:2
Also 640x480*15*2=9,2MByte/s=73MBit/s. Schafft USB High Speed 
problemlos.

Neuere Cams haben häufiger eine Komprimierung, ältere aber eher selten.
Gast #903137
Lesenswert?

Hi Leute,
ich würde gern wissen, wie man überhaupt an die Daten einer Webcam 
rankommt. Ich habe eine Webcam mit usb-Anschluss und würde gern mit 
Assembler ein Programm schreiben, das zum Beispiel ein Bild von meiner 
Webcam empfängt und dieses als Bitmap speichert. Wäre cool, wenn ihr mir 
helfen könntet.
Gast #903252
Lesenswert?

In dem Beitrag ist die Rede von DirectX oder DirectShow. Damit kenne ich 
mich nicht aus.
Wahrscheinlich stelle es ich mir zu einfach vor, aber ist es nicht 
möglich mit einer (vielleicht kurzen) Assembler-Sequenz und vielleicht 
einen bestimmten Assembler (ich benutzen MASM) auf die Daten 
zuzugreifen?
Es wären schön, wenn mir jemand sagen könnte, wie die Assembler-Sequenz 
aussehen könnte (Code-Bsp.) oder mir sagen könnte, wo ich die nötigen 
Befehle finden kann.
#903471
Lesenswert?

Du suchst den Assembler-Befehl für "Frame von USB-Kamera abholen und in 
den Speicher legen"? Sorry, den gibt es nicht.

Du musst rausfinden, was für einen Treiber deine Kamera hat (VFW oder 
DirectShow oder Twain oder Herstellereigen) und diesen dann ansprechen.

Das kann man zwar sicher auch in ASM machen, aber du wärst 
wahrscheinlich der erste der sich das antut. Folglich wirds da auch kaum 
fertige ASM-Codeschnippsel ("Schnippsel"? Eher Romane...) für geben.

Tu dir selbst einen Gefallen, und mach das in C oder C++. Da gibts 
fertigen Beispielcode, und du setzt deine geistige Gesundheit nicht aufs 
Spiel...

Wenn dann immer noch was schneller werden soll, kannst du ja inline-asm 
dazupacken.
Gast #903603
Lesenswert?

da könnte ich mal wieder einen Beitrag de c't empfehlen (nein, ich 
arbeite nicht bei Heise): in Heft 13/2008 gehts um Gesichtserkennung. 
Dazu wird die IVT Libraray der Uni Karlsruhe verwendent, die kapselt die 
verschiedenen Treiber in einer C/C++ Lib und stellt auch 
Umwandlungsfunktionen für verschiedene Videoformate bereit. Weitere 
Infos gibts hier: http://ivt.sourceforge.net/
Gast #903719
Lesenswert?

Hallo,

das ist normalerweise nicht möglich, da die Webcam Treiber keine 
Freeware sind und damit nicht zugänglich.  Man kann es mit VFW versuchen 
(Video for Windows), das API ist dokumentiert und ich habe damit in VB 
Bilder aus der Kamera bekommen.

Anbei das Zip File, allerdings VB.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren