mit Bewegung auf raspberry pi-webcam-streaming-Problem
Ich habe eine USB webcam (unbekannt machen, keine Markierungen) ist erkannt worden gut auf meinem Raspberry Pi.
Dies ist die Ausgabe von lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 0c45:608f Microdia PC Camera (SN9C103 + OV7630)
Bus 001 Device 005: ID 1267:0103 Logic3 /SpectraVideo plc G-720 Keyboard
Aber wenn ich die motion, die Verwendung von /dev/video0 mit der default-config verändert, die Auflösung und die Einstellung der webcam-host aus, so dass ich kann streamen über ein Netzwerk.
Dies ist mein log, wenn ich motion
Log of motion -n
[0] Processing thread 0 - config file /etc/motion/motion.conf
[0] Motion 3.2.12 Started
[0] ffmpeg LIBAVCODEC_BUILD 3482368 LIBAVFORMAT_BUILD 3478784
[0] Thread 1 is from /etc/motion/motion.conf
[0] motion-httpd/3.2.12 running, accepting connections
[0] motion-httpd: waiting for data on port TCP 8080
[1] Thread 1 started
[1] cap.driver: "sonixb"
[1] cap.card: "USB camera"
[1] cap.bus_info: "usb-bcm2708_usb-1.2"
[1] cap.capabilities=0x05000001
[1] - VIDEO_CAPTURE
[1] - READWRITE
[1] - STREAMING
[1] Config palette index 8 (YU12) doesn't work.
[1] Supported palettes:
[1] 0: S910 (S910)
[1] 1: BA81 (BA81)
[1] Selected palette BA81
[1] Test palette BA81 (480x640)
[1] Adjusting resolution from 480x640 to 160x120.
[1] Using palette BA81 (160x120) bytesperlines 160 sizeimage 19200 colorspace 00000008
[1] found control 0x00980900, "Brightness", range 0,255
[1] "Brightness", default 127, current 127
[1] found control 0x00980911, "Exposure", range 0,1023
[1] "Exposure", default 66, current 66
[1] found control 0x00980912, "Automatic Gain (and Exposure)", range 0,1
[1] "Automatic Gain (and Exposure)", default 1, current 1
[1] found control 0x00980913, "Gain", range 0,255
[1] "Gain", default 127, current 127
[1] mmap information:
[1] frames=4
[1] 0 length=20480
[1] 1 length=20480
[1] 2 length=20480
[1] 3 length=20480
[1] Using V4L2
[1] Resizing pre_capture buffer to 1 items
[1] v4l2_next: VIDIOC_DQBUF: EIO (s->pframe 0): Input/output error
[1] v4l2_next: VIDIOC_QBUF: Invalid argument
[1] v4l2_next: VIDIOC_QBUF: Invalid argument
[1] v4l2_next: VIDIOC_QBUF: Invalid argument
[1] v4l2_next: VIDIOC_QBUF: Invalid argument
[1] Error capturing first image
[1] Started stream webcam server in port 8081
[1] v4l2_next: VIDIOC_QBUF: Invalid argument
[1] Video device fatal error - Closing video device
[1] Closing video device /dev/video0
[1] Retrying until successful connection with camera
[1] cap.driver: "sonixb"
[1] cap.card: "USB camera"
[1] cap.bus_info: "usb-bcm2708_usb-1.2"
[1] cap.capabilities=0x05000001
[1] - VIDEO_CAPTURE
[1] - READWRITE
[1] - STREAMING
[1] Config palette index 8 (YU12) doesn't work.
[1] Supported palettes:
[1] 0: S910 (S910)
[1] 1: BA81 (BA81)
[1] Selected palette BA81
[1] Test palette BA81 (480x640)
[1] Adjusting resolution from 480x640 to 160x120.
[1] Using palette BA81 (160x120) bytesperlines 160 sizeimage 19200 colorspace 00000008
[1] found control 0x00980900, "Brightness", range 0,255
[1] "Brightness", default 127, current 127
[1] found control 0x00980911, "Exposure", range 0,1023
[1] "Exposure", default 66, current 66
[1] found control 0x00980912, "Automatic Gain (and Exposure)", range 0,1
[1] "Automatic Gain (and Exposure)", default 1, current 1
[1] found control 0x00980913, "Gain", range 0,255
[1] "Gain", default 127, current 127
[1] mmap information:
[1] frames=4
[1] 0 length=20480
[1] 1 length=20480
[1] 2 length=20480
[1] 3 length=20480
[1] Using V4L2
[1] Camera has finally become available
[1] Camera image has different width and height from what is in the config file. You should fix that
[1] Restarting Motion thread to reinitialize all image buffers to new picture dimensions
[1] Thread exiting
[1] Calling vid_close() from motion_cleanup
[1] Closing video device /dev/video0
[0] Motion thread 1 restart
[1] Thread 1 started
[1] config image height (120) is not modulo 16
[1] Could not fetch initial image from camera
[1] Motion continues using width and height from config file(s)
[1] Resizing pre_capture buffer to 1 items
[1] Started stream webcam server in port 8081
[1] Retrying until successful connection with camera
[1] config image height (120) is not modulo 16
[0] httpd - Finishing
[0] httpd Closing
[0] httpd thread exit
[1] Thread exiting
[0] Motion terminating
Licht auf die Kamera kommt auf beim start und geht dann wieder aus, hat jemand erkennen alle die Fehler, die ich bekommen hab?
Dank!
- meine webcam ist kompatibel mit l4v2, und ich habe versucht, andere video-Eingang Methoden wie fswebcam. Immer noch ohne Erfolg. Eine Sache habe ich nicht versucht, ist mit einem powered usb-hub, derzeit bin ich nur benutze es direkt von der platine mit 700mA, es kann nicht ausreichen, um meine webcam.
- Durch wiederholen mehrere Male mit meiner usb-Tastatur und hdmi-Kabel getrennt, ich bin in der Lage zu bekommen motion paar Bilder zu machen, bevor er mit einem Eingabe-Ausgabe-Fehler. Alle Bilder, die sah aus wie diese - s7.postimage.org/mjb0z2wwn/01_20130115174957_01.jpg Daher werde ich davon ausgehen, dass ich mehr Leistung und bin zu kaufen, eine powered-usb-hub und probieren
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, Sie brauchen, um die Höhe und Breite für das Bild in der conf Datei auf Ihre Kamera-Spezifikation. Mir hat nicht funktioniert, bis ich Höhe 640 Breite 480. Streams toll! Wir müssen nur herausfinden, den patch für die webstream-Authentifizierung. derzeit habe ich das streaming auf meinen webserver, der eine Anmeldung erfordert, aber dies kann umgangen werden, wenn jemand meine IP und den port im streaming auf.
Sogar-falls konfiguriert-in der conf Datei anders, motion nutzt die mögliche Auflösung erkennt, wenn er läuft (zumindest in meiner Erfahrung).
Es scheint auch eine nicht unterstützte palette ist in der conf Datei und Bewegung wählt eine der beiden erkennt er als unterstützt. Haben Sie versucht, ändern Sie die Farbpalette-Einstellung auf "0" (S910) in der conf Datei?
Schließlich die Pi ' s die USB-Unterstützung hat einige bekannte und ungelöste Probleme in Bezug auf große Datenblöcke. Senkung der framerate kann auch helfen, in anderen Fällen (in diesem Fall, ich denke, ich würde nicht helfen, da der Prozess schon nicht mit dem ersten Bild).
Versuchen
v2l4-ctl --list-format-ext
um zu sehen, was Kombinationen von pixel-format und Bildgröße unterstützt werden Sie auf Ihrer Kamera. DieS910
ist eine billige alte Kamera, möchten Sie vielleicht zu aktualisieren.Dein problem ist in der log:
So müssen Sie eine andere Auflösung.
Sehen, was Ihr Gerät unterstützt mit
Wählen Sie eine, die hat ein y-Auflösung, die ein Vielfaches von 16 ist.
E. g. 640x480 wenn man die Liste für Ihre Kamera.
Ich würde vorschlagen, Sie versuchen guvcview statt Bewegung. Es läuft schneller und bietet eine weitaus bessere Bild auf meinem Pi. Es läuft unter X.
Zwei Noten von guvcview - set POWER LINE FREQUENZ zu Ihrem lokalen Netz freq.
- legen Sie die Auflösung auf 640 x 480.
guvcview nimmt über 50% Prozessor-Leistung. Ja, verwenden Sie einen USB-Hub zu!
Unh.