Der Raspberry Pi ist ideal zur Überwachung geeignet, so können auch lokale Livestreams eingerichtet werden (auch per Android). Auch ein Raspberry Pi Youtube Live Streaming ist möglich, z.B. wer seinen Pflanzen beim wachsen zusehen möchte oder sonstige Projekte live teilen will.
Darüber hinaus ist es möglich den Stream öffentlich oder privat zugänglich zu machen. Dadurch, dass YouTube alles weitere übernimmt, ist dieses Tutorial sehr einfach nach zu machen.
Zubehör
Um diesem Tutorial zu folgen und das Raspberry Pi YouTube Live Streaming umsetzen zu können, wirst du folgende Komponenten benötigen:
- Raspberry Pi
- offizielles RPi Kamera Modul (mit oder ohne IR Filter)
- Ribbon Kabel (50cm oder 1m)
- ggf. Saugnäpfe zum befestigen
Für eine bessere und schnellere Übertragungsrate empfehle ich außerdem die Anbindung ans Internet über ein Ethernetkabel, da es beim WLAN hin und wieder zu Verbindungsstörungen kommen kann.
Prinzipiell sind auch die neueres Raspberry Pi Zero W Modelle mit CSI Port und Wifi möglich. Diese können mit entsprechend wasserfestem Gehäuse auch für den Außeneinsatz (Garten, Straße, usw) verwendet werden, da sie zusätzlich noch weniger Strom brauchen als ein normales Raspberry Pi.
Die genauen Unterschiede zwischen dem normalen und NoIR Kamera Modell sind in diesem Tutorial beschrieben. Das NoIR ist hauptsächlich für Nachtaufnahmen oder Videos im Dunkeln geeignet. Außerdem gibt es verschiedene Versionen. Das v1 hat nur eine durchschnittliche Auflösung, ist dafür aber sehr günstig. Das v2 Modell hat eine HD Auflösung und bessere Bildkontraste, etc.
Installation auf dem Raspberry Pi
Die Pakete, welche wir für den Livestream benötigen werden sind in einem Docker Container enthalten. Damit wir diese nutzen und entpacken können, müssen wir Docker zunächst per SSH installieren und unserem User Rechte dazu zuweisen:
curl -sSL https://get.docker.com | sh sudo usermod pi -aG docker
Anschließend verbinden wir die offizielle Raspberry Pi Kamera und aktivieren diese.
sudo raspi-config
Unter „Interfacing Options“ -> „Camera“ findest du den Menüpunkt zum aktivieren der Kamera. Danach wird neu gestartet.
Nun testen wir die Aufnahmefunktion der Kamera. Gib folgendes in die Konsole ein:
sudo raspistill -o test.jpg
Dies sollte ein Bild aufnehmen. Falls du hier einen Fehler bekommst, gib folgenden Befehl ein und starte danach das System neu (sudo reboot
):
sudo modprobe bcm2835-v4l2
Ob die Aufnahme geklappt hat und wie das Bild aussieht können wir entweder überprüfen, indem wir uns einloggen und das Bild ansehen (alternativ auch per Remotedesktopverbindung) oder auch indem wir einen FTP Server installieren und uns so das Bild laden. Wie dem auch sei, sollte etwas sichtbar sein, dann wurde die Kamera ohne Probleme erkannt und kann benutzt werden.
Das eigentliche Docker Image ist sehr groß und müsste stundenlang kompiliert werden. Daher haben Nutzer bereits ihre kompilierten Images verfügbar gemacht, welche wir nutzen können (was wesentlich schneller geht):
docker pull alexellis2/streaming:17-5-2017
Der Download kann etwas dauern.
Raspberry Pi YouTube Live Streaming einstellen
Um das Raspberry Pi YouTube Live Streaming einrichten zu können, müssen wir einen YouTube Kanal haben. Falls nicht erstellen wir zunächst ein Google Konto. Wir wechseln danach ins YouTube Live Streaming Dashboard. Hier erstellen wir einen neuen Live Stream.
Unter dem Tab „Allgemeine Informationen“ können wir den Stream als öffentlich oder Privat einstellen. Außerdem sind viele weitere Optionen möglich. Ganz unten befindet sich der Tab „Encoder Einrichtung“.
Lasse dir den Key anzeigen und kopiere ihn. Wir werden ihn nun im Raspberry Pi eingeben müssen (anstelle xxxx-xxxx-xxxx-xxxx):
docker run --privileged --name cam -ti alexellis2/streaming:17-5-2017 xxxx-xxxx-xxxx-xxxx
Hierbei haben wir noch einige weitere Optionen die wir mittels Flags angeben können, wie bspw. den Start im Hintergrund (-d
) oder aber den automatischen Start beim Booten des Systems (--restart=always
).
Solltest du den Stream mit STRG+C abgebrochen haben und ihn später erneut starten wollen, wirst du einen Fehler bekommen, falls du auf die selbe Weise startest („docker: Error response from daemon: Conflict. The container name „/cam“ is alrea dy in use by container …“). Daher starte es einfach mit:
docker start cam
Beenden geht ebenso einfach mit
docker stop cam
Über den YouTube Live Streaming Manager kannst du auch weitere Einstellung zum Stream und weiteren Optionen vornehmen.
13 Kommentare
Frage: Ist der Live stream auch umsetzbar, wenn die Camera über Motion eyeOs läuft? Wie müsste das gehen?Welche Einstellungen?
Habe ich nicht ausprobiert, würde mich aber über Rückmeldung freuen.
Hallo, das wäre toll, bekomme aber folgende Meldung:
curl -sSL https://get.docker.com | sh
curl: (60) SSL certificate problem: certificate is not yet valid
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a „bundle“
of Certificate Authority (CA) public keys (CA certs). If the default
bundle file isn’t adequate, you can specify an alternate file
using the –cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you’d like to turn off curl’s verification of the certificate, use
the -k (or –insecure) option.
-k habe ich probiert, geht aber auch nicht. wie kann ich das beheben, so Linusfix bin ich leider nicht.
Matthias
Scheint erledigt, Datum & Uhrzeit am Pi war nicht eingestellt.
Hallo,
wie könnte der Ton noch integriert werden? Ist das ev. möglich?
Matthias
Hast du ein Mirkofon angeschlossen?
ist auf dem Postweg 🙂
Sollte Audio schon intergriert sein?
Denn jetzt habe ich einen Pi in einem Nest von Turmfalken untergebracht, Motion auf dem Pi, leider ohne Audio
Hallo,
Mikro ist dran, leider am Stream kommt kein Ton. Mein USB Mik wird als Device 1 Gerät 0 angezeigt.
Pi zeigt folgendes:
Input #0, s16le, from ‚/dev/zero‘:
Duration: N/A, bitrate: 1411 kb/s
Stream #0:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
Wo kann ich das in Docker anpassen?
Matthias
Gibt es auch eine Möglichkeit eine Webcam über USB zu nutzen?
Gibt es einen Möglichkeit den Bildschirm des Raspberry zu streamen? (Desktop usw.)
Danke im voraus.
Nach dem Start aus einem Terminalfenster oder via ssh blockiert den kompletten Desktop mit dem aktuellen Kamerabild und es ist keine Eingabe am Desktop mehr möglich. Erst ein stop via ssh läßt den Zugriff wieder zu.
Wie kann ich das Bild um 180 Grad drehen?
Vielen Dank im Voraus!
Könnte man mit einer ähnlichen Methode auch auf Twitch streamen ?
Ich habe probiert beim eingeben des streaming Schlüssel einfach den von meinem Twitch einusetzen, aber das klappt nicht. Ich bekomme „Input/output error“