Probleme beim Aufzeichnen von Videos von meiner Logitech C920-Webcam

Probleme beim Aufzeichnen von Videos von meiner Logitech C920-Webcam

Ich versuche, ein 1080 @ 30FPS-Video von einer Logitech C920-Webcam aufzunehmen. Einfach, oder? Nun, anscheinend nicht.

Zuerst habe ich es auf meinem Desktop mit 16.04 und der in Ubuntu integrierten Cheese-Anwendung versucht. Die Vorschau läuft einwandfrei mit 30 FPS, aber sobald ich mit der Aufnahme beginne, sinkt die Bildrate drastisch auf wahrscheinlich etwa 15 FPS (ich weiß es nicht genau, da Cheese keine FPS-Anzeige bietet).

Als nächstes habe ich es erneut auf meinem Desktop mit 16.04 versucht guvcview. Leider hat die Version in den Standard-Repos für 16.04, 2.02, eineInsektwas dazu führt, dass das Video als einzelnes Standbild aufgezeichnet wird. Arghh... also habe ich es 2.05von einem inoffiziellen PPA installiert. Dies löste den oben genannten Fehler. Wenn ich jedoch ein Video aufzeichne (mit H.264 vom Hardware-Encoder der Kamera), wird die erste Sekunde des Videos einwandfrei aufgezeichnet, aber dann sinkt die Bildrate auf 3 bis 5 FPS.

Um sicherzugehen, dass es nicht nur ein Problem mit meinem Desktop war, habe ich auf meinem Laptop guvcviewdie Version 2.0518.04 installiert. Aber auch hier ist es so, dass beim Aufzeichnen eines Videos (mit H.264 vom Hardware-Encoder der Kamera) die erste Sekunde des Videos einwandfrei aufgezeichnet wird, danach jedoch die Bildrate auf 3 bis 5 FPS sinkt.

Was zum Teufel ist hier also los? Handelt es sich hier um ein libuvcKompatibilitätsproblem mit der Logitech C920? Ich weiß, dass es nicht an zu schwacher Hardware liegt, da ich in meinem Desktop eine 6-Core-AMD-CPU und in meinem Laptop einen Quad-Core-i7 der 3. Generation habe.

Antwort1

Ich habe herausgefunden, wie es damit funktioniert guvcview.

ich fanddieser BeitragDarin wurde erwähnt, dass das Problem darin bestand, dass guvcviewder Stream von der Kamera neu kodiert wurde. Warum das den schrecklichen Framerate-Abfall verursachte, ist mir ein Rätsel, da meine CPU-Auslastung extrem niedrig war ...

Die Lösung besteht jedenfalls darin, anzuweisen, guvcviewden Rohdatenstrom von der Kamera zu verwenden:

Bildbeschreibung hier eingeben

Bitte beachten Sie, dass das Format, in das das Programm Ihrer Anweisung zufolge neu kodieren soll (oder nicht), völlig unabhängig von dem Format ist, in dem es von der Kamera gestreamt werden soll:

Bildbeschreibung hier eingeben

Außerdem scheint es so, dass ich entweder keine Ahnung habe, wie ich die große Anzahl von H.264-Parametern einstellen soll guvcview, oder dass der Hardware-H.264-Encoder in der Logitech C920 einfach nicht so gut ist. Ich habe einen 1080p30-Clip in MJPEG aufgenommen (was zu etwa 60 Mb/s Daten führte) und ihn mit Veags Pro auf meiner Windows-Box in 10 Mb/s H.264 transkodiert, und das Ergebnis war dem Streaming von der Webcam direkt in H.264, ebenfalls mit 10 Mb/s, weit überlegen.

verwandte Informationen