rdmtc / RedMatic

Node-RED packaged as Addon for the Homematic CCU3 and RaspberryMatic 🤹‍♂️
Apache License 2.0
535 stars 47 forks source link

Redmatic - Kamera-Plugin - keine Bildübertragung #425

Open Ron0815 opened 3 years ago

Ron0815 commented 3 years ago

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 commented 3 years ago

Hat niemand eine Idee?

sroettgermann commented 3 years ago

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?

Ron0815 commented 3 years ago

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 commented 3 years ago

Die Anleitung habe ich exakt befolgt.

Ron0815 commented 3 years ago

Muss ich eventuell auch in meinem Router den Port freigeben?

Ron0815 commented 3 years ago

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 ...

dehsgr commented 3 years ago

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:

Ron0815 commented 3 years ago

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.

dehsgr commented 3 years ago

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

Ron0815 commented 3 years ago

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?

dehsgr commented 3 years ago

Kommt ein sinnvoller Output zustande?

Ron0815 commented 3 years ago

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 commented 3 years ago

Dein Vorschlag bringt folgendes hervor string[51922] <!doctype html>

Reolink
dehsgr commented 3 years ago

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.

Ron0815 commented 3 years ago

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?

dehsgr commented 3 years ago

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?

sroettgermann commented 3 years ago

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.

Ron0815 commented 3 years ago

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 commented 3 years ago

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

dehsgr commented 3 years ago

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:

<!doctype 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?

Ron0815 commented 3 years ago

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

Ron0815 commented 3 years ago

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 commented 3 years ago

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 ...

sroettgermann commented 3 years ago

[..] „ -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.

Ron0815 commented 3 years ago

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?

sroettgermann commented 3 years ago

Da gehen mir leider auch die Ideen aus. Sorry.

Ron0815 commented 3 years ago

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

em-ey commented 3 years ago

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:kennwort@192.168.x.xxx: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.

PhilipFleckner commented 2 years ago

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:test123@192.168.xxx.xxx: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.

em-ey commented 2 years ago

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 :-)