Hauptmenü

SSCam

Begonnen von davedeluxe, 28 März 2023, 16:03:14

Vorheriges Thema - Nächstes Thema

davedeluxe

Hallo zusammen,

ich habe mittlerweile ein Problem mit meinen Kameras welche über das Modul SSCam angebunden sind.
Scheinbar hat das mit der neuen Chrome/WebView Version auf Android zu tun wo ich die Streams anzeige (FTUI).

Ich bin mir ziemlich sicher, das es daran liegt, das der Stream im Gegensatz zur restlichen Kommunikation mit FHEM über http (Port 5000) läufft und nicht über https (Port 5001 oder 9901).
Was mich wundert ist, ich habe das Device wie folgt definiert:
defmod Cam_Front SSCam Front 192.168.178.20 9901 HTTPS
defmod SSCamSTRM.Cam_Front.mjpeg SSCamSTRM {FHEM::SSCam::streamDev('Cam_Front','SSCamSTRM.Cam_Front.mjpeg','mjpeg')}

aber der Stream hat folgende URL:
http://192.168.178.20:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Stream.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=4&StmKey=%22f630c4c8f3564446c5358aa0ae508f90%22

Kann mir jemand sagen, wie ich den Stream auf https umstellen kann?

Denn wenn ich die URL manuell anpasse auf:
https://192.168.178.20:9901/webapi/entry.cgi?api=SYNO.SurveillanceStation.Stream.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=4&StmKey=%22f630c4c8f3564446c5358aa0ae508f90%22
läuft der Stream auch in Chrome wieder einwandfrei.

Grüße
Dave

DS_Starter

Hallo Dave,

wenn du dein SSCam-Device auf https stellen willst, änderst du einfach die Definition auf z.B.:

Hauseingang 192.168.2.10 5001 (oder 9901)

je nachdem auf welchen https-Port deine Surveillance Station läuft.
Alles andere wird dann daraus abgeleitet.
Du siehst auch an den Inhalten der Readings StmKey.* ob die Umstellung auf https geklappt hat.

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

davedeluxe

Hi Heiko,

danike für die Hilfe aber das klappt leider nicht.
Ich habe die Devices sogar gelöscht und neu angelegt mit dem richtigen Port.
In den Readings, etc. steht auch überall https und Port 9901 bzw. testweise auch 5001 aber der Stream selbst wird immer über http und Port 5000 gemacht.
Ich habe keine Ahung woher er den Port 5000 bezieht.
Der Stream via https und Port 9901 und 5001 funktioniert wenn ich ihn manuell im Browser ändere, weswegen ich ein Problem mit https ausschließe.

Grüße,
Dave

DS_Starter

Hi Dave,

ZitatIch habe keine Ahung woher er den Port 5000 bezieht.

Diese Informationen werden von der Surveillance Station geliefert.
Wenn du verbose 5 einstellst und im SSCam ein get "stmUrlPath" ausführst siehst du die Antworten:

2023.03.30 18:28:48.736 4: SSCam.Terrasse - ####################################################
2023.03.30 18:28:48.737 4: SSCam.Terrasse - ###    start cam operation getStmUrlPath         
2023.03.30 18:28:48.738 4: SSCam.Terrasse - ####################################################
2023.03.30 18:28:48.738 4: SSCam.Terrasse - --- Start getCamId ---
2023.03.30 18:28:48.739 4: SSCam.Terrasse - CAMID already set - ignore get camid
2023.03.30 18:28:48.740 4: SSCam.Terrasse - --- Start getStmUrlPath ---
2023.03.30 18:28:48.741 5: SSCam.Terrasse - HTTP-Call will be done with httptimeout-Value: 20 s
2023.03.30 18:28:48.741 4: SSCam.Terrasse - Call-Out now: https://192.168.2.10:9901/webapi/entry.cgi?api="SYNO.SurveillanceStation.Camera"&version=9&method="GetLiveViewPath"&idList="2"&_sid="iiM3tlW_qkO8RItkVp685e0EWVZQkdDqVF6lMEmjIa4C_Yw7qvDbyty4facaRE0Z_hZNQm6XzMDw5_3f6PSPI0"
2023.03.30 18:28:48.960 5: SSCam.Terrasse - JSON returned: {
  'data' => [
              {
                'mxpegHttpPath' => 'http://192.168.2.10:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Stream.VideoStreaming&version=1&method=Stream&format=mxpeg&cameraId=2&StmKey="blabla"',
                'rtspOverHttpPath' => 'rtsp://192.168.2.10:5000/webman/3rdparty/SurveillanceStation/cgi/rtsp.cgi?Sms=2.unicast&DsId=0&StmKey=blabla',
                'multicstPath' => 'rtsp://syno:blabla@192.168.2.10:554/Sms=2.multicast',
                'mjpegHttpPath' => 'http://192.168.2.10:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Stream.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=2&StmKey="blabla"',
                'id' => 2,
                'rtspPath' => 'rtsp://syno:blabla@192.168.2.10:554/Sms=2.unicast'
              }
            ],
  'success' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' )
}

2023.03.30 18:28:48.961 4: SSCam.Terrasse - Stream-URLs of camera Terrasse retrieved

Zur Lösung deines Problems kannst du dir das Attr setzen:

livestreamprefix DEF
 

Dann werden das Protokoll, Server und Port aus der Device Definition hart übernommen und die von der SVS gelieferten Werte überschrieben.
Damit kann man auch ein Mapping auf einen anderen Server oder Port vornehmen lassen.
Deine Streaming Devices übernehmen die Angaben und streamen dann über https und dessen Port.

Am Anfang dauert es etwas bis das Attr zieht weil erst die Informationen gepollt werden müssen, oder du führst ein get "stmUrlPath" aus.

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

davedeluxe

Oh man, vielen Dank!
Das Attribut hats gebracht ;)

Endlich hab ich wieder Bild auf meinen Adroid Geräten.

Vielen Dank und weiter so, SSCam ist wirklich sehr mächtig!