Moin,
Ich sitze vor einem momentan sehr nerfigen Problem eines Steuerungsservers auf Java Basis.
Ich arbeite an einem Java Server zur Bedienung und Datenverwaltung einer beweglichen Webcam. Der Server basiert auf RMI und stellt Methoden zur Steuerung und zum Holen von aktuellen Kamerabildern zur Verfügung.
Ein Kamerabild holt der Server von der Kamera über eine URL, das Bild ist jpg komprimiert.
Bisher habe ich das Bild dann in einem ImageIcon abgelegt, weil dies "serializable" implementiert und für die Übertragung per RMI geeignet ist.
[Kamera] <---URL_Abruf---> [Java RMI Server] <---RMI---> [Client]
Funktioniert bisher wunderbar, allerdings nur, wenn der Server auf demselben System läuft wie der Client. Grund: Das Bild das der Server holt ist ein jpg, intern speichert das IconImage es aber als Bitmap, das dann über 1,5 MB gross wird, sobald der Client auf einem weiter entfernten System läuft und ein Bild holen will, dauert dies aufgrund der grossen Datenmenge ewig lange.
Was ich also brauche ist eine Klasse, die das Bild der Kamera zunächst in seiner jpg Form erhält und über RMI überträgt, so das der Client aus der Klasse ohne viel Aufwand ein Image oder ImageIcon extrahieren kann.
Kann mir da jemand weiterhelfen? Ich könnte natürlich die URL als Stream in ein bytearray bringen, allerdings habe ich keine Ahnung, wie ich daraus dann beim Client das Bild extrahieren kann.
Ich sitze vor einem momentan sehr nerfigen Problem eines Steuerungsservers auf Java Basis.
Ich arbeite an einem Java Server zur Bedienung und Datenverwaltung einer beweglichen Webcam. Der Server basiert auf RMI und stellt Methoden zur Steuerung und zum Holen von aktuellen Kamerabildern zur Verfügung.
Ein Kamerabild holt der Server von der Kamera über eine URL, das Bild ist jpg komprimiert.
Bisher habe ich das Bild dann in einem ImageIcon abgelegt, weil dies "serializable" implementiert und für die Übertragung per RMI geeignet ist.
[Kamera] <---URL_Abruf---> [Java RMI Server] <---RMI---> [Client]
Funktioniert bisher wunderbar, allerdings nur, wenn der Server auf demselben System läuft wie der Client. Grund: Das Bild das der Server holt ist ein jpg, intern speichert das IconImage es aber als Bitmap, das dann über 1,5 MB gross wird, sobald der Client auf einem weiter entfernten System läuft und ein Bild holen will, dauert dies aufgrund der grossen Datenmenge ewig lange.
Was ich also brauche ist eine Klasse, die das Bild der Kamera zunächst in seiner jpg Form erhält und über RMI überträgt, so das der Client aus der Klasse ohne viel Aufwand ein Image oder ImageIcon extrahieren kann.
Kann mir da jemand weiterhelfen? Ich könnte natürlich die URL als Stream in ein bytearray bringen, allerdings habe ich keine Ahnung, wie ich daraus dann beim Client das Bild extrahieren kann.