Springe zum Inhalt

Raspberry Pi: Kamera Video Stream

Dieser Artikel behandelt das einfache Streamen eines mit dem Kameramodul des Raspberry Pi aufgenommenen Videostreams über das Netzwerk an einen anderen Computer. Wie sich der Raspberry Pi in eine Überwachungskamera mit automatisierter Aufnahme verwandeln lässt, habe ich in einem anderen Artikel beschrieben.

Übertragung mit Netcat

Mit dem vorinstallierten Programm raspivid lässt sich einfach auf den Videostream des Raspberry Pi Kameramoduls zugreifen. Für eine Übertragung an einen anderen Rechner im lokalen Netzwerk können folgende Kommandos verwendet werden.

Falls nicht schon geschehen, muss zuvor das Programm netcat installiert werden:

Anschließend wir der Videostream auf dem Rasperry Pi gestartet:

Die IP-Adresse muss mit der IP-Adresse des Computers ersetzt werden, auf dem nachher das Video angezeigt werden soll. Mit den obigen Optionen wird ein Videostream in voller Auflösung (1920x1080) und 30 fps an den angegebenen Computer gesendet.

Auf dem Computer, auf dem das Video angezeigt werden soll:

Für die Übertragung in kleineren Auflösungen kann das obige Kommando raspivid um die Optionen -w für Breite und -h für Höhe ergänzt werden (z.B. -w 1280 -h 720).

Übertragung mit VLC und RTSP

Sollen mehrere Benutzer gleichzeitig einen Videostream anschauen können, kann obige Methode nicht verwendet werden. Hier bietet sich der Einsatz RTSP an, welches z.B. VLC hervorragend beherrscht.

Sofern noch nicht geschehen, wird VLC mit folgendem Kommando auf dem Raspberry Pi installiert:

Danach wird der VLC-Videoserver auf dem Raspberry Pi gestartet:

Obiges Kommando enthält Optionen, die das Video vertikal und horizontal spiegeln (-vf -hf), da mein Raspberry Pi auf dem Kopf steht. Bei Bedarf können diese entfernt werden.

Zum Betrachten des Videostreams auf einem anderen Computer:

raspberrypi.local muss dabei mit der IP-Adresse oder Hostnamen ersetzt werden, unter der der Rasperry Pi im lokalen Netzwerk erreichbar ist. Alternativ kann die Adresse des Videostreams auch über die GUI von VLC unter Medien -> Netzwerkstream öffnen... eingegeben werden.

22 Gedanken zu „Raspberry Pi: Kamera Video Stream

  1. Marco

    Hallo aus Hamburg,
    wenn man auf dem RaspPi VLC laufen läßt und das Video streamt, kann man dies dann auch auf eine Win10 PC, z.b. auch mit VLC, wieder abspielen?

    1. shogun

      Natürlich. RTSP ist plattformunabhängig. Obiges Beispiel erzeugt mit CVLC auf dem Raspberry Pi einen RTSP-Stream, welcher problemlos auf anderen Geräten mit VLC (unter anderem auch mit VLC für Android auf dem Smartphone) wiedergegeben werden kann.

  2. Zrop

    Hallo,

    erstmal vielen Dank für die einfache und gute Anleitung, funktioniert wunderbar :-)
    Nur eine kurze Frage: was bewirkt der Parameter -g 100 bei "raspivid -o - -t 0 -n -vf -hf -w 1280 -h 720 -fps 25 -g 100" ?
    Habe darüber leider nichts finden Können.

    Gruß
    Zrop

    1. Jens Tautenhahn

      -g gibt an, nach wie vielen Frames ein Intra-Frame in den Stream eingefügt werden soll. Ein Intra-Frame ist ein ganzes Bild, alle nachfolgenden Frames enthalten nur die Änderungen. raspivid --help gibt Dir eine Übersicht aller Optionen aus.

    1. Jens Tautenhahn

      Wenn Du ihn wie oben in einem Terminal gestartet hast, einfach mit Strg-C. Oder verstehe ich die Frage falsch?

  3. Georg Burkhard

    Hi,
    nach dem Start des VLS servers wird u.a. folgendes angezeigt:
    Invalid PCR value in ES_OUT_SET_(GROUP_)PCR !
    sowie:
    main mux warning: late buffer for mux input (30116)!
    mux_ts mux warning: packet with too strange dts (dts=1540077544,old=1541544195,pcr=1541544195)
    Liegt es daran dass der VLC Player bei Eingabe der rtsp URL folgenden Fehler ausgibt:
    Verbindung fehlgeschlagen
    VLC konnte keine Verbindung zu "192.xxx.xxx.xx:8554" aufbauen.
    Vielen Dank einen Tip!
    GB

  4. Markus

    Was mir nicht ganz klar ist, ist die Kamera immer Aktiv ?
    Auch wenn der Stream nicht abgerufen wird ?
    Kostet dies immer Leistung auch wenn kein Stream gerade angezeigt wird ?

  5. Jens Tautenhahn

    Sobald raspivid oder vlc auf dem Raspi aktiv ist, dann ist wie bei jeder Client/Server-Anwendung auch die Kamera aktiv. Über die Leistungsaufnahme habe ich mir noch gar keine Gedanken gemacht, die Kamera sollte jedoch kein großer Posten sein und da sie den Videostream schon H.264-kodiert liefert muss auch nicht rechenintensiv umgewandelt werden. Aber vielleicht misst da ja mal jemand nach.

    1. Markus

      Danke für die schnelle Antwort.
      Nur um den Stromverbrauch ging es mir auch nicht, sondern mehr darum das dauernt Leistung benötigt wird. Und es einfach unnötig ist das die Kamera dauernt aktiv ist.
      Ich möchte sie halt nur zeitweise für Skype benutzen. Weil die neue 8 megapixel Kamera ja besser ist als die meisten Webcams die man kaufen kann.
      Und als micro habe ich halt noch ein Blue Yeti USB Mikrofon.

      1. Jens Tautenhahn

        Ok, Skype direkt auf dem Raspi ist natürlich ein ganz anderer Anwendungsfall als oben im Artikel vorgestellt. Jedes verbundene Hardwareteil benötigt Strom. So auch die Kamera. An der Kamera-LED siehst du (sofern sie nicht deaktiviert wurde) ob die Kamera aktuell aktiv ist. Das dürfte bei Skype eigentlich nur der Fall sein, wenn ein Videocall aktiv ist. Probiers doch einfach aus!

  6. Sascha

    Hallo,

    gibt es die Möglichkeit das Signal einer IP-Kamera live in ein analoges Signal umzuwandeln und dieses an einem Monitor auszugeben?

    1. Jens Tautenhahn

      Der Raspberry Pi hat einen Composite/FBAS-Ausgang. Nach entsprechender Konfiguration (z.B. wie hier und hier beschrieben) kann dort direkt ein Analog-Monitor angeschlossen werden.

      1. Sascha

        Danke für die prompte Antwort. Aber mit welchem Programm (z.B. Motion) und mit welcher Konfiguration kann ich das digital Videosignal direkt durchschleifen und als analoges ausgeben lassen?

        1. Sascha

          ...zur Erklärung:
          ich habe eine IP-Kamera über Netzwerkkabel angeschlossen und möchte diese in eine Türsprechanlage einbinden.
          Bei Klingelbetätigung soll das Kamerabild direkt an die Innenstation (Display) weitergeleitet werden (ohne Verzögerung). Hierzu dachte ich, wäre der Raspberry geeignet... Nur wie, konnte ich leider auch nach längerer Recherche nicht in Erfahrung bringen.

          1. Jens Tautenhahn

            Omxplayer kann remote streams wiedergeben, z.B. ein Stream von der IP-Kamera. Mit Hilfe des Framebuffers kann der Output direkt auf dem Videoausgang des Raspberry ausgegeben werden, sowohl über HDMI als auch über Composite/FBAS. Da man dann auf der Konsole natürlich nichts mehr von einer Shell sieht, braucht man zur Konfiguration natürlich einen SSH-Zugang ;)

            Eine schöne Anleitung, wie etwas ähnliches schon mal jemand gemacht hat habe ich hier gefunden: http://www.instructables.com/id/Raspberry-Pi-Wall-Display-Without-X-Windows/

            Danach braucht man ja nur noch den Status des angeschlossenen Klingeltasters abfragen und omxplayer entsprechend starten.

            Vielleicht schreibst Du uns nachher, ob das alles so funktioniert hat.

  7. Tim

    Hi ich habe den vlc player installiert aber beim starten bringt er die Meldung "mux_ts mux warning: packet with too strange dts" und bei gleichzeitigen ausführen aufdem Raspi bekomme ich nur ein Bild.
    Abspielen auf einem anderen Pc über den VLC player geht nicht.
    wo könnte das Problem liegen?

    Mfg Tim

    1. Jens Tautenhahn

      Gibt der auf dem Raspi laufende cvlc irgendeine Fehlermeldung aus bzw. sieht man aus den Ausgaben, dass sich der vlc vom PC aus überhaupt mit dem Raspi verbinden konnte?

      1. Tim

        Hi,
        danke für deine Antwort.
        Das Problem liegt an den Einstellungen, erst bei 12fps bekomme ich einen Stream. Fehlermeldung"coremux warning: late buffer for mux input".
        Kann es sein das ich an der buffersize noch etwas anpassen muss?

        Mfg Tim

  8. Benno

    Hi,
    danke für die gute Anleitung. Leider bekomme ich es nicht hin. Ich erhalte auf dem Raspberry Pi folgende (Fehler)Meldungen:

    Auf dem PC beim Öffnen des Streams mit VLC:
    vlc.exe rtsp://192.168.178.78:8554

    Ihre Eingabe konnte nicht geöffnet werden:
    VLC kann die Medienadresse 'rtsp://192.168.178.78:8554' nicht öffnen. Für Details bitte im Fehlerprotokoll nachsehen.

    Danke im Voraus schonmal für alle Hilfen.

Schreibe einen Kommentar

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