Kamera Konfiguration MJPEG Stream Größe

arniworx

Benutzer
Mitglied seit
16. Aug 2023
Beiträge
7
Punkte für Reaktionen
1
Punkte
3
hi!
ich benutze folgende url, um einen MJPEG stream einer kamera abzugreifen:
Code:
http://192.168.XXX.XX:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Stream.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=4&StmKey=%22xxxxxxxxxx47c6b01d305cc61562c24b%22&_sid=XXXXXXXXXXXXXXXXXX
leider scheint der stream auf eine breite von 640px limitiert zu sein. kennt jemand eine möglichkeit, dass zu beeinflussen?
gibt es irgendwo ein dokumentation zu der api (SYNO.SurveillanceStation.Stream.VideoStreaming) methoden? parameter?
vielen dank, im voraus.
gruß
-arni
 

Jim_OS

Benutzer
Sehr erfahren
Mitglied seit
05. Nov 2015
Beiträge
4.455
Punkte für Reaktionen
1.749
Punkte
214

arniworx

Benutzer
Mitglied seit
16. Aug 2023
Beiträge
7
Punkte für Reaktionen
1
Punkte
3
@Jim_OS
danke für die schnelle hilfe ... aber genau daher stammt die o.g. URL.
die wird beim aufruf von "GetLiveViewPath" zurückgeliefert,
aber der aufruf an sich, ist da leider nicht dokumentiert.
mir geht es dabei um eventuelle "width", "height" o.ä. parameter.
gruß
-arni
 

Jim_OS

Benutzer
Sehr erfahren
Mitglied seit
05. Nov 2015
Beiträge
4.455
Punkte für Reaktionen
1.749
Punkte
214
Naja die Infos die Du bisher geliefert hast sind auch etwas - sagen wir mal - bescheiden. :LOL:

Die Frage wäre ja um was für eine Kamera handelt es sich und was für Streams kann die überhaupt liefern? D.h. SS kann natürlich nur das darstellen was die Kamera auch liefert und aus der URL oben kann ich nicht erkennen was da überhaupt bei der Kamera für einen MJPEG Stream eingestellt wurde.

Beispiel Dahua: Meine Kameras liefern 3 Streams und bei jedem Stream lassen sich unterschiedliche Kodierungen einstellen und dazu sind dann unterschiedliche Auflösungen hinterlegt. Wenn ich bei dem Substream 2 z.B. MJPEG auswähle ist dafür eine max. Auflösung von 1280x720 möglich.

Dahua_Video.png
Ergo könnte und würde SS diesen MJPEG Stream dann auch in 1280x720 darstellen.

VG Jim
 

c0smo

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
08. Mai 2015
Beiträge
6.679
Punkte für Reaktionen
1.207
Punkte
254
Bei einem API Aufruf kommt der Stream glaube ich direkt von der SS. Die Auflösungen von der Kamera spielen deshalb keine Rolle.
Das könnte man theoretisch umgehen, in dem man den Stream von der Kamera holt.
 

Jim_OS

Benutzer
Sehr erfahren
Mitglied seit
05. Nov 2015
Beiträge
4.455
Punkte für Reaktionen
1.749
Punkte
214
Das er über die API den SS-Stream abrufen will ist schon klar, :) nur wenn SS von der Kamera z.B. nur einen VGA-Stream ala 640 mal x bekommt dann kann auch nicht anderes ausgegeben werde.

Ich vermute mal hier geht es um die Einbindung eines MJPEG-Streams in irgendeine Smarthome-Steuerung wie z.B. ioBroker (oder Ähnliches), aber der TE hält sich ja eher bedeckt mit Infos. Wenn man wüsste um welche Kamera es geht und was er überhaupt vor hat, könnte man ihm ggf. besser helfen.

Auch der Punkt "width", "height" o.ä. parameter." für das Ausgabeformat wäre ggf. etwas was man evtl. dort einstellen kann wo der Stream eingebunden werden soll. Aber nichts Genaues weiß man nicht. :LOL:

VG Jim
 

c0smo

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
08. Mai 2015
Beiträge
6.679
Punkte für Reaktionen
1.207
Punkte
254
nur wenn SS von der Kamera z.B. nur einen VGA-Stream ala 640 mal x bekommt dann kann auch nicht anderes ausgegeben werde.
Das geht. Die SS codiert ihren eigenen Stream. Wenn der Stream direkt von der Kamera kommt, dann stimmt deine Aussage. Tut er aber nicht.
 

Jim_OS

Benutzer
Sehr erfahren
Mitglied seit
05. Nov 2015
Beiträge
4.455
Punkte für Reaktionen
1.749
Punkte
214
Moin c0smo,

das SS einen eigenen Stream generiert ist richtig, aber soweit ich das sehe basiert dieser generierte SS-Stream dann wieder auf dem bzw. den möglichen Streams der/die von der Kamera geliefert werden. Die SS-API arbeitet mit Profilen die man definieren kann und die dann wiederum auf den Kamera-Profilen basieren.

Soweit ich das eben beim überfliegen gesehen habe: pairedcam_stream = The stream profile of the paired camera.

Code-Beispiel
Code:
"stream2": {
"bitrateCtrl": 1,
"constantBitrate": "1000",
"fps": 10,
"quality": "5",
"resolution": "640x400"
},
"stream3": {
Copyright © Synology Inc. All rights Reserved. 435
Synology Surveillance Station Web API
"bitrateCtrl": 1,
"constantBitrate": "1000",
"fps": 10,
"quality": "5",
"resolution": "640x400"
},

Vermutlich wäre es jetzt möglich einen z.B. 640x400 Stream der Kamera als z.B. einen 1280x720 SS-API-Stream auszugeben, aber ob das Sinn macht. :)

Ich habe jetzt allerdings auch nicht die Lust mir die über 500 Seiten der SS-API genau anzuschauen, einfach weil ich sie nicht brauche. :LOL:

@arniworx Mit dem GetLiveViewPath wirst Du da nicht weiterkommen, denn darüber lässt sich die Streamgröße nicht beeinflussen, sondern nur der jeweilige Stream der Kamera abrufen.

SS_GetLivePath.png
Wenn musst Du mal einen Blick auf das erstellen von SS-API-Profilen werfen und da dann mit unterschiedlichen Auflösungen arbeiten. Aber ob und wie das dann bei/mit MJPEG funktioniert und ob überhaupt, musst Du selber mal schauen.


Für mich ist das Thema hier abgeschlossen, es sei denn der TE liefert mehr Infos was er überhaupt genau vor hat, bzw. damit bezweckt. :)

VG Jim
 

arniworx

Benutzer
Mitglied seit
16. Aug 2023
Beiträge
7
Punkte für Reaktionen
1
Punkte
3
ok, hier ist er wieder der TE ;-) - hab nur abends und am WE zeit.
ziel: ich möchte die SS als quasi MJPEG-Proxy missbrauchen, da sich diese streams in fast jedem browser nativ darstellen lassen.
es ist vollkommen wurscht, was die kamera nativ liefert, der MJPEG stream wird von der synology geliefert.
beispiel: meine axis kamera liefert 1080p, und beim besagten aufruf des rückgabewertes der funktion "GetLiveViewPath" wird der original stream der kamera auf 640x360 skaliert - läuft gut, ist mir aber zu klein, verständlich, oder?
irgenwelche änderungen an den profilen o.ä. (zb. stream auf 1280x720 stellen) haben zwar eine auswirkung, aber nur das dann genau dieser stream wieder auf 640x360 skaliert wird (deutlich zu sehen am timestamp).
es wird alles auf eine maximale breite von 640px skaliert - egal was.
und jetzt die abschliessende frage: ist das alles, was die SS maximal an MJPEG stream liefern kann?
ob der aufruf jetzt, der von "GetLiveViewPath" ist oder evtl, eine andere API funktion genommen werden kann, ist mir auch egal.
vielen dank für eure mühe.
-arni
ps. wo finde ich denn infos zu "SS-API-Profilen"?
 

c0smo

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
08. Mai 2015
Beiträge
6.679
Punkte für Reaktionen
1.207
Punkte
254

arniworx

Benutzer
Mitglied seit
16. Aug 2023
Beiträge
7
Punkte für Reaktionen
1
Punkte
3
ok, auch dir vielen dank für deine mühe.
es geht mir darum, dass einige meiner kameras (z.b. foscam c2) keine mjpeg stream nativ liefern - deshalb die ganze aktion.
eigentlich war ich nur auf der suche nach einer dokumentation der api: SYNO.SurveillanceStation.Stream.VideoStreaming
die parameter, die ich kenne sind: version, method, format, cameraId, StmKey, _sid
interessant wäre, zu wissen was es sonst noch so gibt (z.b. scale, resize, width, height)
gruß
-arni
 


 

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