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.

Es ist immer wieder erstaunlich, welche grandiosen Effekte die Filmstudios hervorzaubern. Mit der Bluescreen-Technik oder auch Greenscreening können Bildteile am Computer ersetzt werden. Hier ein kleines Beispiel:

Greenscreening Beispiel

Einen sehr interessanten Einblick bietet auch folgendes Video:

Z.B. Magix und Blender beherrschen das Chroma-Key-Verfahren, mit dem auch Heimanwender Filmszenen (natürlich mit entsprechendem Aufwand) nachbearbeiten können.

Zum schnellen Bearbeiten von Videos (Bildschirmmitschnitten oder anderen Sourcen) unter Linux wird oftmals Avidemux eingesetzt. Das Programm kann die am häufigsten verwendeten Video-Codecs lesen und auch Videos in den entsprechenden Formaten schreiben.

Bearbeiten von großformatigen Videos

Beim Bearbeiten von Bildschirmaufnahmen trifft man unmittelbar auf das Problem, dass Avidemux das Video in voller Auflösung anzeigt und dieses natürlich dann größer als der Bildschirmbereich ist. Da der Fensterrahmen von Avidemux sich nicht kleiner als das angezeigte Video ziehen läßt, erreicht man einige Steuerelemente nicht. Einzige Abhilfe: im Menü Ansicht die Größe auf 1:2 oder noch kleiner setzen.

Falsche Farben beim Speichern des Videos

Bei einigen Videos kann es vorkommen, dass Avidemux statt Blau Orange anzeigt. Da das Problem bekannt ist, wurde bereits ein entsprechender Filter in Avidemux integriert. Unter dem Menüpunkt Video -> Filter fügt man nach der Auswahl der Kategorie Farben den Filter U und V vertauschen hinzu.

Avidemux - Filter U und V tauschen

1

Wer am PC ab und zu DVDs wiedergibt und nicht nur sogenannte Brüllwürfel sondern Aktivlautsprecher, 5.1-Anlagen oder mehr sein Eigen nennt kennt das Problem: bei DVDs mit sehr dynamischem Audiopegel ist man spät abends mehr oder weniger dauernd am Regeln der Lautstärke oder man verärgert vielleicht einen Nachbarn. Viele DVD-Player haben dafür einen speziellen Nachtmodus. Dabei handelt es sich um einen Dynamic-Kompressor, der sich auch in VLC aktivieren lässt. Die Einstellungen des Dynamic-Kompressors in VLC erreicht man über das Menü Extras -> Effekte und Filter und dann über die Reiter Audioeffekte -> Compressor. Folgende Einstellungen sollten für eine einigermaßen gleichbleibende Lautstärke in der Nacht sorgen:

VLC Dynamic Range Compressor

Viel Spaß beim nächsten Film! Ich würde mich freuen, wenn Du hier in einem Kommentar den Titel des Films hinterläßt, den Du gerade schaust.

Mit mplayer ist es möglich, Videos oder Videostreams im Linux-Terminal auszugeben. Mit folgendem Kommando wird die Ausgabe gestartet:

mplayer -vo caca video.mov

Der Parameter -vo bestimmt, welcher Ausgabecodec verwendet werden soll. caca erzeugt eine farbige ASCII-Art-Ausgabe in einem Terminalfenster. Alternativ kann statt caca auch aa verwendet werden, welches eine monochrome Ausgabe erzeugt.

Und so sieht das Ganze aus (die Bildstörungen rühren leider von der Aufnahmesoftware her und sind in der Ausgabe nicht zu sehen):

Geeky ;)