Frameaufbau von Webcamdaten

Gast #2278219
Hallo!

Ich wollte gern mal wissen, wie der Datenstrom einer handelsüblichen 
USB-Webcam aussieht, also was, außer einer Reihe von Pixeldaten wird 
noch übertragen? Welche Art von Headern gibt es und was steckt da drin?

Wenn ich am Rechner eine bestimmte Auflösung oder einen Farbraum 
einstelle, werden dann nur andere Informationen aus dem Datenstrom 
gepickt oder wird der Webcam selbst mitgeteilt, dass andere Daten 
gesendet werden sollen? Oder sind es immer dieselben Informationen, die 
von der PC-Software nur anders verarbeitet werden?

Wo gibt es eventuell eine übersichtliche Zusammenstellung des 
Frameaufbaus?

Das Programm SnoopyPro zum sniffen der USB-Datenpakete habe ich mir 
schon geladen, aber irgendwie sehen diese, verglichen mit von Wireshark 
gesnifften Netzwerkpaketen viel kryptischer aus. Ich blicke jedenfalls 
nicht wirklich durch. :(
Gast #2278593
TwiTwi schrieb:
> Ich wollte gern mal wissen, wie der Datenstrom einer handelsüblichen
> USB-Webcam aussieht, also was, außer einer Reihe von Pixeldaten wird
> noch übertragen?

Schau ihn dir doch an, zB. mit Wireshark. Oder lies die Spezifikation, 
zu finden auf http://www.usb.org/developers/devclass_docs ganz unten.

> Wenn ich am Rechner eine bestimmte Auflösung oder einen Farbraum
> einstelle, werden dann nur andere Informationen aus dem Datenstrom
> gepickt oder wird der Webcam selbst mitgeteilt, dass andere Daten
> gesendet werden sollen? Oder sind es immer dieselben Informationen, die
> von der PC-Software nur anders verarbeitet werden?

Warum sollte da überhaupt ein Zusammenhang bestehen?
Gast #2278936
Zuerst mal vielen Dank für den Link. Etwas in der Art habe ich gesucht.

Rolf Magnus schrieb:
>> Wenn ich am Rechner eine bestimmte Auflösung oder einen Farbraum
>> einstelle, werden dann nur andere Informationen aus dem Datenstrom
>> gepickt oder wird der Webcam selbst mitgeteilt, dass andere Daten
>> gesendet werden sollen? Oder sind es immer dieselben Informationen, die
>> von der PC-Software nur anders verarbeitet werden?
>
> Warum sollte da überhaupt ein Zusammenhang bestehen?

Ich wollte halt wissen, was passiert, wenn ich ein Kamerabild mit 
verschiedenen Auflösungen darstellen will und über ein Pull-Down-Menü 
der Videosoftware einen entsprechenden Eintrag wie 160x120 oder 640x480 
auswähle. Bleibt der Datenstrom durch den USB-Port derselbe und die 
Software verarbeitet nur die gewünschten Informationen wird eine 
entsprechend andere Forderung an die Kamera gesendet, welche dann eine 
andere Art von Frame sendet?
Ich nehme an, die Antwort steht in den Spezifikationen, werde allerdings 
eine Weile brauchen, die durchzuarbeiten.
Gast #2278961
ich glaube dass USB Kameras  den Datenstrom komprimieren, rechne  mal 
aus was das  unkomprimiert so wäre.  Eben mal so USB Daten von der 
Kamera abgreifen is da nich ...
Gast #2278977
Nachtrag:
Soweit ich weiß, ist Wireshark nur zum mitschneiden von Netzwerk-Paketen 
gedacht. Selbst USB-Netzwerkgeräte sind da (unter Windows) eigentlich 
schon problematisch.
Gast #2278982
@Martin: Komprimiert wird da nichts. Soweit ich bis jetzt verstanden 
habe, werden sogar irgendwelche RAW-Daten transferiert, die erst ins 
RGB-Format umgerechnet werden müssen.
Gast #2279551
Deh Es Peh schrieb:
> Bei allem was deutlich über VGA Auflösung @30fps hinausgeht wird bei USB
> Webcams üblicherweise in MJPEG komprimiert.

Kann durchaus sein und klingt auch vernünftig. Bisher habe ich aber nur 
mit einfachen Billig-Cams gearbeitet, die eine Maximum-Framerate von 
30/s haben. Ich glaube, die sind dann nicht komprimiert. Zumindest habe 
ich in keinem Kamera-Captureing-Programm einen Hinweis auf einen Codec 
gefunden.
Gast #2279621
TwiTwi schrieb:
> Kann durchaus sein und klingt auch vernünftig. Bisher habe ich aber nur
> mit einfachen Billig-Cams gearbeitet, die eine Maximum-Framerate von
> 30/s haben. Ich glaube, die sind dann nicht komprimiert. Zumindest habe
> ich in keinem Kamera-Captureing-Programm einen Hinweis auf einen Codec
> gefunden.
sotwas sollte auch der Treiber erledigen und nicht das 
Kamera-Captureing-Programm.
Gast #2279671
Medi schrieb:
> TwiTwi schrieb:
>> Nachtrag:
>> Soweit ich weiß, ist Wireshark nur zum mitschneiden von Netzwerk-Paketen
>> gedacht. Selbst USB-Netzwerkgeräte sind da (unter Windows) eigentlich
>> schon problematisch.
>
> http://wiki.wireshark.org/CaptureSetup/NetworkMedia

Ah, also geht USB nur unter Linux. Mir war nur mal vor einer Weile 
aufgefallen, daß ich auf einmal in Wireshark auch USB-Ports auswählen 
und deren Kommunikation ansehen konnte.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.