Raspberry Pi Camera Board

 

Nachdem vor einigen Tagen das neue Kameraboard für den Raspberry Pi erschienen ist, musste ich mir gleich mal 2 bei Farnell ordern :)

RaspiCam

Specs

Das kleine Modul hat die Abmessungen 25 x 20 x 9 mm bei 3 Gramm Gewicht! Der Bildsensor hat 5MP und schafft Fotos mit einer Auflösung von bis zu 2.592 × 1.944 Pixel. Videos werden in 1080p bei 30 Fps in h264 (oder 720p60 und 640x480p60/90) aufgenommen.

Es wird über ein 15-Poliges Flachkabel (wie heist das?) direkt auf den Raspi gesteckt. Das ganze kommuniziert über den CSI-Bus direkt mit dem BCM2835 Grafikprozessor. Erst dadurch sind im Gegensatz zu den Lösungen mit USB-Webcams überhaupt solche Frameraten möglich ohne die CPU auszulasten.

RaspiCamPlugged

Modul am Raspberry

Was kann man nun damit machen

Aktuell (23.5.2013) leider noch nicht viel da es noch keine Video4Linux “Treiber” gibt. Derzeit gibt es zwei Tools um Videos oder Bilder aufzunehmen. Wenn man einer Programmier-/Scriptsprache mächtig ist, kann man z.b. alle 5 Sekunden ein Bild machen und dieser per FTP auf einen Server im Netz laden.

Wer einen Videostream übertragen will kann derzeit noch einen Umweg über VLC machen:

 

Videostream per VLC

Um ein Streaming vom Raspberry zu einem anderen Rechner per VLC zu realisieren muss ersteinmal VLC auf der Raspi.

 

Raspi VLC install

 

Nach der Installation kann man dann folgenden Befehl ausführen:

Nanu, was passiert hier?

Also:

raspivid ist das Tool welches ein Video von der Kamera aufzeichnet. Der Parameter “-o” gibt die Ausgabedatei an in welche geschrieben wird. Normalerweise steht hier ein Dateiname. Das “-” bezeichnet unter Linux allerdings den /stdout . Von diesem liest vlc den Datenstrom direkt ein.

Der Parameter “-t” gibt an, wie lange der Stream laufen soll (in Sekunden). Das Problem ist aktuell das man das Tool nicht unendlich laufen lassen kann. Also sollte man hier einen extrem großen Wert setzen.

“-w” und “-h” geben die Breite und Höhe des Videos an. Für das Streaming per VLC sollte man nicht die komplette HD-Auflösung nehmen da VLC dann ca 60% CPU-Zeit verbrät.

“-fps” gibt die “Frames per Second” an, also die Bildrate in “Bilder pro Sekunde”.

Dann kommt das PIPE “|” und danach VLC (“cvlc”).

“stream:///dev/stdin” sagt VLC das es den Datenstrom von /dev/stdout lesen soll (is so 😉 )

Mit “dst=:8090″ gibt man den Ausgabeport an (in dem Fall Port 8090).

Videostream ansehen

Auf dem Clientrechner startet man nun VLC und wählt dort “Netzwerk Öffnen”.

VLC netzwerk öffnen

Nun sollte sich dieses Fenster öffnen

VLC Network Tab

Dort trägt man die IP des Raspberry und den Port ein (z.B. http://10.0.100.6:8090). Bitte nicht das http:// vergessen!

Hat man alles richtig gemacht sollte nach einigen Sekunden das Bild zu sehen sein. Leider habe gibt es eine Verzögerung von einigen Sekunden.

 

Nun warten wir mal bis video4linux unterstützt wird. Dann geht es los mit Bilderkennung usw usw :)

15 Gedanken zu „Raspberry Pi Camera Board“

  1. hy kannst du mir helfen ??

    bekomme nach deiner Anleitung den Fehler

    ~ $ raspivid -o – -t 9999999999999999999 -w 640 -h 360 -fps 25|cvlc stream:///dev/stdin –sout ‘#standard{access=http,mux=ts,dst=:8090}’ :demux=h264
    VLC media player 2.0.3 Twoflower (revision 2.0.2-93-g77aa89e)
    [0x1b965b8] inhibit interface error: Failed to connect to the D-Bus session daemon: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
    [0x1b965b8] main interface error: no suitable interface module
    [0x1b955b0] main interface error: no suitable interface module
    [0x1b758f0] main libvlc error: interface “globalhotkeys,none” initialization failed
    [0x1b955b0] dummy interface: using the dummy interface module…

    1. Und noch das Script dazu:

      #!/bin/bash
      set -x
      RESOLUTION=”640×480″
      FRAMERATE=”10″
      MJPG_WEB_ROOT=”/home/pi/mjpg-streamer/mjpg-streamer/www”
      TIMELAPS_DIR=”/home/pi/mjpg-streamer/mjpg-streamer/www/webcam”
      STREAMDIR=”/tmp/stream”
      PORT=”8080″
      INPUTFILE_LIB=”/home/pi/mjpg-streamer/mjpg-streamer/input_file.so”
      OUTHTTP_LIB=”/home/pi/mjpg-streamer/mjpg-streamer/output_http.so”

      LD_LIBRARY_PATH=./
      export LD_LIBRARY_PATH

      mkdir /tmp/stream
      raspistill -ex auto -w 640 -h 480 -q 5 -n -o /tmp/stream/pic.jpg -tl 100 -t 9999999 -th 0:0:0 &

      ./mjpg_streamer $1 -i “$INPUTFILE_LIB -f $STREAMDIR -r $RESOLUTION” -o “$OUTHTTP_LIB -p $PORT -w $MJPG_WEB_ROOT” &

  2. @benjamin @droid:
    Ich habe das selbe Problem, wenn ich den Befehl auf dem PI im SSH-Tunnel starte. mache ich es direkt über Konsole am PI, wird die Vorschau angezeigt und der Stream läuft!
    Leider habe ich es per SSH nicht hinbekommen – weder mit dem Start der SSH Session mit der Option “-x” noch mit der raspivid Option “-n” für “keine Vorschau”

  3. Hm, also eigentlich sollte das alles kein Problem darstellen. Ich habe auf meinen Raspis auch kein X11 laufen (wird nicht benötigt). Bekomme auch diese Fehler angezeigt; aber das Streaming klappt trotzdem

  4. Wir kommen der Lösung näher:
    Meldet Euch mal mit dem User “pi” oder wenn ihr über einen normalen User angemeldet seit mit “sudo raspivid…” dann geht es!

  5. Auch mit “sudo raspivid…” lässt sich der Fehler von benjamin und droid nicht beheben. Habe das gleich Problem und es mit Sudo als direkt Eingabe und über eine ssh- Verbindung versucht und bekomme immer den Fehler:

    pi@raspberrypi ~ $ sudo raspivid -o – -t 9999999999999999999 -w 640 -h 360 -fps 25|cvlc stream:///dev/stdin –sout ‘#standard{access=http,mux=ts,dst=:8090}’ :demux=h264
    VLC media player 2.0.3 Twoflower (revision 2.0.2-93-g77aa89e)
    [0x12a2d80] inhibit interface error: Failed to connect to the D-Bus session daemon: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
    [0x12a2d80] main interface error: no suitable interface module
    [0x1400c68] main interface error: no suitable interface module
    [0x12908f0] main libvlc error: interface “globalhotkeys,none” initialization failed
    [0x1400c68] dummy interface: using the dummy interface module…

    weiß jemand woran das liegen könnte?

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">