Überwachungskamera Livestream am Raspberry Pi einrichten (mit USB Webcam)

Überwachungskamera Livestream mit einem Raspberry Pi? Natürlich! Mit wenigen Hilfsmitteln ist das ganz einfach möglich und funktioniert super.

Überwachungskameras sind häufig sehr teuer und manchmal braucht es gar nicht so viele Funktionen. Mit einfachsten Materialien und in wenigen Schritten zeige ich dir, wie du dir mit deinem Raspberry Pi* eine Überwachungskamera mit Livestream, also Live-Video konfigurieren kannst. Auch außerhalb unseres Heimnetzwerkes können wir den Livestream verfügbar machen – sonst wäre das alles ja witzlos.

Alles was du dazu brauchst ist ein Raspberry Pi*, eine handelsübliche USB-Webcam (z.B. diese*), ein wenig Geduld und diese Anleitung 🙂

Ich habe dieses Tutorial mit dem Betriebssystem Raspbian erstellt. Du kannst aber auch alle anderen Linux Distributionen nutzen.

Schau dir gerne zuerst diese Linux Befehle für Einsteiger an, falls du komplett neu in der Linux Welt bist.

Raspberry Pi vorbereiten

Im ersten Schritt solltest du deinen Raspberry Pi* einmal auf den aktuellsten Software Stand bringen. Führe dazu folgenden Befehl aus (der Pi sollte dazu bereits mit dem Internet verbunden sein):

sudo apt-get update && sudo apt-get upgrade

Optional: Remote Desktop aktivieren

Für die erste Einrichtung solltest du natürlich einen Monitor, Tastatur und Maus an deinen Raspberry Pi angeschlossen haben. Ich finde es aber lästig, ständig zwischen meinem normalen Rechner und dem Pi zu wechseln. Daher kannst du dir das Leben erleichtern und per Remote Desktop Verbindung auf deinen Raspberry Pi zugreifen und ihn konfigurieren.

Dazu musst du nur das Paket xrdp installieren:

sudo apt-get install xrdp

Anschließend kannst du dich auch deinem Rechner mit dem vorinstallierten Programm „Remotedesktopverbindung“ mit deinem Raspberry Pi verbinden. Der Hostname deines Raspberry Pis lautet „raspberrypi“, sofern du ihn nicht geändert hast.

Windows Remote Desktop Verbindung zum Raspberry Pi
Windows Remote Desktop Verbindung zum Raspberry Pi

Als Zugangsdaten nutzt du die von dir gesetzten oder die Standard Zugangsdaten:

Benutzer: pi
Passwort: raspberry

Raspberry Pi Livestream Package installieren (Motion)

Führe nun folgenden Befehl aus, um das Motion Package zu installieren, welches wir zum Streaming des Videos nutzen werden:

sudo apt-get install motion -y

Die Konfiguration erfolgt im nächsten Schritt.

Raspberry Pi Überwachungskamera richtig einstellen

Schließe jetzt deine USB-Webcam an der Raspberry Pi an, falls du das noch nicht getan hast.

Mit diesem Befehl kannst du prüfen, ob deine USB Webcam vom System erkannt wurde:

lsusb

Hier sollte deine Kamera mit aufgelistet werden. Bei mir es der oberste Eintrag.

Ausgabe von lsusb
Ausgabe von lsusb

Außerdem sollte der Befehl ls /dev/video* folgende Ausgabe liefern:

Ausgabe von ls /dev/video*
Ausgabe von ls /dev/video*

Nun, da die Kamera läuft können wir Motion einrichten. Motion übernimmt für uns eigentlich alle Aufgaben: Es startet im Hintergrund einen Daemon welcher uns dauerhaft das aktuelle Videobild liefert und auf einer Weboberfläche darstellen kann.

Um Motion so zu konfigurieren, damit wir am Ende ein flüssiges Bild lassen wir uns ein paar Eigenschaften unserer Cam ausgeben. Dazu nutzt du den Befehl v4l2-ctl -V.

Raspberry Pi USB-Webcam Eigenschaften: Ausgabe von v4l2-ctl -V
Raspberry Pi USB-Webcam Eigenschaften: Ausgabe von v4l2-ctl -V

Davon brauchen wir ein paar Daten, die in den nächsten Schritten wichtig werden. Wir müssen jetzt die Motion Konfigurationsdatei bearbeiten. Nutze dazu folgenden Befehl:

sudo nano /etc/motion/motion.conf

Hier lassen sich unzählige Parameter verändern. Ich musste ein wenig rumprobieren, um am Ende ein nahezu ruckelfreies Bild zu erhalten. Ich würde dir empfehlen alle Einstellungen wie folgt anzupassen. Falls bei dir das Bild am Ende nicht in Ordnung ist kannst du selber noch etwas mit den einzelnen Parametern rumspielen. Passe also nun die rot-markierten Zeilen in deiner Konfigurationsdatei an.

# Start in daemon (background) mode and release terminal (default: off)
daemon on

Die Werte für die Parameter v4l2_palette, width und height entnimmst du der Ausgabe unseres vorherigen Befehls.

# v4l2_palette allows to choose preferable palette to be use by motion
# to capture from those supported by your videodevice. (default: 17)
# E.g. if your videodevice supports both V4L2_PIX_FMT_SBGGR8 and
# V4L2_PIX_FMT_MJPEG then motion will by default use V4L2_PIX_FMT_MJPEG.
# Setting v4l2_palette to 2 forces motion to use V4L2_PIX_FMT_SBGGR8
# instead.
#
# Values :
# V4L2_PIX_FMT_SN9C10X : 0  'S910'
# V4L2_PIX_FMT_SBGGR16 : 1  'BYR2'
# V4L2_PIX_FMT_SBGGR8  : 2  'BA81'
# V4L2_PIX_FMT_SPCA561 : 3  'S561'
# V4L2_PIX_FMT_SGBRG8  : 4  'GBRG'
# V4L2_PIX_FMT_SGRBG8  : 5  'GRBG'
# V4L2_PIX_FMT_PAC207  : 6  'P207'
# V4L2_PIX_FMT_PJPG    : 7  'PJPG'
# V4L2_PIX_FMT_MJPEG   : 8  'MJPEG'
# V4L2_PIX_FMT_JPEG    : 9  'JPEG'
# V4L2_PIX_FMT_RGB24   : 10 'RGB3'
# V4L2_PIX_FMT_SPCA501 : 11 'S501'
# V4L2_PIX_FMT_SPCA505 : 12 'S505'
# V4L2_PIX_FMT_SPCA508 : 13 'S508'
# V4L2_PIX_FMT_UYVY    : 14 'UYVY'
# V4L2_PIX_FMT_YUYV    : 15 'YUYV'
# V4L2_PIX_FMT_YUV422P : 16 '422P'
# V4L2_PIX_FMT_YUV420  : 17 'YU12'
#
v4l2_palette 15
# Image width (pixels). Valid range: Camera dependent, default: 352
width 512

# Image height (pixels). Valid range: Camera dependent, default: 288
height 288
# Maximum number of frames to be captured per second.
# Valid range: 2-100. Default: 100 (almost no limit).
framerate 30

Tipp: Mit STRG+W kannst du im nano-Editor nach Wörtern suchen.

# Let motion regulate the brightness of a video device (default: off).
# The auto_brightness feature uses the brightness option as its target value.
# If brightness is zero auto_brightness will adjust to average brightness value 128.
# Only recommended for cameras without auto brightness
auto_brightness on
# Number of frames to capture after motion is no longer detected (default: 0)
post_capture 5
# The quality (in percent) to be used by the jpeg compression (default: 75)
quality 100
# Use ffmpeg to encode movies in realtime (default: off)
ffmpeg_output_movies on
# Bitrate to be used by the ffmpeg encoder (default: 400000)
# This option is ignored if ffmpeg_variable_bitrate is not 0 (disabled)
ffmpeg_bps 500000
# Use ffmpeg to deinterlace video. Necessary if you use an analog camera
# and see horizontal combing on moving objects in video or pictures.
# (default: off)
ffmpeg_deinterlace off
# Quality of the jpeg (in percent) images produced (default: 50)
stream_quality 35
# Output frames at 1 fps when no motion is detected and increase to the
# rate given by stream_maxrate when motion is detected (default: off)
stream_motion off
# Maximum framerate for stream streams (default: 1)
stream_maxrate 30
# Restrict stream connections to localhost only (default: on)
stream_localhost off

Nun müssen wir noch den Daemon, also den Motion Dienst aktivieren:

sudo nano /etc/default/motion

Hier setzt du einfach den Parameter von start_motion_daemon auf yes und speicherst die Datei ab.

Alles fertig! Lass‘ uns unsere Überwachungskamera starten! 🙂

sudo nano service motion start

Über die Weboberfläche solltest du jetzt den Livestream sehen: http://localhost:8081.

Du kannst weitere Parameter in der Config anpassen. Beachte, dass du danach den Service mit sudo nano service motion restart immer neu starten musst.

Überwachungskamera nach außen (im Internet) verfügbar machen

Die Überwachungskamera macht natürlich mehr Sinn, wenn sie nicht nur im Heimnetzwerk, sondern auch von außerhalb, also weltweit erreichbar ist. Dazu kannst du einen Router entsprechend konfigurieren.

Ich nutze dazu eine VPN-Verbindung in mein Heimnetzwerk und verbinde mich dann über den Hostname mit der Weboberfläche: http://raspberrypi:8081. Die Einrichtung habe ich in einem separaten Tutorial beschrieben:

VPN mit DynDNS an deinem Router einrichten

Raspberry Pi Boot-Probleme beheben

Anfangs hatte ich das Problem, dass mein Pi ohne Monitor nicht gestartet ist. Der kleine Kasten soll natürlich irgendwo versteckt werden. Die Lösung ist, dass du mit sudo raspi-config unter Advanced Options > A5 Resolution eine beliebige Einstellung wählst. Ohne einen HDMI-Eingang startet der Pi sonst nicht richtig.

Fazit

Wie du siehst braucht es gar nicht viel um eine eigene Überwachungskamera mit einem Raspberry Pi zu bauen. Für welchen Einsatzzweck wirst du sie nutzen?

Ähnliche Beiträge
Beteilige dich an der Unterhaltung

3 Kommentare

  1. Florian sagt:

    Haut bei mir leider nicht hin… Sehe in camera.ui die Kamera leider nicht…

  2. Siegfried Görlich sagt:

    Hallo,die Anleitung ist ja gut geschrieben und soweit klappt auch alles.Ziemlich am Schluss stehen die Zeilen „sudo nano service motion start“ und „sudo nano service motion restart“Bist du dir sicher dass das so richtig ist? :-)Freundliche GrüßeSiggi

    1. Lorenz sagt:

      Hallo, freut mich zu hören! Ja, ich bin sicher. Einmal zu Beginn starten und wenn was an der Config angepasst wird, einmal mit „restart“ neustarten. 

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

bold italic underline strikeThrough
insertOrderedList insertUnorderedList outdent indent
removeFormat
createLink unlink
code

Das könnte dich auch interessieren