Springe zum Inhalt

22

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:

sudo apt-get install netcat

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

raspivid -t 0 -o - | nc 192.168.1.64 5001

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:

nc -l -p 5001 | mplayer -fps 31 -cache 1024 -

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:

sudo apt-get install vlc

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

raspivid -o - -t 0 -n -vf -hf -w 1280 -h 720 -fps 25 -g 100 | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/,mux=ts}' :demux=h264

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:

vlc rtsp://raspberrypi.local:8554/

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.

Mittlerweile herrscht ein ziemliches Angebot an frei ins Haus flatternden MPEG-Streams. Sei es nun per DVB oder auch per IPTV. Für Mitschnitte hat sich hier VLC bewährt, welches zum Aufzeichnen der Sendung einen einfachen Record-Button bietet. Da beim Aufzeichnen die Streams nicht konvertiert werden, liegen Videos anschließend als MPEG-TS (Transport Stream) auf der Platte. Diese lassen sich ohne Probleme mit VLC wiedergeben, allerdings verweigern die meisten Programme die Weiterbearbeitung von Transport Streams. ...weiterlesen "MPEG-TS Videostreams konvertieren"