Kamera-Stream aus "Synology Surveillance Station" in WebFront einbinden

Hallo,
gibts hier neuigkeiten dazu ein Qnap Surveillance Station einzubinden?

Hallo Mäc,
Hast Du es denn hin bekommen über diesen „Dauerlink“ die Streams der Synology in IPS einzubinden?
Liebe Grüße, Dennis.

Gesendet von meinem SM-G935F mit Tapatalk

Funktioniert wohl nicht mehr mit der aktuellen Surveillance Station 8.1

Hab nach Anleitung für Version 7 probiert.

Hi,

wo hängt’s?

Habe auch die 8.1 und bei mir Läuft’s

Gruß

Folgende Fehlermeldung bekomme ich wenn ich den Link zur Kamera von hand im WEB Browser am Laptop mit der richtigen SID eingebe

"
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“

{„success“:true}
"

Im Webfront hab ich nur so ein kleines Bild das nicht geladen werden kann.
Gut wenn es bei dir läuft dann hab ich doch noch einen Fehler irgendwo :smiley:

Ahhhh super funktioniert musste dies hier ändern. Dann klappt es.
Aber nur auf dem Laptop über den Firefox. Am Android Tablet das gleiche wie wenn ich die Cam über den Stream einbinde. Kein Bild. Nur mit der Firefox app. Doch mit der Firefox App bekomm ich kein Vollbild hin.
Aber das habe ich schon in nem andren Beitrag geschrieben. Vlt kennt da ja jemand die Lösung.
Anscheinend ist ein Android Tablett nicht die beste Lösung für die Cams.

Sorry ich habe länger den Thread nicht verfolgt.

Da das geht. über eine String Variable mit dem Inhalt:

<img src="http://192.168.0.71:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Stream.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=11&StmKey=40a13f126bfd22d720d9a5e07a1c12a5" style="width: 70%; height: auto;" />

Also Camera ID raus finden, den Streaming Key auf nicht ablaufen setzen und so sollte es gehen. Nett das ich den Stream auch von der Syno in mjpeg umgewandelt bekomme.

Hallo zusammen,

ich möchte ebenfalls gerne den Stream von 2 Kameras aus der Synology Surveillance Station in mein Webfront einbinden. Ich habe die SS8 und mich an die Anleitung von Bayaro aus dem Beitrag #1 gehalten.

Ich verwende hier das Skript der v7 und habe die Datei Synology_cam1.php in folgendem Verzeichnis abgelegt:

C:\IP-Symcon\webfront\user

In der Datei habe ich folgende Zeilen angepasst:

$user = „Admin“; // Synology Benutzer mit Berechtigung die Kamera anzuzeigen
$pass = „Alf*2909“; // Passwort zu eben eingegebenem Benutzer
$ip = „192.168.168.230“; // IP-Adresse eures Synology-NAS

Und wie im Beitrag #14 die letzte Zeile ausgetauscht.

In die String-Variable mit dem Profil „HTMLBox“ habe ich folgenden Inhalt eingefügt.

<iframe width=„400pixel“ height=„300pixel“ frameborder=„0“ scrolling=„no“ marginheight=„0“ marginwidth=„0“ src=„http://192.168.100.31:3777/user/synology_cam1.php“></iframe>

Ich dachte mir das sollte funktionieren. Falsch gedacht. das Ergebnis sieht so aus:

Wäre toll, wenn mir jemand erklären könnte wie es richtig geht und wie ich eine 2. Kamera einbinde.

VG, Alfred

Hi,

ich schätze der Port ist falsch
<iframe width=„400pixel“ height=„300pixel“ frameborder=„0“ scrolling=„no“ marginheight=„0“ marginwidth=„0“ src=„http://192.168.100.31:3777/user/synology_cam1.php“></iframe>

Das webfront ist nicht 3777 sondern bei http 80 je nachdem 81/82

Viele Grüße

Ne, Port ist schon ok.

Aber „Synology_cam1.php“ != „synology_cam1.php“ … „File not found“ sagt ja schon, da stimmt was nicht. Und das muss man case sensitive angeben. Also Groß-Kleinschreibung beachten :slight_smile:

Grüße,
Chris

Hallo Bayaro,
dein Hinweis war schon richtig. War nicht nur Groß- und Kleinschreibung sondern auch noch falsch. Hatte die Datei so bezeichnet:

Synology_cam1.php.php statt synology_cam1.php

Sie auch schon anders aus aber immer noch nicht das gewünschte Resultat.

VG, Alfred

Hallo zusammen,
kann es sein, dass hierzu keiner eine Lösung hat? Wie man sehen kann wird hier kein Stream angezeigt, obwohl ich mich an die Anleitung hielt.

VG, Alfred

Hallo Alfred,

sind die Konfigurationen in der „synology_cam.php“ Richtig?
Vor allem Port und ID der Kamera.

<?
// Konfiguration
$user = "Benutzer";  // Synology Benutzer mit Berechtigung die Kamera anzuzeigen
$pass = "Pass";  // Passwort zu eben eingegebenem Benutzer
$ip = "192.168.178.5";  // IP-Adresse eures Synology-NAS
$port = "5000";  // default Port der Surveillance Station
$cameraID = "4";  // ID der Kamera, welche angezeigt werden soll

// *** Eventuell müsst ihr die URLs von HTTP auf HTTPS anpassen, sofern ihr HTTPS aktiviert habt!

// Authentifizierung an Synology Surveillance Station WebAPI und auslesen der SID
$json = Sys_GetURLContent('http://'.$ip.':'.$port.'/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=3&account='.$user.'&passwd='.$pass.'&session=SurveillanceStation&format=sid');
$obj = json_decode($json, true);
@$sid = $obj["data"]["sid"];

$Cam_Stream_URL = 'http://'.$ip.':'.$port.'/webapi/SurveillanceStation/videoStreaming.cgi?api=SYNO.SurveillanceStation.VideoStream&version=1&method=Stream&cameraId='.$cameraID.'&format=mjpeg&_sid='.$sid;

echo '<div class="centered"><img src='.$Cam_Stream_URL.' style="width:auto;height:auto;" /></div>';  
?>

Gruß

Bei mir läuft es auch nicht, bin aber - so hoffe ich - dem Fehler auf der Spur. Von „Hand“, d.h. im Browser (ohne IPS) kann ich den Stream runterladen. Das Skript funktioniert noch nicht.

Bei mir läuft die Synology ausschliesslich per https. Habe daher das Skript entsprechend angepasst und http mit https ersetzt. Jetzt vermute ich aber, dass der Raspberry, auf dem IP Symcon läuft, das Zertifikat der Synology als „not trustet“ einstuft und daher schon beim Aufruf von

https://’.$ip.’:’.$port.’/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=3&account=’.$user.’&passwd=’.$pass.’&session=SurveillanceStation&format=sid

einen Fehler zurückgibt ({„error“:{„code“:400},„success“:false} ). Wenn ich den Link (mit den korrekten Daten) auf mit wget aufrufe bekomme ich auch einen Fehler. Wenn ich dann einmal wget mit --no-check-certificate aufrufe funktioniert es - seltsamerweise dann auch in der html-box. Das ist allerdings nicht dauerhaft.

Daher meine Frage: Wie überrede ich den Raspi (oder IPS?) das Zertifikat der Synology dauerhaft zu akzeptieren?

Dann schien es mir, dass das Bild sehr ruckelig ist im Vergleich zum mjpeg direkt von der Kamera. Das Bild auf der Surveillance Station selbst ist auch nicht ruckelig. Woran mag das liegen? Ist das bei anderen auch so?

Gruss, HCP

Hallo Sewo,
ja sie sind richtig. Wie sieht denn dein Textstring in der HTML-Box aus?
VG Alfred

Hi Alfred,

hier der inhalt:

<iframe width="550pixel" height="350pixel" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://192.168.178.14:3777/user/synology_cam1.php"></iframe> 

Gruß

Hallo Sewo,

danke für deine Unterstützung. Bin aber leider nicht viel weiter gekommen. Ich hatte diesen Eintrag wie du.
Was ich allerdings gesehen habe ist ein ?> unter dem Icon im Webfront. Vielleicht ist dass für jemanden eine Hinweis woran es liegen könnte. Ansonsten glaube ich schon fasst, dass es an den Einstellungen in Synology liegen muß.

VG, Alfred

snap.PNG

Hallo zusammen,
das ?> hat sich erledigt, war ein Tippfehler. Geht aber trotzdem noch nicht. :frowning:

Ich wollte mich gerade daran machen, meine Synology mit SS 8.1 in IPS zu integrieren.
Leider passt irgendwas nicht…
Ich hab mich daher daran gemacht, alternativen zu suchen. Eine recht brauchbare Alternative wäre:

Synology Surveillance Station API - ioBroker Forum

Eine Kleinigkeit scheint noch nicht zu passen… Zeile

<?
// Configuration
$user = "login";  // Synology username with rights to Surveillance station
$pass = "password";  // Password of the user entered above
$ip = "IP_vom_SS";  // IP-Adress of your Synology-NAS
$port = "5000";  // default port of Surveillance Station
$http = "http"; // Change to https if you use a secure connection
$cameraID = "1";  // ID of the camera for taking snapshots
$cameraStream = $_GET["stream"];
// You can change the stream by adding ?stream=0/1/2 to the url. For example: www.yourdomain.com/snapshot.php?stream=2
// 0: Live stream | 1: Recording stream | 2: Mobile stream
// Default value is stream 0
if ($cameraStream == NULL) {
        $cameraStream = "0";
        }
 
// Authenticate with Synology Surveillance Station WebAPI and get our SID
$json = file_get_contents($http.'://'.$ip.':'.$port.'/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=3&account='.$user.'&passwd='.$pass.'&session=SurveillanceStation&format=sid');
$obj = json_decode($json, true);
@$sid = $obj["data"]["sid"];
 
// Setting the correct header so the PHP file will be recognised as a JPEG file
header('Content-Type: image/jpeg');
// Read the contents of the snapshot and output it directly without putting it in memory first
readfile($http.'://'.$ip.':'.$port.'/webapi/entry.cgi?camStm='.$cameraStream.'&version=3&cameraId='.$cameraID.'&api=SYNO.SurveillanceStation.Camera&preview=false&method=GetSnapshot&_sid='.$sid);
// Log out from Surveillance Station
file_get_contents($http.'://'.$ip.':'.$port.'/webapi/auth.cgi?api=SYNO.API.Auth&method=Logout&version=3&session=SurveillanceStation&_sid='.$sid);
?>

Fehler:


<b>Notice</b>:  Undefined index: stream in <b>/var/lib/symcon/webfront/user/synology_cam2.php</b> on line <b>9</b><br />
<br />
<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at /var/lib/symcon/webfront/user/synology_cam2.php:9) in <b>/var/lib/symcon/webfront/user/synology_cam2.php</b> on line <b>23</b><br />

Hat jemand ne Idee?