Grundsätzlich könnte der Videostream der Webcam, mit dem entsprechenden Portfreigabe, direkt auf der Website eingebunden werden. Der Vorteil wäre ein Livebild. Da dies aber sehr viel Bandbreite und Energie benötigt, setze ich auf ein-zelne Fotos. Zusätzlich möchte ich die Webcam nicht direkt mit dem Internet ver-binden, da es in der Vergangenheit immer wieder Vorfälle mit festkonfigurierten Passwörtern und undokumentierten Funktionen gab, die den Benutzern nicht be-kannt waren.
Speichern des Stream
Als Erstes muss herausgefunden werden, über welche URL die Webcam den Video-stream bereitstellt wird und ob Zugangsdaten benötigt werden. Bei meinem Webcam Model wird der Stream über das RTSP-Protokoll (Real-Time Streaming) zur Verfügung gestellt und die Zugangsdaten können direkt in der URL mit überge-ben werden.
rtsp://BENUTZER:PASSWORT@IPADRESSE:PORT
FFmpeg Tools
Zum Speichern des Streams der Wetter-Webcam bietet sich das Tool FFmpeg an. Dabei handelt es sich um eine Sammlung von Tools und Skripten, um Videos zu be-arbeiten, umzuwandeln und zu speichern. Die Software ist unter einer freien Open Source Lizenz verfügbar und das Schweizer Taschenmesser der Videobearbeitung, da nahezu alle Protokolle und Videocodecs unterstützt werden, die typischerweise Anwendung finden. Daher wird FFmpeg auch in vielen anderen Anwendungen ein-gesetzt.
FFmpeg wird von vielen Linux-Distributionen unterstützt und kann z.B. unter Ubuntu direkt installiert werden:
sudo apt install ffmpeg
Da die Software Open-Source ist, sind einige Codecs, die unter einer Lizenz stehen, nicht beinhaltet. Diese können mit dem folgenden Befehl nachinstalliert werden:
sudo apt install libavcodec-extra
Mit welchen Parametern das beste Ergebnis erzielt werden kann, ist nicht immer so einfach herauszufinden, da FFmpeg sehr viele Einstellungsmöglichkeiten bietet. In der Konfiguration meiner Webcam habe ich die höchste Auflösung ausgewählt und alle Parameter für die Qualität auf die maximale Einstellung gesetzt und dafür die Bildwiederholung auf den niedrigsten Wert.
Danach habe ich mit verschiedenen Parametern experimentiert, um die optimale Bildqualität für meine Webcam zu erhalten. Als Ausgabe möchte ich natürlich nur einen einzelnen Frame erhalten, der als JPG-Datei gespeichert wird.
ffmpeg -y -i rtsp://BENUTZER:PASSWORT@IPADRESSE:PORT -qscale:v 2 -vframes:v 1 -huffman optimal /webcam/webcam-stadt-balingen.jpg
Per Cronjob wird der Befehl alle 20 Sekunden ausgeführt und das bisherige Webcam-Foto einfach überschrieben.
Webcam Artikelserie
Dieser Artikel ist Teil der Artikelserie Webcam Stadt Balingen. Die Webcam steht in Balingen auf dem Stettberg. Balingen befindet sich südlich von Stuttgart, auf hal-ben Weg zum Bodensee und im Zentrum des Zollernalbkreises. Die Webcam ist nach Süden ausgerichtet mit Blick auf die Innenstadt von Balingen.
In dieser Artikelserie werde ich die Einrichtung und Nutzung der Webcam in den folgenden Blog-Beiträgen beschreiben: