Hallo zusammen,
ich habe ein Webcam von Axis.
Diese Cam kann man mittel "HTTP-Adresse steuern", wenn ich also mittels IE oder FF folgendes eingebe:
http://1.2.3.4/axis-cgi/com/ptz.cgi?move=up
Dann bewegt sich die Cam nach oben.
oder
http://10.20.108.24/axis-cgi/admin/getparam.cgi?Network
Dann bekomme ich die Netzwerk Konfiguration angezeigt.
Gibt es eine einfach möglichkeit dies über C# zu machen, das ich die Kamera programmgesteuert drehen/bewegen kann?
Danke jetzt schon mal.
Gruß Simon
Hier gibt es die orginal Anleitung:
Anleitung
Gibt es eine einfach möglichkeit dies über C# zu machen, das ich die Kamera programmgesteuert drehen/bewegen kann?
Ich denke die einfachste Möglichkeit wäre es einfach eine Klassenbibliothek zu stellen die die gewünschten Funktionen aus der HTTP-Api wrapped (kapselt).
Genau das meinte ich.....
Du machst Dir eine dll mit den gewünschten Funktionen und rufst in denen die entsprechende HTTP-Adresse auf....
Mit der Webclientklasse lässt sich der Request sogar fast ohne Programmierung durchführen....
bspw:
System.Net.WebClient Client = new System.Net.WebClient();
private Boolean Move(String Direction)
{
String Response =
Client.DownloadString("http://1.2.3.4/axis-cgi/com/ptz.cgi?move=" + Direction);
if Response.Contains("Prüfe Inhalt der Seite, ob der Aufruf funktioniert hat")
return true;
else
return false;
}
Da Du hier keine eigene 'Move'-Funktion hast, sondern nur die Move-Funktion der HTTP-API kapselst, nennt sich das Wrappen / Kapseln.
Axis bietet übrigens ein C#.Net SDK, mit dem du darüberhinaus einiges mehr machen kannst als nur die Kamera hin und her zu bewegen 😉:
http://www.axis.com/techsup/cam_servers/dev/activex.htm
mfg