Aktivieren der hochauflösenden Aufnahme von einer Webkamera


15

Ich experimentiere mit dem Pi für Web-Cam-Streaming und Bewegungserkennung mit der motionApp. Beim Versuch, einige verschiedene Webkameras und Kombinationen mit anderer Hardware zu verwenden, habe ich eine Kombination gefunden, die perfekt stabil ist (siehe unten). Ich bekomme es jedoch nur mit einer Auflösung von 352x288 zum Laufen. Ich möchte mehr von der Auflösung nutzen, die die 720p-Webkamera kann. Ich habe versucht, 640x480, 640x360 und 1280x720, aber sie funktionieren nicht (kann motiondie Kamera nicht initialisieren). Der Pi verfügt über 256 MB Speicher, der ausreichend sein sollte, um die hohen Auflösungen zu unterstützen. Zum Beispiel motionlistet die Speichernutzung bei 1,8MB für die Auflösung von 1280x720.

Irgendwelche Tipps, wie man eine höhere Auflösung aktiviert?

Stabil:

  • Logitech C310h USB 2.0 HD-Webcam, UVC-Kamera (046d: 081b)
  • 352 x 288, YUYV-Palette
  • Angetrieben durch iPad Ladegerät
  • Webcam an unteren USB-Port angeschlossen
  • nichts an oberen USB-Port angeschlossen
  • verkabeltes Netzwerk verbunden
  • Motion ausführen 3.2.12.
  • OS: 2012-09-18-wheezy-raspbian.img
  • nur zu motion.conf wechseln: Auflösung auf 352x288 einstellen

Edit: Ich habe gefunden , da , dass das Setup ich zur Zeit mit mit MJPG-Streamer nicht vollständig stabil ist, so gibt es eine Chance , dass das Setup oben beschrieben nicht vollständig stabil , sondern nur mehr stabil , da sie eine geringere Auflösung verwendet.

Edit 2 (21.04.13): Es ist seit einiger Zeit bekannt, dass USB auf dem Raspberry Pi nicht stabil ist und Probleme mit vielen Webkameras und WLAN-Dongles verursacht. Die Stiftung arbeitet aktiv daran und in letzter Zeit wurden gute Fortschritte erzielt. Über rpi-update ist ein Update verfügbar, das viele Probleme behebt. Den USB Redux-Thread finden Sie im Raspberry Pi-Forum .

Antworten:


4

Haben Sie versucht, die Webcam an einen USB-Hub mit eigener Stromversorgung anzuschließen? Einige Geräte benötigen mehr Strom, als der Raspberry Pi liefern kann, und können sich unregelmäßig verhalten, wenn sie an die integrierten USB-Anschlüsse angeschlossen werden.


Danke für die Antwort. Ich hatte keinen Hub mit Stromversorgung zum Testen, aber es schien mir unwahrscheinlich, dass ein Stromversorgungsproblem dazu führen würde, dass er bei niedriger Auflösung vollständig stabil ist und bei hoher Auflösung überhaupt nicht funktioniert.
Roger Dahl

4

Die Auflösungsbeschränkung verschwand, als ich von motionzu wechselte MJPG-streamer. MJPG-streamerStreams 1280 x 720 mit 5 fps. Mit 3 Computern, die an den Stream angeschlossen sind, beträgt die CPU-Auslastung nur etwa 10%. Der Nachteil bei MJPG-streamerist, dass es keine Bewegungserkennung hat.

Diese Lösung ist jedoch nicht vollständig stabil. Ich muss das RPi alle paar Tage neu starten.


3

Zunächst habe ich eine logitech c270-Motion-Anwendung verwendet. Ich streame den Feed nicht über das Netzwerk, sondern kopiere die Bilder auf die Festplatte (maximale Auflösung 1280x960).

MJPEG funktioniert bei mir nicht, deshalb bin ich bei YUVU festgefahren.

Ich glaube, es ist sehr schwierig, die richtige Auflösung zu finden, bei der ich schon seit einiger Zeit mit 352 x 288 feststeckte, bis ich feststellte, dass ich auch eine Auflösung von 960 x 720 verwenden kann. Mit dieser Auflösung bekomme ich ca. 2 fps. (hält den Speicherbedarf gering ;-)).

v4l2-ctl --list-formats-ext : soll Ihnen eine Vorstellung von den Formaten geben, die Sie verwenden können.

Die Bewegungsdatei verwendet eine maximale Auflösung, eine Maske und macht jede Sekunde Schnappschüsse. Der motiondect verlässt sich nur auf die Erkennung, um Bilder aufzunehmen.

Ich habe ein schwarzes PGM erstellt, um die Bewegungserkennung zum ersten Mal vollständig zu deaktivieren und nur jede Sekunde Bilder aufzunehmen.

https://dl.dropbox.com/u/19023009/motion.zip

Zum laufen benutze ich bewegung nohup sudo motion > logfile.txt &

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.