Rasperry PI als HD MJPEG Netzwerkkamera (Zoneminder)

  • Hallo,

    ich habe nun mit einem Raspberry PI eine Netzwerkkamera gebaut welche bei mir im Garten ihren Dienst tun soll.

    Zielsetzung:
    MJPEG Webcam mit möglichst hoher Auflösung und vielen Bildern pro Sekunde bei möglichst niedriger CPU Auslastung damit diese von meinem Zoneminder Server ausgewertet werden können.

    Aktueller Status:
    1920x1080 JPEG Qualität 5* 10 - 15fps bei 80% CPU Auslastung
    1280x720 JPEG Qualität 5* 20 - 30 fps bei 30% CPU Auslastung
    640x480 JPEG Qualität 50* 30fps bei 50% CPU Auslastung

    *0 schlechteste 100 beste Qualität

    Einkaufsliste:

    • Raspberry PI Model B Rev 2.0
    • No Ir Cut Raspberry Kamera Modul
    • Vorsatzlinse (für iPhone) --> dx.com
    • IR Scheinwerfer mit Helligkeitssensor --> dx.com
    • Spannungsregler (aus dem Modellabubereich) --> dx.com
    • 12V Netzteil mit mind. 900mah --> dx.com
    • 400W Halogenstrahler gehäuse --> Baumarkt


    Kosten ca. EUR 100

    Ich habe mir noch drei Spezialteile angefertigt

    • Adapterring von der RPI Cam zu der Metallbeilagscheibe mit Doppelklebeband welche beim Objektiv dabei war
    • Adapterring von der Linse auf den IR Strahler
    • Kunststoffklotz für die Befestigung des Raspberry PI im Gehäuse


    Hardware:

    hier die Bilder vom bau

    Software:

    Ich habe nach dem installieren des letzten rasbian noch folgende schritte (ssh) gemacht:

    • in der raspi-config
      - die raspi-config Software aktualisiert
      - die Kamera Aktiviert
      - SSH Aktiviert
      - kennwort des Benutzers pi geändert
      - Den Desktop deaktiviert belassen
      - Die Locale, Zeitzone und Tastatursprache eingestellt
    • mit ssh dann als root folgende Befehle ausgeführt
      - sudo passwd root --> nach der vergabe des kennwortes für den Benutzer root als dieser Anmelden
      - aptitude update && aptitude upgrade -y
      - rpi-update
      - reboot

    Damit ist die Grundinstallation abgeschlossen.

    Ich habe mir dann nach der Anleitung von hier den mjpg-streamer Installiert, damit es kompiliert werden konnte musste ich noch folgenden abhängige Pakete vorher Installieren

    Code
    aptitude install cmake libx11-dev libjpeg62-dev

    Nach dem Kompilieren wie in der Readme Beschrieben habe ich noch

    alle Module nach /usr/local/lib kopiert

    Code
    cp input_* output_* /usr/local/lib/

    und den mjpg_streamer nach /usr/local/bin

    Code
    cp mjpg_streamer /usr/local/bin/

    Und dann noch das www Unterverzeichniss

    Code
    cp -Rv www /usr/local/www


    damit der Streamer Automatisch beim Hochfahren des PI gestartet wird habe ich noch folgende Zeilen as ende in die Datei /etc/rc.local geschrieben:

    Code
    export LD_LIBRARY_PATH=/usr/local/lib
    nohup /usr/local/bin/mjpg_streamer -o "output_http.so -p 80 -w /usr/local/www" -i "input_raspicam.so -x 1280 -y 720 -fps 15 -quality 5" &

    Experimentiert mit der Auflösung und vor allem mit der qualität, meiner Erfahrung nach ist bei unter 3mb/sec schluss Obwohl das Fast Ethernet doch bis zu 12 schaffen müsste...

    wer noch will kann die LED am Kamera Modul ausschalten indem er folgende Zeile in die /boot/config.txt schreibt:

    Code
    disable_camera_led=1

    Und die Kamerabilder könnt ihr mit folgendem Link in Zoneminder einbinden:

    Code
    ?action=stream&ignored.mjpg

    Also im browser geht das so:
    http://<ip oder dns name>/?action=stream&ignored.mjpg

    Oder schaut euch die Seite an die der mjpeg streamer bereitstellt

    Einmal editiert, zuletzt von Hans_78 (14. Dezember 2013 um 22:57)

  • Rasperry PI als HD MJPEG Netzwerkkamera (Zoneminder)? Schau mal ob du hier fündig wirst!

  • Ein sehr interessanter Ansatz und ein tolles Projekt. Mir fehlen jetzt nur noch Beispielbilder der Kamera im Einsatz. Also Bilder die der Rapi in dieser Konfiguration geliefert hat.

    Einmal editiert, zuletzt von reisefoto (15. Dezember 2013 um 08:57)

  • Hallo,

    die Kamera ist bis heute nur im Haus gelaufen wird aber heute Montiert, dann werde ich Bilder nachliefern...

    Der Stromverbrauch ist:

    • Ohne IR Beleuchtung 4,6W
    • Mit IR Beleuchtung 8,9W


    Meine sonst verbauten Foscam Kameras brauchen auch 5W ohne und 9W mit IR Beleuchtung.

    Wie es mit der Temperatur aussieht werden wir sehen, ich habe mal die Kamera an meinen Zabbix Server gehängt und Monitore die Temperatur des PI selbst. Bei Raumtemperatur von 21 Grad hat der PI 60 Grad und das Alugehüuse an der Oberfläche 29 Grad, gut das ich das Netzteil in die hintere Dose des Strahlergehäuses gebaut habe!

    LG

    Hans

    Einmal editiert, zuletzt von Hans_78 (15. Dezember 2013 um 09:47)


  • Sehr geniale Odee mit dem Baustrahler... Hab meinen (nicht mehr benötigten) gerade zerlegt :D

    Hallo,

    es gibt noch in der Bucht um USD 15 ein Alu Kameragehäuse, das ist aber 9Zoll Lang (innen) und hat laut Rezesionen bis zu 2mm Spalten. Also erstens kannst du da 5 RPI Cams einbauen und dann ist das nicht mal Dicht und kommt aus HongKong...

    Eine Alternative wäre noch eine Kamera Atrappe zu kaufen und diese umzubauen, nur dazu müsste ich das Teil sehen ob alles Platz hat.

    Aber so hat ein EUR 10 Baustrahler der sicher Dicht ist und der für höhere Temperaturen gebaut wurde (hat Kühlrippen auf der Rückseite) im ersten Moment den Zweck erfüllt.

    LG

    Hans

  • Mein Strahler ist dicht. Er hat Dichtungen wo immer möglich...

    Die MJPEG-Lösung läuft bei mir seit ein paar Tagen stabil (sowohl Stream als auch Standbilder).
    Ich muss mal gucken, wie ich den Raspi inkl. Cam (und evtl. Pan/Tilt) sauber im Strahler verbauen kann...

  • Um Pan / Tilt umzusetzen gibt es ja das Servoblaster Modul für den PI welches über einen GPIO direkt ein (oder mehrere) Modellbau Servo ansteuern kann, das habe ich bei zwei Anderen Projekten in Verwendung (eines ist der Backupserver, auch hier in den Tutorials).

    Der servod hat inzwischen ein Start / Stop Script in dem die GPIO's eingetragen werden können bei denen er dann PWM aktiviert, sowie ein Timeout nachdem der GPIO wieder abgeschalten wird, um das Servo Brummen zu vermeiden.

    Also PT ist kein Problem, nur fehlt mir hier noch das Zoom ;) was ohne Zoom Objektiv nicht machbar ist und die wenigen die es gibt wissen nicht was sie dafür verlangen sollen...

    LG

    Hans

  • Ich hab mir am Freitag mal Pi-Pan und Pi-Light aus der Schweiz bestellt. Sollte auf jeden Fall in der nächsten Woche ankommen :D

    Bastel grad an ner webseite bezgl. der Steuerung

    Du kannst Deine setup-routine noch ein wenig vereinfachen: Klick hier

    Das Starten und Stoppen des Streams mache ich über cron:

    #Start webcam on reboot and also on 07:00
    #Stop webcam at 18:45
    #####
    @reboot /etc/init.d/mjpg-streamer start
    0 7 * * * /etc/init.d/mjpg-streamer start
    45 18 * * * /etc/init.d/mjpg-streamer stop

  • Moin!
    Mal eine kurze Frage "in die Runde":
    Würde Pi-Pan auch funktionieren, wenn man den _gesamten Raspi mit Cam in einem Gehäuse_ bewegen will? Sprich: Würden das die Servos schaffen?
    Gibt es Erfahrungswerte? Hintergrund meiner Frage ist das starre Kabel zwischen RaspiCam und dem Board.

  • Puh, gute Frage... Da das Gewicht aber nicht sooo groß ist, könnte das klappen

    das Flachband-Kabel gibt es aber auch in "lang"...
    Ich warte grad auf die 50cm-Version. Habe auch Kabel bis zu 1m und mehr gefunden.


  • Hi,

    ich ein sehr Cooles Projekt habe so was auch in der Art vor.

    Mich würde Interessieren wie jetzt die Bilder von den Aufnahmen dazu aussehen, was bringt dieses [font="Tahoma, Verdana, Arial, sans-serif"]Vorsatzlinse lohnt es sich die davor zu schrauben??[/font]

    Hallo DoktorRPI,

    die Linse bringt mehr oder weniger Blickwinkel (je nachdem ob Fishey Tele oder Macro) und ist mit dem Magneten befestigt. Aufnahmen möchte ich keine Veröffentlichen da diese nur zu Überwachungszwecken eingesetzt wird.

    Die noIr cam ist wie überall zu lesen etwas schlechter in der Bildqualität (Farben) aber bei weitem nicht so schlecht wie die Foscam Klone aus der Bucht.

    Am besten ist die aktuelle Version der SW vom hier die kann alles was man Braucht...

    Zoneminder ist für mich in Zukunft keine Option mehr, da eine 1280x720 10fps Kamera fast einen 3,2Ghz CoreI5 Kern auslastet! Da ist die Option mit der SW oben wo die Kamera selbst motion Detection macht und dann Full HD Video Streams ablegt wesendlich sinnvoller zumal auch 1920x1080 bei einem Bruchteil der Ressourcen!

    LG

    Hans


    Moin!
    Mal eine kurze Frage "in die Runde":
    Würde Pi-Pan auch funktionieren, wenn man den _gesamten Raspi mit Cam in einem Gehäuse_ bewegen will? Sprich: Würden das die Servos schaffen?
    Gibt es Erfahrungswerte? Hintergrund meiner Frage ist das starre Kabel zwischen RaspiCam und dem Board.

    Hallo,

    ich würde mir pipan sparen und das servoblaster Modul direkt mit einem oder mehreren GPIO's nutzen. Da ist die einzige HW die man kaufen muss die Servos und jeder Servo braucht nur einen GPIO...

    Ich würde immer das ganze Gehäuse und nicht nur die Kamera bewegen weil sich sonst der Winkel der Linse zum Glas ändert und es Reflexionen gibt, bzw. dann keine IR Strahler aus dem Gehäuse genutzt werden kann!

    Ich habe gesehen das die motion SW auf dem raspi ein "Motion Traking" beherscht, OOTB aber nur mit Schritmotoren das sollte doch auf Servo umbaubar sein zumal eine bewegeung so einfach gemacht werden kann sofern das servod Modul geladen wurde:

    echo "0=170" > /dev/servoblaster

    Wenn ich die Zeit finde werde ich sowas versuchen.

    Achja die beste SW für die Kamera ist diese hier

    LG

    Hans

    Einmal editiert, zuletzt von Hans_78 (12. Januar 2014 um 12:19)

  • Schade das du kein Bild Posten willst, wäre echt Interessant zu sehen glaube die anderen würden es auch gerne sehen. Wir werden schon nicht dein Standort probieren zu googlen ;)

    Also ich hab es Aktuell mit dieser Lösung gemacht, http://jankarres.de/2013/12/raspbe…amera-einsetzen da ich nicht unbedingt eine Stream/Webcam Seite brauche. Es so eingestellt das die Pi die Dateien einfach direkt auf meine NAS schreibt, ohne Moition caputre.

    Dazu lasse ich aktuell das Capturen nur Tags überlaufen weil man Nachts einfach nix sieht. Das mit der NoIR Qualität unterscheide in der Farbe erklärt sich ja von selbst.

    HD 1920x1080
    VIDEOBITRATE=8000000
    VIDEOFPS=15

    Die Kamera erstellt Aktuell bei mir pro 10 Minuten 294MB files (1,7GB die Stunde) im H264 Format was eine Pi Auslastung laut Top 8,5% von macht also genug Luft das Um convertieren in MP4 hab ich deaktiviert von der Größe der Datei bringt es nix und veruhrsacht nur unötig last, VLC Player kann die H264 wunderbar abspielen. Das Motion Tracking finde ich etwas zu langsam reagieren aber vielleicht muss man da noch Tweaken oder mit Motion Sensor arbeiten :)

    Einmal editiert, zuletzt von DoktorRPI (12. Januar 2014 um 19:23)


  • Einkaufsliste:

    • IR Scheinwerfer mit Helligkeitssensor --> dx.com
    • Spannungsregler (aus dem Modellabubereich) --> dx.com
    • 12V Netzteil mit mind. 900mah --> dx.com

    zu den drei Sachen habe ich folgende Fragen:

    • Benötige ich noch irgendwelche Kabel/Adapter für den Anschluss an die IR LEDs?
    • Wofür benötige ich den Switch? Wie schließe ich das an?
    • Dieser 12V LED Driver ist wahrscheinlich für die IR LEDs. In dem Webshop stehen leider nur wenige technische Details


    Ich würde es klasse finden wenn es noch eine grobe Skizze oder eine Beschreibung hinzugefügt wird. Diesen Artikel bzw. das Projekt finde ich ansonsten top.

  • Ich weiß, der Beitrag liegt schon was weit in der Vergangenheit :shy: , aber ich habe hier (cam-in-box) eine fernsteuerbare WebCam mit dem Raspberry gebaut, die stark genug ist den ganzen Raspberry incl. evtl. Gehäuse zu bewegen..
    Im Moment arbeite ich an einer Lösung, wie dem man ein motorisch verstellbares Zoom per 3. Schrittmotor am GPIO anschließen kann...
    Hat sich schon jemand damit beschäftigt?

  • Mal 'ne dumme Frage: Ist die IR-Beleuchtung permanent an? Oder wie kann ich die ein- und ausschalten? Denn der RPi arbeitet mit 5/3,3V und die Beleuchtung mit 12V.

  • Hallo,
    sieht toll aus, was Du da gebaut hast.

    Hast Du auch das Problem, wenn Du ein rpi-update auf Kernel 4.1 machst,
    das Du die Servos nicht mehr ansteuern kannst?

    Bitte vorher ein Backup machen, denn wie es aussieht, scheint der Servoblaster nicht mit dem aktuellen Kernel zu funktionieren!!!

    Einmal editiert, zuletzt von AFUDirk (13. August 2015 um 10:20)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!