Hikvision IP-Kameras & Alexa

Heute möchte ich kurz erklären, wie ich meine Hikvision Kameras dazu überredet habe, mit Alexa und Fire-TV zusammen zu arbeiten. Warum ich mich für Hikvision Kameras entschieden habe und welche Modelle es gibt und welche Features sie bieten, habe ich in diesem Beitrag geschrieben. Aber zuerst, wozu ist das überhaupt gut? Nun natürlich kann man seine IP-Kameras per App auf dem Smartphone anschauen. Oder per Webinterface am PC. Aber wäre es nicht auch cool, das Livebild am großen TV zu betrachten? Während man auf der Couch sitzt? Auf Zuruf per Alexa? Genau, das hat sich Amazon auch gedacht und die dafür notwendigen Schnittstellen in seine Geräte integriert. Nicht ganz ohne Eigennutz, denn Amazon vertreibt unter der Marke Blink und Ring eigene IP-Kameras, die es so perfekt ins eigene Ökosystem integrieren kann. Aber Amazon erlaubt auch anderen Anbietern Zugriff auf die entsprechenden Schnittstellen, um so ihre Überwachungskameras anzubinden. Voraussetzung ist jedoch, dass der jeweilige Anbieter einen entsprechenden Alexa-Skill bereitstellt und die Live-Streams SSL/TLS verschlüsselt anbietet. Leider hat Hikvision noch keinen Alexa-Skill veröffentlicht. Ich vermute zwar, dass Sie das früher oder später tun werden, doch auch ohne den Skill gibt es eine Möglichkeit, die ich euch hier Schritt für Schritt erläutern möchte.

Los geht’s. Die erste Voraussetzung ist, dass ihr euer Alexa-Gerät (z.B. Echo oder Echo-Dot) mit eurem Fire-TV Gerät (z.B. Fire TV Cube oder Fire TV Stick 4K) verknüpft habt. Logisch, denn woher soll Alexa sonst wissen, auf welchem Gerät sie das Livebild darstellen soll. Damit das klappt, müssen Echo-Gerät und Fire-TV miteinander kommunizieren können, sich also im gleichen Netzwerk, LAN oder Wlan, befinden. Außerdem muss auf beiden Geräten das gleiche Amazon Konto angemeldet sein.

Alexa App - Geräte - Echo und Alexa
Alexa App – Geräte – Echo und Alexa
Alexa App - Fire TV - Kommunikation aktiviert
Alexa App – Fire TV – Kommunikation aktiviert

Für die eigentliche Verknüpfung öffnet ihr dann eure Amazon Alexa App auf dem Smartphone. In der unteren Menuleiste wählt ihr „Geräte“ und anschließend „Echo und Alexa“ aus. In der nun folgenden Übersicht wählt ihr euer Fire-TV Gerät aus.
Hier muss sichergestellt sein, dass Kommunikation „aktiviert“ ist.

Verlasst die Geräteeinstellungen und öffnet als nächstes das Hauptmenu (links oben) und wählt „Einstellungen“ und dann unter „Alexa-Einstellungen“ den Punkt „TV und Video“. In dieser Übersicht wählt ihr „Fire TV“ aus und „Skill aktivieren“, falls noch nicht aktiv.

Alexa App - Einstellungen - Alexa Einstellungen
Alexa App – Einstellungen – Alexa Einstellungen
Alexa App - Einstellungen - TV und Video
Alexa App – Einstellungen – TV und Video
Alexa App - TV und Video - FireTV auswählen
Alexa App – TV und Video – FireTV auswählen
Alexa App - TV und Video - Alexa Gerät auswählen
Alexa App – TV und Video – Alexa Gerät auswählen

Jetzt werdet ihr gefragt, welches Gerät ihr mittels Alexa steuern wollt. Wählt hier das Fire-TV Gerät aus, das später die Kamerabilder wiedergeben soll und dann „Weiter“. Im letzten Schritt müsst ihr nun noch die Alexa-Geräte auswählen, mit denen ihr das Fire-TV steuern möchtet.

Abschließend wählt ihr noch „Gerät verbinden“ und et voilà, ab sofort könnt ihr euer Fire-TV mittels Alexa steuern. Wenn ihr mehrere Fire-TV und Alexa-Geräte euer eigenen nennt, wiederholt ihr das Ganze und könnt so z.B. jeweils die Echo und Fire-TV Geräte verknüpfen, die sich im selben Raum befinden.

Schritt zwei besteht darin, auf eurer Hikvison-Kamera einen Benutzer für den Zugang zum Livestream anzulegen. Öffnet dazu die Weboberfläche eurer IP-Kamera und wählt den Reiter „Konfiguration“ aus. Im Menu System wählt ihr sodann „Benutzer verwalten“ und klickt auf den Button „Hinzufügen“. Als Benutzertyp wählt ihr „Benutzer“ aus und vergebt einen Namen und Passwort. Ich habe z.B. als Namen „alexa“ gewählt. Als Berechtigung setzt ihr den Haken bei „Remote Liveansicht“ und klickt anschließend auf „Ok“. Fertig.

Hikvision - Weboberfläche - Benutzer verwalten
Hikvision – Weboberfläche – Benutzer verwalten

Wie bereits erwähnt stellt Hikvision noch keinen Alexa Skill zur Verfügung, weshalb man auf den Drittanbieter Monocle ausweichen muss. Im dritten Schritt legt ihr also einen kostenlosen Account bei Monocle an, klickt dazu auf der Webseite auf „Register Now“ und folgt den Anweisungen. Nachdem ihr eingeloggt seid, könnt ihr hier für jede Kamera einen Kamera-Feed anlegen.
Klickt dazu auf „Add Camera Feed“ und füllt das dann erscheinende Formular aus.

Monocle - Camera Feed hinzufügen
Monocle – Camera Feed hinzufügen

Wichtig ist hier der Name, denn mit diesem sprecht ihr später die Kamera über Alexa an. Er sollte also kurz und prägnant sein. Bei „Camera Feed/Stream URL (RTSP)“ müsst ihr die Stream URL eurer Kamera eingeben. Diese besteht aus dem Protokoll RTSP, der IP-Adresse der Kamera und dem Pfad zum Live Stream. Letzterer lautet für Hikvision IP-Kameras „/Streaming/Channels/10x/“ wobei „x“ für die Nummer des Streams steht. Hikvision IP-Kameras unterstützen bis zu drei Streams, standardmäßig sind aber nur zwei aktiv. Ich verwende Stream Nr. 2, auch wenn dieser maximal VGA-Auflösung bietet. Das liegt daran, dass ich für den ersten Stream der Hikvision Kameras H265 als Video-Codec verwende, um die bestmögliche Qualität bei geringem Speicherplatzbedarf zu erreichen, Alexa aber nur H264 unterstützt. Wer also gerne HD-Auflösung auf dem TV möchte, hat somit zwei Möglichkeiten. Erstens den Video-Codec des 1. Streams der Hikvision IP-Kamera in den Einstellungen auf H264 konfigurieren. Oder zweitens den 3. Stream der Hikvision IP-Kamera aktivieren. Das kostet allerdings zusätzliche Rechenpower, welche man sich mit dem Verlust einiger Smart-Funktionen der Kamera erkauft, beispielsweise der Gesichtserkennung.

Je nachdem für welche Variante ihr euch entscheidet, sieht eure URL also so aus:

rtsp://1.2.3.4:554/Streaming/Channels/101/ oder
rtsp://1.2.3.4:554/Streaming/Channels/102/ oder
rtsp://1.2.3.4:554/Streaming/Channels/103/

Statt 1.2.3.4 müsst ihr noch die IP-Adresse eurer Kamera eintragen. Ich konnte alle 3 Varianten erfolgreich testen. Als Authentication wählt ihr nun DIGEST aus und gebt die zuvor in Schritt Zwei angelegten Zugangsdaten ein. Als Video Resolution wählt ihr die Auflösung eures Streams aus. Achtung, einige Fire-TV Geräte unterstützen maximal HD-Auflösung. Bei Video-Codec steht nur H264 zur Auswahl und bei Audio-Codec wählt ihr „None“. Habt ihr eine Kamera mit Mikrofon, dann wählt stattdessen den Audio-Codec eures Streams aus. Bevor ihr auf Save klickt, tragt bei „Tags (Optional)“ noch folgenden Text ein: „@tunnel“. Wozu, erfahrt ihr in Schritt Vier.

Damit IP-Kameras mit Alexa bzw. Fire-TV zusammenarbeiten, setzt Amazon voraus, dass die Kommunikation TLS verschlüsselt auf Port 443 erfolgt und einen FQDN mit gültigem SSL Zertifikat verwendet. Um diese Anforderungen zu erfüllen, bietet Monocle eine Software an, das Monocle Gateway. Es fungiert als „Vermittler“ zwischen Kamera und Alexa, um genau diese Bedingungen zu erfüllen. Damit Monocle weiß, dass es das Gateway verwenden soll, haben wir in Schritt Drei den Tag „@tunnel“ eingetragen. Den Gateway Service müsst ihr auf einem lokalen Server installieren, welcher sich im gleichen Netzwerk wie die Kamera befindet. Hier eignet sich z.B. ein Raspberry PI, aber auch jeder andere Server unter Linux, Windows oder MacOS. Ich habe es bei mir auf einem Linux Server mit Ubuntu 18.04 installiert, was ich hier exemplarisch erkläre. Installationsanweisungen für weitere Betriebssysteme gibt es auf der Monocle Webseite. Zuerst ladet ihr die Software mit curl herunter:

curl -k -O https://files.monoclecam.com/monocle-gateway/linux/monocle-gateway-linux-x64-v0.0.4.deb

Legt als nächstes das Konfigurationsverzeichnis an:

sudo mkdir /etc/monocle

Im diesem Verzeichnis legt ihr das Monocle API Token in der Datei monocle.token ab, welches ihr auf der Monocle Webseite erstellen und herunterladen könnt. Loggt euch dazu auf der Monocle Webseite ein, klickt auf euren Namen und wählt im Dropdown Menu „My Account“. Klickt jetzt auf Add API Token und vergebt einen Namen. Anschließend könnt ihr es per Download Button herunterladen oder alternativ in die Zwischenablage kopieren. Achtung: Ich habe keine Möglichkeit gefunden, das Token erneut herunterzuladen, ohne es vorher zu löschen und ein neues zu erzeugen. Speichert es also an einem sicheren Ort ab (z.B. in einem Password Safe oder auf einem USB Stick). Liegt das Token an seinem Platz, kann es weiter gehen mit der eigentlichen Installation:

sudo dpkg -i monocle-gateway-linux-x64-v0.0.4.deb

Ist das Monocle Gateway installiert, könnt ihr wie folgt überprüfen, ob es ordnungsgemäß läuft:

monocle-gateway –tail

Hier muss eine Ausgabe ähnlich der folgenden zu finde sein:

monocle-gateway[866]: ————————————————-
monocle-gateway[866]: MONOCLE RTSP SERVICE – INITIALIZED
monocle-gateway[866]: ————————————————-
monocle-gateway[866]: FQDN = 12ab1ab1-1234-1a1a-abc1-1a1a1abcd123.mproxy.io
monocle-gateway[866]: HOST = 1.2.3.4
monocle-gateway[866]: PORT = 443
monocle-gateway[866]: ————————————————-

Ist die Ausgabe „MONOCLE RTSP SERVICE – INITIALIZED“ vorhanden ist alles gut. Falls nicht, haltet nach Fehlermeldungen Ausschau und versucht diese zu beseitigen.

Im fünften und letzten Schritt müsst ihr nun nur noch den Monocle Skill aktivieren. Öffnet dazu wieder eure Amazon Alexa App auf eurem Schlaufone und wählt im Hauptmenu „Skills und Spiele“ aus. Berührt dann die Lupe rechts oben, um die Suche zu aktivieren und tippt monocle ein. Als Suchergebnis müsste die Monocle App mit dem genauen Namen „Monocle RTSP/RTP IP-Kameras“ erscheinen. Aktiviert den Skill und loggt euch mit dem im dritten Schritt angelegten Monocle Account ein. Das war’s. Jetzt sollten die von euch in Monocle konfigurierten Kameras als Smart Home Geräte von Alexa erkannt werden. Mit dem Sprachbefehl „Alexa, zeige die Kamera Eingang an“ schaltet das Fire TV auf das Livebild eurer IP-Kamera mit dem Namen Eingang. „Alexa, blende die Kamera Eingang aus“ schaltet es wieder aus.

Ziemlich cool oder?

Alexa App - Monocle Skill
Alexa App – Monocle Skill

2 Kommentare

  1. Bin gerade auf diese schöne Anleitung gestoßen, beim Versuch meine Hikvision Kamera über Alexa anzusprechen. Ich habe folgende Schritte zur Einrichtung befolgt:
    – der rtsp-Stream URL getestet in VLC, das läuft
    – monocle Account ist angelegt und Kamera hinzugefügt (mit Tag @tunnel)
    – Alexa Skill ist verknüpft
    – monocle-Gateway ist konfiguriert und es werden bei jedem „Alexa, zeig mir die Webcam“-Versuch auch drei neue Verbindungslogs erzeugt, ohne Fehler.
    Trotzdem erhalte ich immer die Rückmeldung von Alexa „Die Kamera reagiert nicht“ …

    Habe alle Schritte schon mehrfach wiederholt und neu eingerichtet, leider ohne Erfolg. Mir fehlt eine Idee, was ich noch versuchen oder woran es liegen könnte, dass es nicht klappt. Ich verwende das Modell DS-2CD2142FWD-IS und hätte das Bild davon gerne auf einem Fire TV Stick 4K und Echo Show 5.

    Bin für jeden Hinweis dankbar!

    1. Hallo!

      Ich hatte vereinzelt auch schon schlechte Tage, an denen ich immer einen Timeout bekommen hab. Aber meist ging es am nächsten Tag wieder, ohne dass ich was geändert hab. Hast du es schon über mehrere Tage hinweg versucht?
      Aus der Ferne lässt sich das natürlich nur schwer sagen, was da schief läuft.
      Hier ein paar Ansatzpunkte, die du prüfen könntest:
      Falls dein Fire/Echo Devices per WLan angebunden sind, ist das WLan schnell genug? Um HD-Streams zu übertragen, sollte die Verbindung mit mindestens 30 MBit stehen.
      Hast du geprüft, dass deine Stream H264 und nicht H265 sind?
      Fire/Echo Devices und Monocle Server befinden sich im gleichen Netz, ohne Firewall dazwischen, insbesondere Port 443 ist ereichbar und auf dem Server nicht anderweitig belegt (z.B. durch einen Webserver der da läuft)?
      Falls du HD Auflösung verwendest, hast du es mal mit einer niedrigeren Auflösung versucht?
      Falls gar nichts weiter hilft, schick mir doch mal das Log vom monocle gateway. Bei mir erscheinen da mehr als nur 3 Einträge, wenn die Verbindung aufgebaut wird.

      VG
      Sickboy

Schreibe einen Kommentar zu Sickboy Antworten abbrechen

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