2016-07-29 6 views
0

Ich mag es normalerweise nicht, Fragen zu stellen, weil ich lieber die Dinge selbst herausfinden würde, aber ich bin bereit, meine Haare mit diesem herauszuziehen. Ich versuche mit einer Sony IP-Kamera mit Java zu verbinden. Eines der Produkte des Unternehmens, für das ich arbeite, arbeitet mit einer Sony IP-Kamera (IPela EP550). Ich wurde damit beauftragt, die neue Schnittstelle zu schreiben. Ich kann mit dem VLC ActiveX Embedded Control eine Verbindung zum Stream herstellen, aber ich kann die PTZ der Kamera nicht in Java manipulieren. Wenn ich in einem Webbrowser "http://xxx.xxx.xxx.xxx/command/ptzf.cgi?Move=left,0" eintippe, wird es sich bewegen, aber ich habe jedes Bit Code ausprobiert, das ich bei Google finden kann, um es ohne Erfolg zu bewegen. Das letzte, was ich versuchte, (weil eine Seite auf Oracle alles gesagt muss ich sollte, ist die Verbindung offen tun):Java und Interfacing mit Sony IP-Kamera

URL url1 = new URL("http://xxx.xxx.xxx.xxx/command/ptzf.cgi?Move=left,0&t="+new Date().getTime()); 
HttpURLConnection con = (HttpURLConnection)url1.openConnection(); 

Jede Hilfe geschätzt wird. Vielen Dank. Joe

Antwort

0
  1. Überprüfen Sie, ob die Kamera sich anmelden muss.
  2. geben Sie die URL in den Browser ein, erhalten Sie HTTP request header und geben Sie die Headerdaten in Ihren Code ein!
+0

Die Kamera benötigt nur eine Anmeldung, um die Einstellung zu ändern, wenn Sie an die Hauptschnittstelle des Geräts angeschlossen sind. Wenn Sie die URL eingeben, wie ich es oben eingegeben habe (mit der entsprechenden IP-Adresse), wird keine Webseite zurückgegeben, die Aktion in der Kamera passiert einfach. –

0

Ich habe herausgefunden, wie das geht. Ich poste die Lösung für den Fall, dass jemand ein ähnliches Problem beheben möchte. Ich nahm die Grundidee in this Dr. Dobbs article und benutzte es, um Bewegung von der Kamera zu bekommen. Ich weiß noch nicht, warum ich die Kamera nicht dazu bringen kann, mit URLConnection und HttpURLConnection zu antworten, sondern einen Socket und PrintWriter zu verwenden, um die GET-Anfrage an den Socket spezifisch zu drucken.

Verwandte Themen