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

Ich meine es gibt zu der Kamera schon ein paar Threads im Forum.
Aber ohne Plugins funktioniert halt nur MJPEG in Browsern/Apps/WebFront…von daher wäre es schon gut, wenn du das mit der SS zum Laufen bringen würdest :slight_smile:

Geh nochmal alles in Ruhe durch, prüf die URLs, … Hab leider nur noch SS7 und kann dir da aktuell leider nicht wirklich helfen.

Grüße,
Chris

Ich meine es gibt zu der Kamera schon ein paar Threads im Forum

Welche? hab mit der Suche nach 9900 nur den Welche Webcam - Netzwerkkamera gefunden, und der trifft auf mich nicht zu.

von daher wäre es schon gut, wenn du das mit der SS zum Laufen bringen würdest

Da die nicht direkt in die Syno SS integrieren kann hab ich über ONVIF Port 888 hinbekommen.

Hab die Kamera über ONVIF bereits erfolgreich in die SS eingebunden.

Ich würde aktuell keine zusätzliche Software installieren um den Stram nach IPS zu bekommen.

Bzgl meiner letzten Posts: Wie kann ich die Kamera via Synology SurveillanceStation in IPS integrieren?

@all sonst noch jemand eine Idee?

Hallo Chris,
wie weit bist du mit IPSCam Component? Würde es mal gerne testen.

Chris spielt hier nicht mehr mit.

Guten Abend Zusammen,
habe die aktuelle Surveillance-Version und IPS4

Bei mir kommt folgende Meldung:
Parse error: syntax error, unexpected ‚centered‘ (T_STRING), expecting ‚,‘ or ‚;‘ in [Kamera\Synology] on line 19

Was kann ich tun?

In Zeile 19 Steht:
echo „<div class=„centered“><img src=$Cam_Stream_URL style=„width:auto;height:auto;“ /></div>“;

Vielen Dank im Voraus,
Marcus.

Abend!

Hab den 1. Beitrag mal überarbeitet…

Die Zeile muss wie folgt aussehen:

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

…also andere ’ am Anfang und Ende…

Grüße,
Chris

Vielen Dank,
jetzt ist der Fehler weg.

Jedoch erscheint kein Bild und keinerleid Fehlermeldung.
Im Script erscheint bei Scriptausgabe:

<div class=„centered“><img src=$Cam_Stream_URL style=„width:auto;height:auto;“ /></div>

Mein Script ist genau wie im Original:

<?
// Konfiguration
$user = „IPS“; // Synology Benutzer mit Berechtigung die Kamera anzuzeigen
$pass = „System123“; // Passwort zu eben eingegebenem Benutzer
$ip = „192.168.178.50“; // IP-Adresse eures Synology-NAS
$port = „5001“; // default Port der Surveillance Station
$cameraID = „1“; // 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(‚https://‘.$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 = ‚https://‘.$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>‘;

?>

Im Symcon ist es eingepflegt wie im angehängten Bild. Und wie es in der Visualisierung aussieht hab ich auch angehängt.

Vielen Dank im Voraus.

> cameraID falsch? Kann man auslesen.
> Falsches Skript zur falschen Surveillance Station Version?
> Benutzer/Passwort falsch?
> Rechte im NAS falsch?
> …?

Da kann ich dir nicht mehr wirklich helfen, da musst du selbst mal ein wenig rumprobieren. Ich kann dir nur sagen, dass es mit der aktuellen Surveillance Station Version funktioniert (habe ich selbst bei mir im Einsatz).

Grüße,
Chris

Hallo und guten Abend,

ich versuche immer noch das Skript zum laufen zu bekommen. Es kommt auch keine Fehlermeldung (als Test habe ich mal den Port, das Passwort etc… in ein wissentlich falsches abgeändert, dann kam eine Fehlermeldung).

Beim ganz genauen durchlesen deine Anleitung ist mir aufgefallen, dass Du schreibst: „Surveillance Station v7 >> Dieses Skript anpassen (user, pass, ip, …) und unter „/webfront/user/synology_cam1.php“ abspeichern:“

Ich habe das Skript einfach irgendwo in eine Kategorie angelegt - das ist der einzige Unterschied.

Was ich leider auch nicht verstehe ist, wie man im Symcon-Ordner hier ein Script abspeichert.

Mein Script heist „Kamera Einfahrt“ in der Kategorie „Kameras“.

Vielleicht kann mir nun jemand weiter helfen - es kommt wie gesagt keine Fehlermeldung, nur leider auch kein Bild.

Vielen Dank im Voraus,
Marcus.

Das Script muss wirklich in den angegebenen PFAD und nicht irgendwo in den Kategorienbaum ;).

MfG
Ralf

Hallo Ralf,

vielen Dank für Deine schnelle Antwort. :slight_smile:

Kannst Du mir noch sagen, wie das genau funktioniert? :eek: Bisher habe ich einfach nur Skripte angelegt und irgendwo hin gespeichert.

Muss ich sonst noch was beachten?

Danke Dir!

Es gibt im Pfad der Symcon Installation den Ordner webfront, darunter user. Je nach Betriebssystem liegt er woanders.

MfG
Ralf

Hi,

ich versuche gerade verzweifelt die Streams meiner IPcams wie beschrieben (oder hab ich was falsch verstanden?) erfolglos anzuzeigen.
Ich habe IPS (4.0) auf Win10 laufen, aktueller Firefox-Browser, Synology DS716+II, aktuellste Surveillance Version.

(1) synology_cam1.php wie in erstem Post für Version 7 in das Serververzeichnis /webfront/user kopiert.
(2) IPs pass user … angepaßt
(3) In Webfront die php-Datei als ExterneSeite eingebunden.
Dann sieht es wie folgt aus.
Fehler.JPG
Ich habe 4 Cams (alle 4 IDs ausprobiert ohne Erfolg).
Es wird eine SID erzeugt.
Habe den alternativen von dir auskommentierten Aufruf ($Cam_Stream_URL = 'htt …) probiert ohne Erfolg.
IPs und Passwörter stimmen.

Muss in der Surveillance-Software irgendwas speziell eingestellt (bei den Cams) werden (zB Quelle der Live-Ansicht)?

Gruß
Hardlog

ich musste folgende Zeile im Script ändern damit es funktioniert :slight_smile:

Suchen:

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

Ersetzen:

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

Danke aber das hat es leider auch nicht geändert.

Hardlog

Ich komme voran. Hier mein Zwischenstand.

Im Script aus Post 1 (V7) geht es nur wenn in der letzten Scriptzeile in der echo-Ausgabe die Var ($Cam_Stream_URL) mit dem URL in Anführungszeichen, wie folgt eingesetzt wird:

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

Verstehen tue ich das mit den CameraID’s nicht. Die sind bei mir nicht Fortlaufend und ein System hab ich bislang nicht erkannt. Ich habe 4 Cams, 3 gehen mit den ID’s 3, 5 und 8 (!!!). Die Vierte Cam finde ich komischerweise nicht.

Gruß
hardlog

Hallo
Probier mal nach dem Einloggen ( erster Teil des Scripts ) folgende Zeile

	$s = $httpformat."://".$ip.":".$port. "/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&method=List&version=8&_sid=".$sid."&basic=true";

	$json = file_get_contents($s);
    $obj = json_decode($json, true);
	print_r($obj);

Gibt dir eine komplette Liste aller Kameras mit allen Eigenschften inclusive ID im Feld [id].
Sieht bei mir so aus:

           [3] => Array
                        (
                            [DINum] => 0
                            [DONum] => 0
                            [audioOut] => 
                            [audioType] => 0
                            [blAudioDisableRec] => 1
                            [blAudioPriv] => 1
                            [blDisableRec] => 
                            [blEnableExtDI] => 
                            [blLiveviewPriv] => 1
                            [blPtzShowIcon] => 1
                            [blReceivePocZero] => 
                            [camIdOnRecServer] => 0
                            [camLiveMode] => 0
                            [camMobileLiveMode] => 0
                            [camMountType] => 0
                            xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
                            [camRecShare] => surveillance
                            [camRecShareMountType] => 0
                            [camRecSharePath] => /volume1/surveillance
                            [camRecStorageStatus] => 0
                            [camRecVolume] => /volume1
                            [camRotOption] => 0
                            [camStatus] => 1
                            [deleted] => 
                            [deviceType] => 4
                            [dsIp] => 
                            [dsPort] => 5000
                            [enabled] => 1
                            [extDIDev] => 0
                            [extDIPorts] => 0
                            [forceMjpeg] => 
                            [hasCamParam] => 1
                            [host] => xxx.xxx.xxx.xxx
                            [id] => 6
                            [isStatusUnrecognized] => 
                            [is_rotated_by_date] => 
                            [is_rotated_by_space] => 1
                            [name] => Nexus
                            [ownerDsId] => 0
                            [port] => 80
                            [presetNum] => 255
                            [privilege] => 15
                            [ptzCap] => 303
                            [recStatus] => 0
                            [rotation_by_date] => 30
                            [rotation_by_space] => 10
                            [rotation_option] => 0
                            [snapshot_path] => /webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&method=GetSnapshot&version=1&cameraId=6&timestamp=1474792294&preview=true
                            [status] => 0
                            [status_flags] => 0
                            [stmFisheyeType] => 0
                            [type] => 3
                            [uiStmNoList] => 1,1,1
                            [update_time] => 181710
                            [volume_space] => 9.990
                        )

Ok, jetzt hab ich alle IPcams (bei der 4. lags an der Einstellung in der Surveillance-Software (musste „live stream von Surveillance“ sein).

Danke

Mahlzeit!

Wie kann ich das Skript umbauen das es auch mit meinem Qnap NAS funktioniert?

Wie kann ich die URL von Qnap auslesen???

$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’);

mfg
maxx

Mir ist gerade aufgefallen, das man bei einem rechtsklick auf einer Kamera man eine Stream URL bekommt. In den Kamera Einstellungen kann man die Gültigkeit auf dauerhaft einstellen. Damit braucht man keinen „login“ mehr.

https://www.synology.com/de-de/knowledgebase/Surveillance/help/SurveillanceStation/camera_settings_liveview_setting_advanced

https://www.synology.com/de-de/knowledgebase/Surveillance/help/SurveillanceStation/camera_get_stream_path