Der Live(Bee)stream
Der Live(Bee)stream
25/11/2019
Imkern
beekeeping
security
iot

# Der Live(Bee)stream

Durch meinen Beruf bin ich viel unterwegs. Damit ich dennoch mal ein Blick auf die Bienen werfen kann, fehlte mir halt eine Kamera. Meine Frau immer ein Bild schicken lassen ist nicht Zielführend. Daher musste eine andere Lösung her.

Denn ich habe schon oft den Fall gehabt, das meine Frau meinte das ein Schwarm abgeht, als dann mein Schiwegervater vor Ort war, kam eine entwarnung. Nun wurde viel Wind gemacht für nichts (zuum Glück 😉).

Nun ich will dann nun doch etwas haben, wo ich dann einfach mal kurz hinschauen kann.

# Die Lösung

Ja die Sache ist klar, ich muss eine Kamera hinstellen. Jedoch kann es keine PC Kamera sein. Meine Anforderungen waren klar:

  • Die Kamera muss tauglich für außen (Regen / Hitze) sein
  • Sie muss ein Stream anbieten können
  • Das Ganze in HD anbieten
  • Für die dunklen Tage auch eine Nachtsicht Möglichkeit bieten
  • Wlan tauglich sein

# Die Hardware

Ich habe nach etwas Recherche eine Kamera gefunden die Hikam A7 (opens new window) Hikam A7

Diese bot mir das was ich benötigte:

  • HD Auflösung ✔
  • WLAN / LAN ✔
  • Nachtlicht ✔
  • Streaming ✔
  • Tauglich für den außen Einsatz ✔

Also habe ich das nun auch bestellt und kurz nachdem es bei mir eingetroffen war, habe ich mich auch direkt dran gemacht, um die Kamera in betrieb zu nehmen.

# Anbindung an das Netz

Die Einrichtung der Kamera geschieht mit Hilfe der eigenen App ganz leicht. Jedoch wollte ich die App nicht immer bei mir starten. Diese hatte nämlich den Fehler, dass ich beim beenden des Streams die komplette App neu starten musste, um den Stream erneut anzuzeigen. Der große Vorteil dieser Kamera war aber, dass dieser Stream sofort auch über das Internet funktionierte. Denn der Anbieter bot eine eigene kostenlose Cloud Dienstleisung dazu an, so dass die Kamera immer über die APP angesteuert und auch das Live-Bild gesehen werden kann.

Die Einbindung habe ich auch per WLan durchgeführt, denn ich wollte kein Netzwerkkabel dazu nach außen legen.

Nun da ich die App nicht verwenden wollte, musst eich nach einer alternative schauen. Ich brauchte also einen Dienstleister, der mir kostenlos einen Livestream anbot.

# Erstellen des Livestreams

Ich habe daraufhin geschaut, ob es möglich ist die Kamera direkt bei Youtube bekannt zu machen. Dies klappt natürlich nicht. Jedoch habe ich hier (opens new window) gelesen. Das ich als Kanalbetreiber eine eindeutige Stream Adresse generieren kann. In dieser ist ein Spezielle schlüssel vorhanden. An diese Adresse wird dann das Streamsignal "transferiert" und taucht dann direkt im Kanal als Stream auf. Wichtig zu wissen ist, dass es hier zu einer Verzögerung kommt. Was mir aber relativ egal ist.

Wer denkt das man nun einfach bei der Kamera irgendwo angeben kann, dass man die Streamdaten an diesen generierten Endpunkt versenden kann, hat sich leider getäauscht. Denn die Kamera verwende das RealTime Streaming Protocoll (opens new window). Youtube verwendet aber das RealTime Messaging Protocoll (opens new window). Das ist deshalb so, weil bei Youtube nicht nur ein STream an diesen Endpunkt gesendet werden kann, sondern auch ein Stream mit einer 360° Kamera oder entsprechen weitere Daten wie Untertitel oder Steuerbefehle.

Ich habe dann etwas gegoogelt was man dann verwenden kann, damit man ein RTSP nach RTMP konvertiern kann. Schnell kam ich auf das Tool ffmpeg (opens new window). Dies gibt es für Linux schon recht lange und ist quasi ein Alles nach alles konverter. Somit kann. Als ich das gelesen habe, war ich begeistert.

Also habe ich mal geschaut, was ich nehmenn muss. Ich kam dann nach vielen testen und experimentieren auf folgenden Befehl:

ffmpeg -f lavfi -i anullsrc -rtsp_transport udp -i rtsp://192.168.178.51:554/onvif1 -vcodec libx264 -pix_fmt + -c:v copy -c:a aac -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/MEINKEY

Was wird damit nun gemacht?

Parameter Erläuterung
-f lavfi Hier gebe ich an, dass ich einen komplexen Filter einsetze
-i anullsrc Hiermit gebe ich an das ich keinen Ton im Stream haben will
-rtsp_tranport udp Damit gebe ich an das der RTSP Stream über UDP abgefragt wird, somit passiert im Fehlerfall kein abbruch des konvertierens
-i rtsp://.... Das ist die Stream Url der Kamera
-vcodec libx264 Hiermit gebe ich an das ich einen HD Video Codec verwende
-pix_fmt + Dies ist für die Info über die möglichen Videoformate
-c:v copy Der zu verwendene Videocodec, in dem Fall wird der vorhandene einfach kopiert
-c:a aac Das Verwendete Audiocodec
-strict experimental
-f flv rtmp:// Dies gibt an, wohin das Ergebnis abgelegt werden soll. In dem Fall zum Youtube Stream

Bitte beachtet das der Wert MEINKEY mit dem Schlüssel von Youtube ersetzt werden muss. Sobald die ersten Daten versendet wurden, erscheint auch das Livebild im Live Controlroom Live Controlroom.

Nun kann ich auch ohne meine Leitung zu belasten, das Verhalten begutachten.

# Fazit

Ich habe bei der kompletten Aktion eine Menge gelernt. Es hat mir aber gezeigt, wenn man sich etwas mit der Materie aueinandersetzt, doch sehr schnell große Erfolge auzeichnen.

Mir hat das ganze auch schon den ersten Nutzen gebracht, denn hier gab es einmal einen Sturm. Ich war selbst nicht zuhause, sondern auf einer Geburtstagsfeier. Da ich durch die Sensorik einen Alarm erhalten habe, habe ich kurzerhand einfach mal in den Stream geschaut. Schnell sah ich das keine Deckel mehr auf den Bienenbeuten mehr vorhanden waren. SO konnte ich schnell handeln und jemanden bescheid geben, das er handeln kann.

Hat somit die betroffnen Völker konnten gerettet werden, denn es hatte oben rein geregnet und hätten diese weiter offen gestanden, dann wäre das Volk nicht mehr zu retten gewesen.

Für die, die es interessiert habe ich den Stream einfach mal hier verlinkt.

👋 Hi ich bin's, Sascha