RedMatic icon indicating copy to clipboard operation
RedMatic copied to clipboard

Redmatic - Kamera-Plugin - keine Bildübertragung

Open Ron0815 opened this issue 3 years ago • 30 comments

Liebe Smarthomer,

ich weiß: ein sehr ähnliches Thema gab es schon einmal in diesem Forum. Aber leider komme ich mit den dortigen Hinweisen in meinem Fall nicht weiter uund hoffe, dass mir hier jemand helfen kann.

Meine Systemumgebung: Fritzbox 7590, Firmware 7.21 Raspberry Pi 3 B+ mit Raspberrymatic, neueste Firmware Nod-Red Addon 6.0.4 Redmatic-Plugin, aktuelle Version AppleTV 4 als Steuerzentrale Reolink-Kamera RLC-410-5MP

Mein Problem bezieht sich auf das Kamera-Plugin der Redmatic, über das ich zwei der oben genannten nicht-homekit-fähigen Kameras in Homekit eingebunden habe. Sämtliche Konfigurationsangaben für die Kameras entsprechen exakt denjenigen, die schon einmal in einer separaten Homebridge-Installation einwandfrei funktioniert haben; die Bild- und Streamübertragung lief ohne Störung. In der Redmatic-Umgebung läuft das jedoch nicht. Ich erhalte in der Home-App nur das schwarze Bild mit dem durchgstrichenen Kamera-Symbol.

Woran kann das liegen bzw. wie kann ich diesen Fehler beheben?

Für Hilfe wäre ich wirklich dankbar.

VG

Ron0815 avatar Oct 23 '20 09:10 Ron0815

Hat niemand eine Idee?

Ron0815 avatar Oct 25 '20 06:10 Ron0815

Ich gehe mal davon aus, dass du bei Kamera-Plugin das redmatic homekit camera accessory meinst. Hast du bedacht, verschiedene Ports zuzuweisen und diese auch in der RaspberryMatic Firewall freizugeben?

Diese Anleitung angesehen?

sroettgermann avatar Oct 29 '20 14:10 sroettgermann

Ja, genau das meine ich. Und ja, verschiedene Ports habe ich ebenfalls zugewiesen und auch in in der Raspberrymatic-Firewall freigegeben. Leider ohne Erfolg.

Ron0815 avatar Oct 30 '20 15:10 Ron0815

Die Anleitung habe ich exakt befolgt.

Ron0815 avatar Oct 30 '20 15:10 Ron0815

Muss ich eventuell auch in meinem Router den Port freigeben?

Ron0815 avatar Oct 31 '20 09:10 Ron0815

Kann mir hier wirklich niemand helfen? Ich verstehe nicht, was die Ursache meines Problems sein könnte. Die Verbindung scheint ja zu funktionieren, da ich die Kamera in Homekit über „Gerät hinzufügen“ auswählen und auch erfolgreich einbinden konnte. Es wird nur eben kein Bild übertragen, obwohl die Einstellungen identisch mit denen sind, die ich im ffmpeg-plugin für homebridge bereits erfolgreich eingerichtet hatte ...

Ron0815 avatar Nov 01 '20 11:11 Ron0815

Du könntest ja mal versuchen, auf die Streaming- und Vorschaubild-URLs direkt zuzugreifen (erst einmal normal über den Browser). Was passiert da? Bekommst Du da etwas angezeigt? Wenn nein, dann kannst Du zumindest schon einmal ein eine bestimmte Richtung abgrenzen. Dass Du die Kamera in HomeKit angezeigt bekommst bedeutet ja lediglich, dass das Accessory angelegt wurde - mehr erst einmal nicht.

Im Router musst Du m.E. nichts freigeben. Da geht es ja erst einmal um eingehenden Datenverkehr aus dem Internet in Dein internes Netzwerk. Und in Deinem internen Netzwerk bewegst Du Dich ja bereits.

Zusätzliche Denkanstöße:

  • Hat sich z.B. die IP der Kamera(s) geändert?
  • Hast Du die Homebridge noch und läuft es da noch?

dehsgr avatar Nov 01 '20 11:11 dehsgr

Hallo,

vielen Dank für die Hinweise. Im Browser funktioniert es; das Standbild wird dort korrekt angezeigt. Ebenso in der homebridge, die ich zur Zeit noch parallel betreibe. Die IP-Adresse hat sich nicht geändert.

Ron0815 avatar Nov 01 '20 12:11 Ron0815

Gut. Damit haben wir es grundsätzlich schon einmal in Richtung RaspberryMatic/RedMatic abgegrenzt.

  • Was passiert denn, wenn Du mal die Homebridge beendest, bzw. deren Kameras aus HomeKit entfernst? Evtl. tritt hier ein Problem anhand eines doppelten Zugriffs auf?
  • Was bekommst Du für einen Response, wenn Du mal den URL für das Vorschaubild via eines HTTP-Request-Nodes anrufst. Klappt das?

dehsgr avatar Nov 01 '20 12:11 dehsgr

Tja, das Stoppen der Homebridge hat leider auch nicht die Ursache zu erkennen gegeben. Den zweiten Punkt verstehe ich leider nicht, da ich mich mit NodeRed noch gar nicht auskenne ... Was muss ich da tun?

Ron0815 avatar Nov 01 '20 13:11 Ron0815

  • Man nehme: image
  • Platziere es auf einem Flow.
  • Lege die folgenden Eigenschaften fest:
  1. Methode: GET
  2. URL: den Vorschaubild-URL
  3. abhängig von Verwendung von HTTPS den entsprechenden Haken setzen
  4. Rückgabe: Eine UTF-8-Zeichenfolge
  • An das Node injiziert man via Inject-Node z.B. einen Timestamp
  • An den Output wird ein Debug-Node (auf das volle Nachrichtenobjekt konfiguriert) angeklemmt

Kommt ein sinnvoller Output zustande?

dehsgr avatar Nov 01 '20 17:11 dehsgr

Ne, sorry. Ich kriege es nicht hin. Ich muss mich mit dem Thema mal auseinandersetzen, wenn ich mehr Zeit dafür habe. Im Augenblick überfordert mich das. NordeRed ist halt nix für Anfänger wie mich.

Aber vielen vielen Dank nochmal für Deinen Einsatz und die Hilfsbereitschaft.

Ron0815 avatar Nov 01 '20 17:11 Ron0815

Dein Vorschlag bringt folgendes hervor string[51922]

Reolink
    <link href="css/glDatePicker.default.css?timeVersion=00000000046" rel="stylesheet" type="text/css">
    <link href="css/channel.css?timeVersion=00000000046" type="text/css" rel="stylesheet" />
    <link href="css/index.css?timeVersion=00000000046" type="text/css" rel="stylesheet" />
    <link href="css/skin.css?timeVersion=00000000046" type="text/css" rel="stylesheet"/>
    <link href="css/reset.css?timeVersion=00000000046" type="text/css" rel="stylesheet"/>
    <link href="css/bc_css.css?timeVersion=00000000046" type="text/css" rel="stylesheet"/>
    <link href="css/login.css?timeVersion=...

Ron0815 avatar Nov 01 '20 17:11 Ron0815

Ich denke, dass wir da schon ziemlich dicht an der Ursache sein dürften. M.E. rufst Du nämlich eine HTML-Seite ab. Entscheidend dürfte aber (wie auch bei ffmpeg/Homebridge) sein, dass Du direkt ein Bild, bzw. den Stream geliefert bekommst.

dehsgr avatar Nov 01 '20 20:11 dehsgr

Der Abruf des Standbildes geschieht hier im ffmpeg mit „ -i http://192.xxx.xxx.xx:80/cgi-bin/api.cgi?cmd=Snap&channel=0&user=user&password=password“. Ist das nicht richtig?

Ron0815 avatar Nov 01 '20 20:11 Ron0815

Vom URL her würde ich sagen ja, aber(!) vom Response her würde ich sagen nein, da Du anscheinend eine HTML-Seite zurückerhältst. Wenn Du von UTF-8-Zeichenfolge auf Binär umstellst (Deinen Request), was kommt denn dann zurück?

dehsgr avatar Nov 01 '20 21:11 dehsgr

Warum denn Port 80?

Bei meiner "China-Kamera" liegt der rstp-Stream auf Port 554. Port 80 ist doch i. d. R. das Webinterface.

Probier das doch mal aus.

sroettgermann avatar Nov 01 '20 22:11 sroettgermann

Wenn ich auf biär umstelle, kommt das: 2.11.2020, 07:02:20node: 332077bf.3d3fd8 msg.payload : buffer[51960] buffer[51960]raw [0 … 9] [10 … 19] [20 … 29] [30 … 39] [40 … 49] [50 … 59] [60 … 69] [70 … 79] [80 … 89] [90 … 99] [100 … 109] [110 … 119] [120 … 129] [130 … 139] [140 … 149] [150 … 159] [160 … 169] [170 … 179] [180 … 189] [190 … 199] [200 … 209] [210 … 219] [220 … 229] [230 … 239] [240 … 249] [250 … 259] [260 … 269] [270 … 279] [280 … 289] [290 … 299] [300 … 309] [310 … 319] [320 … 329] [330 … 339] [340 … 349] [350 … 359] [360 … 369] [370 … 379] [380 … 389] [390 … 399] [400 … 409] [410 … 419] [420 … 429] [430 … 439] [440 … 449] [450 … 459] [460 … 469] [470 … 479] [480 … 489] [490 … 499] 490: 0x69 491: 0x6e 492: 0x6b 493: 0x20 494: 0x68 495: 0x72 496: 0x65 497: 0x66 498: 0x3d 499: 0x22 [500 … 51960]

Ron0815 avatar Nov 02 '20 06:11 Ron0815

Port 80 ist vom Hersteller frür das Standbild vorgegeben, 554 ist für den Videostream. Beides funktioniert aber nicht.

Ron0815 avatar Nov 02 '20 06:11 Ron0815

Wenn ich auf biär umstelle, kommt das: Okay. Binär war eine blöde Idee, bei der ich nicht mitgedacht habe. ;-)

Was man bei Port 80 sieht ist klassisches HTML:

Reolink

Bei klassischem HTML handelt es sich jedoch nicht um ein Vorschaubild. Wenn Du Dir nach Aufruf des Vorschaubild-URL den Seiten-Quelltext des Webbrowsers anschaust, erhältst Du dort auch HTML angezeigt, oder evtl. nicht?

dehsgr avatar Nov 02 '20 06:11 dehsgr

Uaah, das muss ich mir heute Abend nach der Arbeit nochmal anschauen. Ich melde mich ...

Ron0815 avatar Nov 02 '20 13:11 Ron0815

Ich kriege das im Augenblick nicht hin und muss mich morgen nochmal damit befassen. Safari am Mac zeigt mir schon das Standbild nicht an, auf dem iPad ging es noch. Am iPad kann ich mir aber nicht den Quellcode anzeigen lassen. Ich melde mich, sobald ich einen Wg gefunden habe.

Ron0815 avatar Nov 02 '20 19:11 Ron0815

Soeben habe ich versucht, den Quelltext derjenigen Seite aufzurufen, die vom Standbild meiner Kamera im Browser angezeigt wird. Dazu habe ich zunächst „ -i http://192.xxx.xxx.xx:80/cgi-bin/api.cgi?cmd=Snap&channel=0&user=user&password=Passwort“ eingegeben. Das funktionierte zunächst nicht, nachdem ich aber die Zeichen vor http gelöscht hatte, wurde mir das Standbild angezeigt. Allerdings ließ sich in Firefox kein Quelltext ausgeben; dieser Menüpunkt war hier nun ausgegraut.

Ich weiß nicht, ob Euch das bei der Beurteilung meines Problems weiterhilft. Ich blicke da nicht durch - und ich wundere mich nach wie vor, dass dieselben Angaben im ffmpeg-plugin für Homebridge funktionieren und im Redmatic-Accessory nicht ...

Ron0815 avatar Nov 03 '20 18:11 Ron0815

[..] „ -i http://192.xxx.xxx.xx:80/cgi-bin/api.cgi?cmd=Snap&channel=0&user=user&password=Passwort“ [..]

Ich weiß nicht, ob Euch das bei der Beurteilung meines Problems weiterhilft. Ich blicke da nicht durch - und ich wundere mich nach wie vor, dass dieselben Angaben im ffmpeg-plugin für Homebridge funktionieren und im Redmatic-Accessory nicht ...

Das was du da gepostet hast, ist ja der cgi-Command. Hier ist die Frage was dieser für einen Rückgabewert hat. Wenn das Bild da in einer HTML Seite gekapselt ist, wird es schwierig dies in dem HK Accessory zu verarbeiten (insofern dieses ein JPG erwartet).

Ich habe bei mir gerade mal nachgeschaut. Beimir sieht es wie folgt aus:

-i http://123.123.123.123/snap.jpg?user=userpw&pwd=userpwd

Sprich, es wird ein jpg zurückgegeben... teste das doch mal aus.

sroettgermann avatar Nov 05 '20 11:11 sroettgermann

Ne, funzt leider auch nicht. Was kann denn der Grund sein, dass es über das ffmpeg-plugin der Homebridge funktioniert und mit identischen Einträgen im Node nicht?

Ron0815 avatar Nov 05 '20 18:11 Ron0815

Da gehen mir leider auch die Ideen aus. Sorry.

sroettgermann avatar Nov 06 '20 10:11 sroettgermann

Schade, aber trotzdem vielen Dank für Deinen Einsatz. Das ist ja nicht selbstverständlich!

Ron0815 avatar Nov 06 '20 16:11 Ron0815

Vieleicht nicht mehr nötig, aber hier funktionierende URL's für die Reolink RLC-410 5MP.

User/Kennwort und IP's anpassen.

source: -rtsp_transport tcp -re -i rtsp://admin:[email protected]:554/h264Preview_01_sub stillImageSource: -i http://192.168.x.xxx/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=admin&password=kennwort

Im Node hinterlegte Ports in der Raspberrymatic Firewall freigeben

Redmatic nach Anpassung, neustarten.

em-ey avatar Feb 24 '21 13:02 em-ey

Hey... Ich habe ein das gleiche Problem wie oben beschrieben... CCU 3 mit Node Red und Homekit Reolink RLC420 Firmware V2.0.0.354_19031101 Einen Snapshot lasse ich mir bereits schicken das klappt auch über Node Red in Richtung Telegram. Die Kamera lässt sich im Homekit auch finde/integrieren aber ich habe nur ein schwarzes Bild... Habe auch bereits mit einem Testbenutzer das ganze versucht Bei Source:
-rtsp_transport tcp -re -i rtsp://philip:[email protected]:554/h264Preview_01_sub

Stillimagesource: -i http://192.168.xxx.xxx:80/cgi-bin/api.cgi?cmd=snap&channel=0&rs=95270000fxdikaur&user=philip&password=test123&fbclid=iwar3v6eqpmwbfnhig3wmlybvvh5m1gvb_gmd31a-uadanwcxoclkrc98bp1e Auf der Homematic habe ich Port 554 Port 80 und den Kamera Port freigegeben. Auch mehrere Neustarts haben nicht gebracht Redmatic Homekit Im Node Red ist der Grüne Punkt neben der Node Camera...

Ich sage schon einmal danke für die Unterstützung.

PhilipFleckner avatar Mar 22 '22 12:03 PhilipFleckner

So sollte die Stillimage Adresse aussehen. Ohne Portangabe usw.

Siehe auch: https://support.reolink.com/hc/en-us/articles/360007011233-How-to-Capture-Live-JPEG-Image-of-Reolink-Cameras-via-Web-Browsers

-i http://192.168.x.xxx/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=philip&password=test123

Ich setze keine Reolink Kameras mehr ein, kann also nicht mehr beurteilen ob dieses Konstrukt noch funktioniert :-)

em-ey avatar Mar 24 '22 12:03 em-ey