NEWS
Synology rts stream Reolink Kamera Vis - gelöst
-
@xbit sagte in Synology rts stream Reolink Kamera Vis:
var request = require('request'); // Konfiguration var user = "XXX"; // Synology Benutzer mit Berechtigung die Kamera anzuzeigen var pass = "XXX"; // Passwort zu eben eingegebenem Benutzer var ip = "192.168.1.254"; // IP-Adresse eures Synology-NAS var port = 5000; // default Port der Surveillance Station var cameraID = 5; // ID der Kamera, welche angezeigt werden soll createState('0_userdata.' + instance + '.Kamera', {'type': 'string', 'read': true, 'write': true, 'role': 'value', 'def': ""}); // Authentifizierung an Synology Surveillance Station WebAPI und auslesen der SID function updateStreamUrl() { request('http://' + ip + ':' + port + '/webapi/auth.cgi?api=SYNO.API.Auth&method=login&version=3&account=' + user + '&passwd=' + pass + '&session=SurveillanceStation&format=sid', function (error, response, body) { //console.log('error:', error); // Print the error if one occurred //console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received //console.log('body:', body); // Print the HTML for the Google homepage. try { var bodyObj = JSON.parse(body); } catch (e) { console.log("Error update SurveillanceStation Stream URL: " + e); return; } if (bodyObj && bodyObj.data && bodyObj.data.sid) { var sid = bodyObj.data.sid; setState('0_userdata.' + instance + '.Kameras.Haustür', 'http://' + ip + ':' + port + '/webapi/SurveillanceStation/videoStreaming.cgi?api=SYNO.SurveillanceStation.VideoStream&version=1&method=Stream&cameraId=' + cameraID + '&format=mjpeg&_sid=' + sid, true); } else { console.log("Invalid return on SurveillanceStation Stream URL: " + JSON.stringify(bodyObj)); return; } }); } schedule("0 * * * *", function() { updateStreamUrl(); }); updateStreamUrl();
bekomme leider beim Widget Import - Fehlermeldung
? -
@wegdir sagte in Synology rts stream Reolink Kamera Vis:
Bin auf der Suche nach einem Fachmann der einem erklären kann wie man die Reolink Camera ins VIS einbindet.
Habe eine Diskstation und die stellt auch die RTS Stream bereit. Zugriff via WEB gibt es bei Reolink nicht mehr seit dem das Flash Plugin gecancelt wurde. So bleibt nur der Zugriff über die REolink App was natürlich Mist ist.
Suche also die Möglichkeit die Camera i, Vis zu integrieren - bei Instar klappt das problemlos - hab ne 2. Camera von Instar.ONFiv Adapter erkennt zwar die Adresse aber nicht den Stream
Synology stellt folgendes bereit
rtsp://syno:xxxxxxxxxaa60ff294ce309f68dbbe3@192.168.178.45:554/Sms=5.unicastrtsp://192.168.178.45:5000/webman/3rdparty/SurveillanceStation/cgi/rtsp.cgi?Sms=5.unicast&DsId=0&StmKey=xxxxxxaa60ff294ce309f68dbbe3
aber Wiedergabe VLC scheitert auch daranHabe auch in Docker - motioneye aber hier weiss ich nciht wie die Überageb/Umwandlung/Breitstellung erfolgen soll.
Vielleicht hat einer dasselbe Problem oder eine Lösung
Danke im voraus
Cameramodel ist RLC-420-5MP
-
@wegdir sagte in Synology rts stream Reolink Kamera Vis:
bekomme leider beim Widget Import - Fehlermeldung
Das liegt daran das es sich nicht um ein Widget handelt, es ist ein Javascript.
Hast du diese URL mal getestet ? ggf. erstmal m VLC PLayer oder so ... erstmal schauen was funktioniert und was nicht ..
-
Das Script muss im iobroker Admin unter Skripte abgelegt werden (Javascript)
Danach hast du in den Objekten unter 0_userdata.0.Kamera einen Datenpunkt mit dem link.
diesen kannst du mit einen HTML Basic Widget in deiner VIS anzeigen.
-
@xbit musste den Wert Kamera.Haustür auf Kamera ändern -wobei ich nicht direkt weiss ob es wirklich daran lag aber vorher ging es nicht - und dann ging es - vielen Lieben Dank
ganz großen Dank für Deine Mühe
-
Also bei mir tut das Skript nicht was es soll ... habe die Einstellungen konfiguriert, scheint aber nicht zu tun was es soll.
javascript.0 2022-01-16 09:53:49.803 error Request error: Error [ERR_TLS_CERT_ALTNAME_INVALID]: Hostname/IP does not match certificate's altnames: IP: 192.168.178.99 is not in the cert's list: javascript.0 2022-01-16 09:53:49.802 info script.js.common.Datenpunkt_erzeugen.rstp_stream_Synology: Error update SurveillanceStation Stream URL: SyntaxError: Unexpected token u in JSON at position 0 javascript.0 2022-01-16 09:53:49.780 info script.js.common.Datenpunkt_erzeugen.rstp_stream_Synology: registered 0 subscriptions and 1 schedule javascript.0 2022-01-16 09:53:49.730 info Start javascript script.js.common.Datenpunkt_erzeugen.rstp_stream_Synology
Die IP meiner DS ist nicht in der "cert´s list" .... keine Ahnung wo ich die eintragen soll
Irgendwie scheint es schon ein Problem beim erstellen des Verzeichnis zu geben:
javascript.0 2022-01-16 10:07:35.685 warn at processTicksAndRejections (internal/process/task_queues.js:82:21) javascript.0 2022-01-16 10:07:35.685 warn at endReadableNT (internal/streams/readable.js:1334:12) javascript.0 2022-01-16 10:07:35.685 warn at IncomingMessage.emit (events.js:412:35) javascript.0 2022-01-16 10:07:35.684 warn at Object.onceWrapper (events.js:519:28) javascript.0 2022-01-16 10:07:35.684 warn at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1076:12) javascript.0 2022-01-16 10:07:35.684 warn at Request.emit (events.js:400:28) javascript.0 2022-01-16 10:07:35.684 warn at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1154:10) javascript.0 2022-01-16 10:07:35.684 warn at Request.emit (events.js:400:28) javascript.0 2022-01-16 10:07:35.684 warn at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22) javascript.0 2022-01-16 10:07:35.683 warn at Request._callback (/opt/iobroker/node_modules/iobroker.javascript/lib/request.js:27:17) javascript.0 2022-01-16 10:07:35.683 warn at script.js.common.Datenpunkt_erzeugen.rstp_stream_Synology:28:13 javascript.0 2022-01-16 10:07:35.683 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1439:20) javascript.0 2022-01-16 10:07:35.681 warn State "0_userdata.0.Kameras." not found javascript.0 2022-01-16 10:07:35.150 info script.js.common.Datenpunkt_erzeugen.rstp_stream_Synology: registered 0 subscriptions and 1 schedule javascript.0 2022-01-16 10:07:35.138 info Start javascript script.js.common.Datenpunkt_erzeugen.rstp_stream_Synology
-
Sorry mein Fehler wie @wegdir schon sagte habe ich vor dem posten das Script verändert aber habe dabei was vergessen, weshalb es nicht geht ... ich hänge es nochmal ungeändert (bis auf PW etc) an.
var request = require('request'); // Konfiguration var user = "XXX"; // Synology Benutzer mit Berechtigung die Kamera anzuzeigen var pass = "XXX"; // Passwort zu eben eingegebenem Benutzer var ip = "192.168.1.254"; // IP-Adresse eures Synology-NAS var port = 5000; // default Port der Surveillance Station var cameraID = 5; // ID der Kamera, welche angezeigt werden soll createState('0_userdata.' + instance + '.Kameras.Haustür', {'type': 'string', 'read': true, 'write': true, 'role': 'value', 'def': ""}); // Authentifizierung an Synology Surveillance Station WebAPI und auslesen der SID function updateStreamUrl() { request('http://' + ip + ':' + port + '/webapi/auth.cgi?api=SYNO.API.Auth&method=login&version=3&account=' + user + '&passwd=' + pass + '&session=SurveillanceStation&format=sid', function (error, response, body) { //console.log('error:', error); // Print the error if one occurred //console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received //console.log('body:', body); // Print the HTML for the Google homepage. try { var bodyObj = JSON.parse(body); } catch (e) { console.log("Error update SurveillanceStation Stream URL: " + e); return; } if (bodyObj && bodyObj.data && bodyObj.data.sid) { var sid = bodyObj.data.sid; setState('0_userdata.' + instance + '.Kameras.Haustür', 'http://' + ip + ':' + port + '/webapi/SurveillanceStation/videoStreaming.cgi?api=SYNO.SurveillanceStation.VideoStream&version=1&method=Stream&cameraId=' + cameraID + '&format=mjpeg&_sid=' + sid, true); } else { console.log("Invalid return on SurveillanceStation Stream URL: " + JSON.stringify(bodyObj)); return; } }); } schedule("0 * * * *", function() { updateStreamUrl(); }); updateStreamUrl();
-
@xbit sagte in Synology rts stream Reolink Kamera Vis - gelöst:
Hab noch mal ne Frage, wie ist es mit der cameraID, wo finde ich die?
Der Link wurde jetzt erstellt, jedoch beim Testen in Browser kommt nur ne Fehlermeldung, möglicherweise wegen der falschen camID ?!
Failed to load camera. X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Content-type: text/plain; charset="UTF-8" P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT" Set-Cookie: id=Woyp8vQSjN9XI1a3YLPrNW1BwW1L_ywT8Wx_bXl5t1k0ARLvQNtvVTCJhMUSrZCYGYoRe0-bHTsoDUBlRp_O1Y;expires=Sun, 23-Jan-2022 11:32:51 GMT;path=/;HttpOnly {"success":true}
Meine SurveillanceStation läuft auch auf 5001, muss ich dann die die Links auf https ändern ?
-
am schnellsten geht es mit dem Synology Adapter, dann im Objektbaum bei synology.0.SurveillanceStation.cameras.Haustür.id schauen da steht die ID. (Haustür gegen dein Kameranamen tauschen).
wegen https musst du mal schauen habe ich nicht getestet weil eh nur im LAN/VPN erreichbar und ich da http nutze.
Beste Grüße
-
@xbit sagte in Synology rts stream Reolink Kamera Vis - gelöst:
'&format=mjpeg&_sid='
Ich nutze mjpeg nicht , aber der Synology Adapter gibt doch auch den Link dazu aus !?
............method=Stream&format=mjpeg&......................
-
ja ist mir auch gerade aufgefallen, da ich das Skript schon recht lange so im Einsatz habe denke ich mal es war früher beim Synology Adapter noch nicht drin?
So ist es ja noch einfacher eine Kamera die von Haus aus kein mjpeg macht ins VIS zu bekommen.
-
Lustigerweise bekomme ich den Synology Adapter auch nicht grün, das hatte ich bereits versucht, und abgesehen von dem Cam Stream Link hab ich auch keine Verwendung dafür, demnach wollte ich den nicht unnötig betreiben.
Vielleicht kann mir ja damit jemand auf die sprünge helfen, ist der Link einmal erstellt braucht ja auch der Adapter nicht weiter laufen gell ?
bekomme diesen Fehler im Log:
synology.0 2022-01-16 17:38:12.075 debug * No response, read next. synology.0 2022-01-16 17:38:11.789 debug * Get info from (firstPoll) api: DSM method: getPollingData params: {} synology.0 2022-01-16 17:38:11.788 debug * sendPolling. namePolling = firstPoll | iteration = 0 | typeof poll = object | poll = {"api":"dsm","method":"getPollingData","params":{}} synology.0 2022-01-16 17:38:11.787 debug ----------------------------------------------------------------------------------------------------- synology.0 2022-01-16 17:38:11.787 debug Error: Reconnection after 10s synology.0 2022-01-16 17:38:11.786 debug *** ERROR : src: sendPolling syno[dsm][getPollingData] To use the adapter, the user must be in the Administrators group! code: 400 message: No such account or incorrect password synology.0 2022-01-16 17:38:11.786 debug * No response, read next. synology.0 2022-01-16 17:38:11.509 debug * Get info from (firstPoll) api: DSM method: getPollingData params: {} synology.0 2022-01-16 17:38:11.508 debug * sendPolling. namePolling = firstPoll | iteration = 0 | typeof poll = object | poll = {"api":"dsm","method":"getPollingData","params":{}} synology.0 2022-01-16 17:38:11.508 debug ----------------------------------------------------------------------------------------------------- synology.0 2022-01-16 17:38:11.508 debug Error: Reconnection after 10s synology.0 2022-01-16 17:38:11.507 debug *** ERROR : src: sendPolling syno[dsm][getPollingData] To use the adapter, the user must be in the Administrators group! code: 400 message: No such account or incorrect password synology.0 2022-01-16 17:38:11.507 debug * No response, read next. synology.0 2022-01-16 17:38:11.179 debug * Get info from (firstPoll) api: DSM method: getPollingData params: {} synology.0 2022-01-16 17:38:11.179 debug * sendPolling. namePolling = firstPoll | iteration = 0 | typeof poll = object | poll = {"api":"dsm","method":"getPollingData","params":{}} synology.0 2022-01-16 17:38:11.178 debug -----------------------------------------------------------------------------------------------------
-
Hab es jetzt, hatte auch das Problem mit dem Passwort bei Version 1.0.3
Hatte angenommen das ich das Passwort trotz verschwundenem Eingabefeld hätte eingeben können.
Nach dem Update auf 2.0.1 war zu sehen das er nur das erste Zeichen des Passworts genommen hat. Jetzt hab ich auch die Entsprechenden Links, nun müsste ich ja auch den Adapter still legen können, ohne das die Links verschwinden. -
@cinimod sagte in Synology rts stream Reolink Kamera Vis - gelöst:
Hab es jetzt,
..... Nach dem Update auf 2.0.1https://forum.iobroker.net/topic/51410/läuft-der-synology-adapter-mit-dsm-7-auch/14
-
Ja ich weiß, hatte es nicht direkt hin bekommen, hatte es über die Katze installiert, dann war es in der Instanz verschwunden. Dann hatte ich es wieder über das Repository installiert. Und eben damit ging es offenbar nicht.
Wie gesagt, hatte angenommen ich hätte mein Passwort trotzdem eingetragen. Und dann hat die DS den Account blockiert
-
@cinimod sagte in Synology rts stream Reolink Kamera Vis - gelöst:
...... Jetzt hab ich auch die Entsprechenden Links,
nun müsste ich ja auch den Adapter still legen können,............ ohne das die Links verschwinden.
Der sid
ändertsich , deshalb wird im Script / Adapter ein Cron genutzt .( ab wann er sich
ändert, kann ich nicht sagen .)EDIT:
.... sid wird ungültig
https://forum.iobroker.net/topic/3742/synology-surveillance-station-api/40
-
Es muss aber ein unterschied geben.. das Script muss ich immer mal starten um eine neue sid zu bekommen, der Adapter war bei mir schon ein paar Monate aus und der Link ging immer noch.
In dem Link vom Adapter ist auch keine sid drin nur ein "StmKey" eventuell ist dieser länger gültig?Link vom Script:
Link vom Adapter:
-
@xbit sagte in Synology rts stream Reolink Kamera Vis - gelöst:
nur ein "StmKey" eventuell ist dieser länger gültig?
Hier ist der gleiche "StmKey" drin wie beim Synology Adapter .
Also wird er dort ausgelesen .Datenpunkt Synology
http://xxxx:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Stream.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=7&StmKey="xxxxxxxxb14af12c072f7350"
Synology Stream-Freigabe
:
-
Meine Reolink RLC-511WA streame ich über MotionEye im Docker:
Habe "ccrisan:motioneye 0.42-amd64" im Docker meiner Syno DS220+ installiert.
Unter "Volume" habe ich die zuvor mit der File Station angelegten Ordner gemountet.
Datei/Ordner ........................................Mount-Pfad
docker/motioneye/recordings......../var/lib/motioneye
docker/motioneye/config................/etc/motioneyeBei Port-Einstellungen:
Lokaler Port.......................................Container-Port
8100.....................................................8100
8765.....................................................87658765 ist der Port des Webinterface.
8100 ist der Streaming Port dieser muss unter Video-Streaming->Streaming-Port
im Webinterface ebenfalls angeben werden.
Bei den Ports steht als Vorgabe immer "Automatisch". Das zu übernehmen hat bei mir bisher noch in keinen Fall
funktioniert. Habe dort immer "Automatisch" überschrieben mit dem, was im Container-Port steht.
Ein NAS muss nicht gemountet werden, da der Ordner "recordings" schon gemountet ist.
Dann habe ich im Webinterface als Kamera Type Network Camera angegeben und folgenden
RTSP-Link: rtsp://192.168.178.xx:554/live/ch0 (oder ch1). Natürlich auch User und Passwort.
Vielleicht interessiert es jemanden.
Gruß