http://192.168.x.xx:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Stream.VideoStreaming&version=1&method=Stream&format=mjpeg&cameraId=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%22
Dazu geht man zunächst in die Einstellungen für die RTSP-Kamera und stellt die Kamera kurzeitig auf „MJPEG“ um. Der Stream wird dann in der Regel unterbrochen, aber das ist erst mal nicht weiter tragisch, da man am Ende wieder alles auf „H.264“ zurückstellt.
— Surveilance Station Camer Einstellungen
Nun klickt man mit der rechten Maustaste auf die betreffende Kamera und dann auf „Stream-Pfad freigeben“. Dann werden einem die Daten der Kamera, die man für die nachfolgenden Befehle benötigt, angezeigt. Neben der IP-Adresse der DiskStation (1) findet man hinter „cameraID=“ die wesentlichen ID-Daten der Kamera (2).
Mit folgendem Shellskript (Achtung: es dürfen keine CR am Zeilenende enthalten sein) kann man sich dann einen Snapshot holen.
#!/bin/bash
# +++++ Pfad und Name eines zu speichernden Bildes +++++
pictPath='/tmp/Bildname.jpg'
# +++++ Zugriffsdaten der Synology DiskStation +++++
ipDiskStation='xxx.xxx.xxx.xxx:5000' # IP:PORT der DiskStation
account='admin' # Admin-Name auf der DiskStation
password='xxxxxxxxxx' # Admin-Passwort
cameraId='xx&StmKey=xxxxxxxxxxxxxxxxxxxxxxxxx'
# +++++ Snaphshot holen +++++
wget -q --keep-session-cookies --save-cookies cookies.txt -O- "http://"$ipDiskStation"/webapi/entry.cgi?api=SYNO.API.Auth&version=3&method=login&account="$account"&passwd="$password
wget -q --load-cookies cookies.txt -O $pictPath "http://"$ipDiskStation"/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&method=GetSnapshot&version=1&cameraId="$cameraId
exit 0
Siehe auch https://www.synology-forum.de/threads/rtsp-stream-als-mjpeg-in-netz-streamen.109971/