[Netzwerk, Win32] Bildübertragung

revelation

Mitglied
Hallo zusammen,

ich schreibe zusammen mit einem Freund an einem Fernwartungsprogramm, welches die Möglichkeit bietet einen durch ein Netzwerk verbundenen Computer fernzusteuern.
Das Programm funktioniert auch einigermaßen, solange es sich um schnelle Verbindungen (>=10MBit/s) handelt. Sobald man versucht, das Ganze via Internet (DSL128) zu betreiben, bekommt man extreme Bandbreitenprobleme mit der Bildübertragung.

Im Moment wird diese Bildübertragung wie folgt gehandhabt:
- ein Initialbild wird vollständig übertragen
- bei jedem weiteren Frame werden die sich vom vorherigen Bild unterscheidenden Teile errechnet und nur diese übertragen
- das ganze erfolgt gzip-komprimiert.

(bei 1024x768 sind das für das initialbild ca. 50kb und weitere 10-50kb für die folgenden Bilder)

Meine Frage:
Hat jemand eine bessere Idee, wie man die Bildübertragung bewerkstelligen könnte?
Es MUSS einen Weg geben, denn z.B. Netsupport schafft das auch. ;)

Vielen Dank im Voraus
Johannes
 
evtl. das ganze jpeg-Komprimiert. Aber du kannst auch mal in die Sourcen von VNC bzw. TightVNC schauen. Die haben diverse Kompressionsverfahren.
 
Ich glaube nicht, dass JPG so gut geeignet ist. Es geht schliesslich nicht um viele schöne Farben, sondern um eine klare Darstellung der anderen Rechneroberfläche. Dazu genügen wenige Farben, aber angezeigte Texte dürfen nicht durch Artefakte unleserlich gemacht werden.
Ich denke, ein GIF oder PNG wäre da besser geeignet, eventuell auf 16 Farben oder so runterrechnen.
 
Hallo,

also JPG hatten wir auch schon getestet. Leider war das Ergebnis nicht sehr zufriedenstellend: Bei ausreichender Qualität war die resultierende Datei größer als die verlustfreie gzip-Datei. (liegt wahrscheinlich an den vielen einfarbigen Flächen des Windows-GUI).

GIF und PNG bringen leider auch keine Verbesserung... :(

Was ich eigentlich wissen wollte war, ob jemand ein besseres Konzept wüsste, welche Daten ich übertragen sollte, nicht wie die übertragenen Daten komprimiert werden könnten.
Eine Möglichkeit wäre ja z.B., nicht die resultierende Bitmap, sondern Fensterdaten zu übermitteln. (Was aber mit riesigem Aufwand verbunden wäre)

Trotzdem vielen Dank für eure Bemühungen.

Gruß
Johannes
 
Zurück