Forum: PC-Programmierung Protokoll IP P2P Kameras


von Pascal Würzer (Gast)


Lesenswert?

Hallo!

Es gibt ja mittlerweile günstige IP Kameras wie Sand am Meer. Hat sich 
hier jemand schonmal mit deren Ansteuerung auseinandergesetzt?

Vieles lässt sich über den integrierten Webserver steuern, leider jedoch 
nicht die bidirektionale Audiofunktion oder gar die Alarmsignalisierung 
der eingebauten Bewegungserkennung.

Ich habe mal die Kommunikation zwischen nem typ. P2P-IPCAM Client für 
Android und den Kameras mitgesnifft, dort läuft alles über UDP, z.T. mit 
eingebetteten HTTP-GET Requests. Konnte schon bisschen davon entziffern 
und auch mit einem kleinen Python-Skript die Kamera rudimentär 
ansteuern, aber manches ist noch unklar (z.B. Audioübertragung zur 
Kamera). Kennt hier jemand das Protokoll? Google findet leider gar nix 
zum UDP-Protokoll der Kameras, nur zum CGI-Interface. Es scheint unter 
den Kameras ein gängiges Protokoll zu sein, vermutlich wird das SDK 
gleich zum Hisilicon Chip mitgeliefert.

Frohes Fest!
Pascal

von Ip (Gast)


Lesenswert?

Das Ding wird im einfachsten Fall einen rtsp Stream haben.
Wenn sie nur mjpeg als Videoformat anbietet dann kann es auch ein rtsp 
Stream sein

Welche Kamera hast du denn?

von Pascal Würzer (Gast)


Lesenswert?

Es sind verschiedene Kameras, alle aus China und vermutlich alle der 
selbe Chipsatz. Auf allen läuft z.B. ein Telnetd, meistens sogar mit dem 
gleichen root-Passwort. Ebenso die Prozesse mit Sockets sind gleich bzw. 
ähnlich (encoder, daemon.vxx, command_thread, gmail_thread)

Ein RTSP-Stream bieten einige Modelle auf einem separaten TCP-Port an, 
ebenso bekommt man den Video- und Audiostream auch über den enthaltenen 
Webserver (CGI-Kommandos). Nur z.B. Audio an die Kamera senden geht 
darüber nicht.

Mich interessiert das P2P-Protokoll dieser Kameras, das ebenfalls über 
UDP läuft. Darüber erfolgt z.B. auch die Alarm-Signalisierung sowie die 
bidirektionale Audiofunktion einiger Modelle. Über dieses Protokoll 
kommunizieren auch z.B. die Android-Clients auch über NAT hinweg ohne 
dass eine Portfreigabe ins Internet eingerichtet muß (UDP Hole Punching)

Die Android-Clients enthalten alle eine Binary-Lib, über die die 
Kommunikation abgewickelt wird. Vermutlich ist diese aus einem SDK, aber 
das habe ich auch nirgends gefunden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.