Zugriff auf Videos der Surveillance-Station von außen

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

RolfGrisu

Benutzer
Registriert
10. Feb. 2012
Beiträge
39
Reaktionspunkte
0
Punkte
6
Hallo zusammen,

ein Webserver greift bereits erfolgreich Videos von mehreren Cams der SS ab und stellt den mjpeg-Stream in einem <img> dar. Sinngemäß javascript:

Code:
url = "https://myDomain:5001/webapi/entry.cgi?api=SYNO.SurveillanceStation.Stream.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=7&StmKey="[myKey]"
$('#video').attr('src',url);

Von der gleichen Site möchte ich jetzt an einer PTZ-Cam Presets anfahren. Dazu setze ich einen XHR-Request auf die entsprechende URL ab:

Code:
url = "https://myDomain:5001/webapi/entry.cgi?api=SYNO.SurveillanceStation.PTZ&method=GoPreset&version=1&cameraId=7&presetId=2"
$.get(data.url, function( result ) {
   console.log(result); 
});

Quasi ein Zugriff auf den gleichen Server und das gleiche Script wie zuvor. Dennoch wird der 2. Zugriff mit einer Cors-Meldung blockiert:

Access to XMLHttpRequest at 'https://mydomain:5001/webapi/entry....thod=GoPreset&version=1&cameraId=7&presetId=4' from origin 'https://otherdomain' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Diese Meldung kommt von nginx (Webstation mit Apache2 ist ebenfalls installiert). Prinzipiell stimmt das sogar. Aber weshalb funktioniert das beim direkten Zugriff auf die SS-Streams problemlos?

Statt des dargestellten XHR-Aufrufs habe ich versucht die 2. URL einem weiteren <img> auf der Website zu geben. Damit wird der Aufruf nahezu identisch zum Video-Stream. Dennoch wird auch hier blockiert

"A resource is blocked by OpaqueResponseBlocking, please check browser console for details." (Firefox).

Kann mir das jemand erklären? Wie bringe ich nginx (resp. Surveillance-Station) dazu den Zugriff vom anderen Webserver zu aktzeptieren?

Vielen Dank für jede Unterstützung
 

Additional post fields

 

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