Surveillance Station GetSnapshot

KarlS

Benutzer
Mitglied seit
14. Feb 2019
Beiträge
8
Punkte für Reaktionen
2
Punkte
3
Hallo zusammen,

ich versuche nun seit mehreren Stunden, bei meiner Surveillance Station 9.1.3 einen Snapshot einer spezifischen Kamera zu erhalten.

Ich stieß bei meiner Suche auf diesen Thread hier: https://community.synology.com/enu/forum/3/post/150788

Leider komme ich damit nicht weiter. Versuche mit

http://192.168.177.100:5000/webapi/entry.cgi?version=9&id=4.unicast&api="SYNO.SurveillanceStation.Camera"&method="GetSnapshot"&profileType=0

bzw. mit mehreren getesteten IDs (ohne ".unicast") (1; 2; 3; 4 ... 20) führen lediglich zu dieser Nachricht:

{"error":{"code":105},"success":false}

Ich habe die Kamera in der Surveillance Station auch freigegeben und ein wenig mit den Credentials herumexperimentiert, jedoch auch ohne Erfolg:

http://192.168.177.100:5000/webapi/entry.cgi?version=9&id=4.unicast&api="SYNO.SurveillanceStation.Camera"&method="GetSnapshot"&profileType=0&DsId=0&StmKey=9xxxxxxxxxxxxxxxxxxxxxxxxx4

Was mache ich falsch, bzw. wie kann ich via URL einen Snapshot erzeugen und und empfangen?

Ich hoffe, ihr könnte mir weiter helfen.
 

maxblank

Benutzer
Contributor
Sehr erfahren
Mitglied seit
25. Nov 2022
Beiträge
4.054
Punkte für Reaktionen
2.138
Punkte
289

c0smo

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
08. Mai 2015
Beiträge
7.470
Punkte für Reaktionen
1.652
Punkte
274
Es geht hier sehr wahrschenlich nicht um System Snapshorts, sonder um Snapshots von einer Überwachungskamera ;)
 
  • Like
Reaktionen: maxblank

Jim_OS

Benutzer
Sehr erfahren
Mitglied seit
05. Nov 2015
Beiträge
5.068
Punkte für Reaktionen
2.258
Punkte
259
{"error":{"code":105},"success":false}
Auch wenn ich SS gar nicht nutze :LOL: versuche ich mal zu helfen. :) Synology hat die API in den letzten Jahren ja immer mal wieder angepasst und somit Befehle darin ge- und verändert. Das macht es natürlich etwas schwieriger und es ist durchaus denkbar das Synology bei der aktuellen SS-Version etwas geändert hat, aber die API-Doku dazu noch nicht.

Ich habe eben mal die SS API überflogen und ich an Deiner Stelle würde mir als erstes mal per Get camera information die Infos zu der entsprechenden Kamera anzeigen lassen. Wenn ich das richtig sehe sollte darin auch der Snapshot-Pfad enthalten sein.

Das der Fehlercode 105 eigentlich für ein Rechteproblem steht ist Dir ja klar, allerdings werden in der SS API bei GetSnapshot method gar keine Fehlercodes aufgelistet und eigentlich sollte als Befehl das passen was Du auch schon probiert hast, nämlich Z.B.

Code:
http://192.168.1.1:5000/webapi/entry.cgi?version=9&id=18&api="SYNO.SurveillanceStation.Camera"&method="GetSnapshot"&profileType=0

Die ID dann gegen die passende ID der Kamera ersetzen und lt. API-Doku wäre das Unicast auch nicht notwendig. Aber auch das hast Du ja schon probiert.

Da es bei GetSnapshot lt. API-Doku keinen Fehlercode 105 gibt weiß ich leider auch nicht warum der bei Dir auftaucht. Versuch mal per Get camera information ob und was Dir darüber angezeigt wird. Das Einfachste wäre wohl wenn hier ein User der SS nutzt das mal nachstellt und die URL bei sich testet. Da ich SS nicht nutze kann ich das leider nicht machen und daher Dir dazu dann leider auch nicht mehr sagen.

VG Jim
 
Zuletzt bearbeitet:

Jim_OS

Benutzer
Sehr erfahren
Mitglied seit
05. Nov 2015
Beiträge
5.068
Punkte für Reaktionen
2.258
Punkte
259
Da ich gerade etwas Zeit hatte und auch neugierig bin, :LOL: habe ich eben mal SS aktiviert und mein Glück versucht. Leider scheitere ich daran genau so wie Du, sprich egal was ich versuche der Zugriff auf die API haut mir auch immer eine Fehlermeldung um die Ohren. Selbst SS per API die Kamera-Infos per Get camera information zu entlocken gelingt mir nicht. :unsure:

Ich habe auch noch zusätzlich ein paar Tests gemacht, z.B. mal den HTTPS-Zugriff deaktiviert, oder auch bei SS einen User eingerichtet und dann versucht mit dessen Userdaten, oder sogar auch mit den Admin-Userdaten die API per
Code:
Username:Passwort@IP:Port
aufzurufen, aber auch das brachte nichts.

Da ich SS nicht nutze bin ich da auch eher ein Laie, aber wenn hier sonst kein anderer User eine Idee bzw. Lösung hat würde ich an Deiner Stelle direkt bei Synology anfragen. Ich könnte mir nämlich wirklich vorstellen das die bei SS etwas geändert, aber das noch nicht in die API-Doku eingepflegt haben. Selbst wenn nicht sollte die Dir wohl hoffentlich adhoc die passende URL für den Snapshot-Aufruf nennen können.

VG Jim
 

KarlS

Benutzer
Mitglied seit
14. Feb 2019
Beiträge
8
Punkte für Reaktionen
2
Punkte
3
Vielen Dank für die Antworten!

Es geht hier sehr wahrschenlich nicht um System Snapshorts, sonder um Snapshots von einer Überwachungskamera ;)
Korrekt. Offenbar habe ich mich da nicht eindeutig genug ausgedrückt.

Ich habe auch noch zusätzlich ein paar Tests gemacht [...] aber auch das brachte nichts.

Vielen Dank für die Mühe – leider geht es mir da wie dir, @Jim_OS {"error":{"code":105},"success":false}. Dass die Dokumentation der API etwas veraltet ist hatte ich befürchtet. Ich wäre ja erst mal schon froh, wenn ich die ID der Kamera auslesen könnte. Aktuell habe ich nur zwei Kameras registriert, hatte zwischendurch aber mal andere darin, daher kommt wohl die ID 4 im Freigabelink des Streams zustande:

rtsp://192.168.177.100:5000/webman/3rdparty/SurveillanceStation/cgi/rtsp.cgi?Sms=4.unicast&DsId=0&StmKey=97xxxxxxxxxxxxxxxxxxxxx4
bzw.
rtsp://syno:997xxxxxxxxxxxxxxxxxxxxx4@192.168.177.100:554/Sms=4.unicast

Ich schreibe dann mal Synology an und hoffe auf eine Antwort die zum Ziel führt. Ich halte euch auf dem Laufenden.

Mein Ziel ist, einen Screenshot von der Kamera an der Haustür zu verschicken, sobald meine HMIP-DSD-PCB (Klingelsignalerkennung) feststellt, dass jemand vor der Tür steht und ich mir über dieses Ereignis ohnehin eine Benachrichtigung schicke.

Nachtrag: Die KI von Synology liefert die gleiche Antwort wie ChatGPT, die beide auch zu der oben beschriebenen Fehlermeldung führen.

Ticket ist raus.
 
Zuletzt bearbeitet:

Jim_OS

Benutzer
Sehr erfahren
Mitglied seit
05. Nov 2015
Beiträge
5.068
Punkte für Reaktionen
2.258
Punkte
259
Moin,

um was für eine Kamera handelt es sich dabei denn überhaupt? Hat die ggf. eine eigene API über die Du einen Snapshot bekommen kannst, um so die SS-API erst gar nicht nutzen zu müssen?

Ich kenne mich mit Homematic nicht wirklich aus weil ich Home Assistant als Smarthome-System nutze, aber kannst Du die Kamera nicht irgendwie direkt bei Homematic einbinden und dann darüber Snapshots bei der Kamera auslösen und erstellen? So mache ich das zumindest bei Home Assistant, sprich Home Assistant liefert mir die Snapshots und Live-Streams meiner Video-/Türklingel wenn jemand den Klingelknopf drückt.

VG Jim
 

KarlS

Benutzer
Mitglied seit
14. Feb 2019
Beiträge
8
Punkte für Reaktionen
2
Punkte
3
Das war mein erster Gedanke, allerdings handelt es sich um eine Tapo C310, die lediglich zwei Streams (Hi- und Low-res) via RTSP rausgibt. Daher die Idee des Umwegs über die SS.

Homematic selbst unterstützt Kameras (m. W. n.) gar nicht. Das Klingelereignis verarbeite ich mittels JS in ioBroker (Alternative zum Home Assistant) und würde diesen auch damit beauftragen, mir den Snapshot zu schicken. Aktuell bekomme ich via Pushover nur die Nachricht, dass geklingelt wurde.

Synology hat übrigens noch nicht geantwortet.
 

Jim_OS

Benutzer
Sehr erfahren
Mitglied seit
05. Nov 2015
Beiträge
5.068
Punkte für Reaktionen
2.258
Punkte
259
War mir irgendwie schon klar das das irgendwie für Smarthome genutzt bzw. gebraucht wird, :) aber Moment mal: Ursprünglich ging es doch darum per SS-API einen Screenshot zu erstellen und abzurufen. Jetzt hast Du in #6 und sprichst hier in #8, von einem RTSP-Stream. Das sind zwei Paar Schuhe. Mit dem von SS generierten RTSP habe ich keine Probleme,

SS_Stream_Pfade.png

sprich den kann ich über die URL(s) problemlos abrufen und starten. Was bei mir auch nicht funktioniert hat war das auf-/abrufen der API per z.B.: http://192.168.1.1:5000/webapi........ aufgrund dieser Fehlermeldung bzgl. Berechtigung.

Homematic selber unterstützt wohl auch Kameras, allerdings wohl nur ganz bestimmte Modelle und so etwas wie eine Kamera z.B. per Onvif einzubinden ist damit wohl nicht möglich. Aber wie schon gesagt habe ich von Homematic keine Ahnung.

Ja ioBroker ist, was die Einbindung von Kameras betrifft, nicht gerade "State of the art". :LOL: Dafür hat es ggf. wieder andere Stärken. ☮️ Das was Du vor hast, bzw. machen willst, wäre mit Home Assistant kein Problem. Wenn ich das auf die Schnelle richtig sehe ließe sich der HMIP-DSD-PCB bei HA einbinden und Kameras sowieso auf unterschiedliche Art und Weise. Dann einfach noch fix eine entsprechende Automatisierung erstellt und fertig.

Hier einfach mal ein Beispiel für meine Amcrest Video-/Türklingel. Diese Automatisierung habe ich zwar so erstellt das wenn jemand den Klingelknopf betätigt nur der Live-Stream der Kamera auf all meinen Google Nest Displays dargestellt wird, aber natürlich kann ich da auch ganz einfach eine Aktion auswählen bei der dann ein Screenshot erstellt und irgendwo hin (z.B. Smartphone) gesendet wird. Ich habe hier für den Screenshot die entsprechende Aktion einfach mal temperär ausgewählt.

Ha_AD110_Snapshot.png

Nur für den Fall das Dich HA jetzt ggf. interessieren könnte, :) Du Dich nicht schon seit Jahren auf den ioBroker "eingeschossen hast" und nicht das ich hier ggf. etwas falsches gepostet habe: Ob der HMIP-DSD-PCB unter HA funktioniert müsstest Du selber noch endgültig klären. Lt. diesem Beitrag im HA-Forum scheint das aber zu funktionieren.

VG Jim
 
Zuletzt bearbeitet:
  • Like
Reaktionen: KarlS

KarlS

Benutzer
Mitglied seit
14. Feb 2019
Beiträge
8
Punkte für Reaktionen
2
Punkte
3
Ob der HMIP-DSD-PCB unter HA funktioniert müsstest Du selber noch endgültig klären
Ohne mich über einen kurzen Test hinaus je näher mit HA beschäftigt zu haben, wäre ich nicht verwundert wenn man da ähnlich wie im ioBroker einen Adapter hat, der mit der hm-rpc reden kann und so sämtliche Daten bekommt. Das ist dann nicht nur die Klingelsignalerkennung, sondern Fenstersensoren, Thermostate, Rolladenaktoren, Rauchmelder, Türschlössern, Thermometern, Hygrometern usw. usw.

Du Dich nicht schon seit Jahren auf den ioBroker "eingeschossen hast"
Leider doch. Ich habe mittlerweile ein recht komplexes System aufgebaut, welches u. a. Homematic, Alexa, Kalender und Hue miteinander mittels mittlerweile zwei dutzend Javascripten verbindet und dafür zur Steuerung über die Automatisierung hinaus mittels VIS eine entsprechende Bedienoberfläche gebaut.

Da steigt man dann nicht mehr "mal eben" um ;) Ich meine damals fehlte mir irgendein wichtiger Adapter den es für HA nicht gab, drum blieb ich, als ich noch am Anfang stand, beim ioBroker. Der läuft auch schön im Docker-Container auf der Synology. Nun könnte man sicher noch parallel einen kleinen HA-Container eigens für die Klingelevents laufen lassen, aber das wäre dann doch recht unelegant.

Danke für deine beispielhafte Umsetzung in HA. Für ioBroker gibt es so weit ich weiß keine Möglichkeit Frames aus einem RTSP-Stream zu extrahieren.

Der RTSP-Stream selbst nutzt mir leider extern nicht viel, da ich dann erst eine VPN-Verbindung aufbauen müsste, um ihn anschauen zu können. Das geht sogar nativ mit dem Standard-Videoplayer meines Telefons. Aber wenn ich wirklich einen Livestream wollte, könnte ich auch direkt die Tapo-App nutzen.

Was ich lediglich realisieren möchte, ist der Snapshot des Streams in der Benachrichtigung, sodass ich innerhalb einer Sekunde sehe, wer da geklingelt hat und ob sich weitere Aktionen meinerseits überhaupt lohnen. Insbesondere, wenn ich im Büro sitze.

Übrigens immer noch keine Antwort von Synology.

Nachtrag: Apropos RTSP-over-HTTP: Hatte ich da (SS) ja auch schon gesehen, aber am Ende ist das doch wieder ein RTSP-Protokoll?
 

c0smo

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
08. Mai 2015
Beiträge
7.470
Punkte für Reaktionen
1.652
Punkte
274
  • Like
Reaktionen: KarlS

KarlS

Benutzer
Mitglied seit
14. Feb 2019
Beiträge
8
Punkte für Reaktionen
2
Punkte
3
Update: Ich habe es nun mit ffmpeg gelöst:

ffmpeg -y -rtsp_transport tcp -i rtsp://benutzer:passwort@192.168.177.153:554/stream1 -vframes 1 output.jpg

Nachdem ich nun den richtigen Pfad an Pushover übergeben habe, erhalte ich nun den Snapshot in der Benachrichtigung – ganz ohne Surveillance Station.

Nachtrag:
Video geht auch ffmpeg -y -i rtsp://benutzer:passwort@192.168.177.153:554/stream1 -t 3 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -vf scale=w=640:h=360:force_original_aspect_ratio=decrease -r 15 haustuer.mp4
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Jim_OS und c0smo

Jim_OS

Benutzer
Sehr erfahren
Mitglied seit
05. Nov 2015
Beiträge
5.068
Punkte für Reaktionen
2.258
Punkte
259
Na also - es geht doch. Wenn auch anders als gedacht/geplant. :)

Was ioBroker betrifft: Das meint ich mit "eingeschossen" und dann ist klar das Du lieber dabei bleibst wenn man sich damit bereits lange beschäftigt und viel Arbeit/Zeit investiert hat. Für mich kam vor ca. 3 Jahren auch nur ioBroker oder Home Assistant in Frage und inzwischen bin ich froh das ich mich damals für Home Assistant entschieden habe. Kein anderes Smarthome System hat sich in den letzten 1 -2 Jahren so rasant weiterentwickelt wie Home Assistant. :cool: Klar auch Home Assistant ist nicht perfekt und durch die monatlichen Updates gibt es manchmal auch mehr Arbeit als mir lieb ist, aber auch neutral und nüchtern betrachtet würde ich Home Assistant immer dem ioBroker vorziehen und das auch jedem User so empfehlen. Oder anders gesagt: Wer neu in das Thema Smarthome einsteigen will soll sich einfach mal beide Systeme installieren und mit beiden eine Zeit lang "herumspielen" und sie testen. Danach dürfte sich m.M.n. vermutlich 80 - 90 % aller User für Home Assistant entscheiden. :LOL:

Um nicht andere Smarthome-System hier zu "diskrimitieren": Ja es gibt außer ioBroker und Home Assistant auch noch div. andere Smarthome-System, die alle ihr Vor- und Nachteile haben und jeder muss die für sich beste und sinnvollste Lösung finden. :)

VG Jim
 

KarlS

Benutzer
Mitglied seit
14. Feb 2019
Beiträge
8
Punkte für Reaktionen
2
Punkte
3
Um nicht andere Smarthome-System hier zu "diskrimitieren"
Bislang fahre ich mit dem ioBroker sehr gut, angefangen hatte ich vor ca. 5 Jahren. Wenn HA mittlerweile eine breitere Community und somit mehr Plugins bietet könnte ein Umstieg irgendwann natürlich immer noch interessant sein.

Noch mal zu Synology. Ich habe diese tolle Antwort erhalten:

Sehr geehrter Kunde,
vielen Dank, dass Sie den Technischen Support von Synology kontaktieren.

Bitte fügen Sie Ihrer Beschreibung noch diese Punkte hinzu, damit ich Ihr Problem besser verstehen und Ihnen weiterhelfen kann:
- Genaue Problembeschreibung
- Ist das Problem reproduzierbar?
- Verwendete Hard- und Software mit Produktnamen und Versionen
- Senden Sie mir bitte auch Screenshots Ihres Anliegens zu

Also genau die Punkte, die ich bereits präzise im Ticket beschrieben hatte :cautious:
 
  • Sad
Reaktionen: c0smo

c0smo

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
08. Mai 2015
Beiträge
7.470
Punkte für Reaktionen
1.652
Punkte
274
Langweile juhu. Ich habe mal die Api zerpflügt und bin erfolgreich gewesen :)


Als erstes musst du deine persönliche SID auslesen. Diese wird für die Anmeldung benötigt, da alle GET Paramter in der SS einen Login benötigen. Deine Daten musst du selbst eintragen und auch darauf achten ob http(s) richtig gesetzt ist. Danach kopieren und im Browser öffnen.

Code:
https://IP:PORT/webapi/SurveillanceStation/ThirdParty/Auth/Login/v1?account=USER&passwd=PASSWORT

Dann sollte so etwas ausgegeben werden. Für den GET Snapshot Befehl wird nur die SID benötigt.
1701859349209.png

Mit folgendem Befehl wird der Snapshot abgerufen. Wobei der Kameraname auch durch die ID oder MAC Adresse ersetzt werden könnte.
1701859551699.png

Code:
ProfileType=0
Ist der erste Stream, "1", der zweite, usw.
Code:
Download=true
Damit wird das Bild im Browser angezeigt. U.U. wird in der HA der Wert "false" benötigt. Musst du testen.

Code:
https://IP:PORT/webapi/SurveillanceStation/ThirdParty/SnapShot/Take/v1?camId="KAMERANAME_EINTRAGEN"&profileType=0&download=true&_sid=DEINE_SID_EINTRAGEN
 

Jim_OS

Benutzer
Sehr erfahren
Mitglied seit
05. Nov 2015
Beiträge
5.068
Punkte für Reaktionen
2.258
Punkte
259
Update: Ich habe es nun mit ffmpeg gelöst:
Auch wenn Du es jetzt schon auf eine andere Art und Weise gelöst hast, aber mir ist noch etwas eingefallen. Ich hatte mal Ende 2021 Agent DVR getestet und hier im Form dazu eine kurze Info erstellt. Bei dem Beitrag hat der User trueslator das gepostet:

Mittels MQTT kann man sogar das Ganze in den ioBroker einbinden und dann eine Kamera auch als Bewegungssensor nutzen. Die Bewegungserkennung ist im Agent DVR echt genial. Auch Nummernschilder oder bestimmte Objekte kann man anlernen und auf das Erscheinen dann Aktionen starten.

Ohne es jetzt wirklich zu wissen, aber darüber würden sich dann ggf. auch Snapshots erstellen lassen. Zumindest bietet die API das an. Vielleicht interessiert Dich das ja auch. Ich wollte mir Agent DVR die Tage auch mal wieder anschauen, weil es dafür auch eine Home Assistant Integration gibt. :)

VG Jim
 
  • Like
Reaktionen: KarlS

KarlS

Benutzer
Mitglied seit
14. Feb 2019
Beiträge
8
Punkte für Reaktionen
2
Punkte
3
Ich habe mal die Api zerpflügt und bin erfolgreich gewesen :)
Danke – ich hoffe ich werde am Wochenende Zeit finden mir das auch noch mal anzuschauen, rein interessehalber.

Btw: Die Antwort von Synology (kam heute) war der kurze Verweis auf die API, ohne spezifische Angaben zu machen, wie genau und der Verweis genau auf den Foreneintrag, den ich in meinem Eingangsposting erwähnt hatte. o_O
 
Zuletzt bearbeitet:

c0smo

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
08. Mai 2015
Beiträge
7.470
Punkte für Reaktionen
1.652
Punkte
274
Des sand doch Seggel! 😂
V3.11 ist aus 2021 und nicht mehr aktuell.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat