mikrocontroller.net

Forum: PC-Programmierung USB Webcam Daten


Autor: Ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ich habe eine Frage:

schmeißt eine USB Webcam die Daten komprimiert und unkomprimiert raus? 
Wenn schon, dann üblicherweise in welchem Format. DAnke im Voraus

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt beides. Häufiger dürfte aber unkomprimiert sein. Das Format ist 
dann meist RGB oder YUV.

Autor: Düsentrieb (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: SintesiMoe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1000*1000?
Bist du bekloppt?

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Aquila (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aquila wrote:
> würde gern mit Assembler ein Programm schreiben,

Auf einem PC oder einem µC ?

Autor: Aquila (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf dem PC.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Etliche Webcams lassen sich ähnlich einer TV Karte ansprechen:
Beitrag "Video-Capture-Card auslesen"

Autor: Aquila (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Werner A. (homebrew)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab vor ca. 10 Jahren mal die Daten von einer Parallelport Cam 
ausgelesen. Da kamen die noch unkomprimiert als einfache BMP rein...

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Werner A. wrote:
> Ich hab vor ca. 10 Jahren mal die Daten von einer Parallelport Cam
> ausgelesen. Da kamen die noch unkomprimiert als einfache BMP rein...

Da gibts nur ein Problem an deiner Aussage: Es war vor 10 Jahren.

Autor: JojoS (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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/

Autor: Christian (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Christian (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Noch eins.

Autor: Christian (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist meine unfertige Anwendung, die aber ein Bild erzeugtt. Die 
vielen Einstellungen rechts lassen sich auch machen, zB Divx Codierung 
des Streams aber leider noch kein Code hinterlkegt. Ladbares VB6 
Projekt.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.