Gateway_man Geschrieben 1. Januar 2012 Teilen Geschrieben 1. Januar 2012 Hi, Zur Erläuterungen: Ich habe ein Server/Client Projekt am laufen, das es mir ermöglicht externe Maschinen zu verwalten und zu steuern. Ich bin gerade an einem Modul dran, das es mir ermöglicht eine RPD Session zu starten. Das ganze läuft momentan auch recht vielversprechend, solange der Upload der Remote Maschine entsprechend gut ist. Die Images die verschickt werden, sind momentan einfach noch zu groß. Bei einer Auflösung von 1280x1024 geht alles noch recht fix. Die Probleme fangen bei FullHD Auflösungen an. Das Format in dem die Bilder versendet werden ist Jpeg. Kennt einer von euch einen guten Algorithmus speziell für Bilder der hier angewendet werden kann? Wichtig ist das es zum einen komprimierbar und dekomprimierbar sowie schnell sein soll. Ich habe es bereits mit LZMA getestet, allerdings werden die Bilder größer statt kleiner und die Implementation war unzureichend, da die komprimierung mehrere Sekunden benötigte. Wenn ich die Serveranwendung auf meinem angemieteten Server laufen lasse komme ich auf traumhafte 15-20 frames pro Sekunde. Wenn ich den Server bei mir laufen habe und ein Kollege die Client Anwendung startet sagt er alle 2 Sekunden wechselt das Bild. Schon ein enormer unterschied. lg Gateway Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 2. Januar 2012 Teilen Geschrieben 2. Januar 2012 Ist die Frage erlaubt, warum du das Rad neu erfindest und nicht auf eine der vielen existierenden Fernwartungslösungen zurückgreifst? Zum Problem: JPEG-Dateien sind bereits komprimiert. Zweimal komprimieren bringt nichts. Du kannst die Komprimierung bei JPEG hochdrehen, aber dann verstärken sich auch die Artefakte. Ein Ansatz ist, nur den Teil des Bildschirminhalt zu übertragen, der sich verändert hat. Das erfordert allerdings entweder eine Analyse des Inhalts, für die du vermutlich keine Zeit hast, oder das Einklinken in das Grafik-Subsystem des verwalteten Systems, um Informationen darüber abzufangen, was sich geändert hat. Mit dem Verschicken von Screenshots ist es jedenfalls nicht getan. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gateway_man Geschrieben 2. Januar 2012 Autor Teilen Geschrieben 2. Januar 2012 Ist die Frage erlaubt, warum du das Rad neu erfindest und nicht auf eine der vielen existierenden Fernwartungslösungen zurückgreifst? Natürlich . Vorab das ganze ist ein rein privates Projekt und wurde nicht in Auftrag gegeben. Der Grund warum ich das ganze selbst implementiere ist sehr einfach. Ich habe im .Net noch keine brauchbare Library hierfür gefunden. Zudem sind die richtig guten Programme dieser Art für kommerziellen gebrauch kostenpflichtig (siehe teamviewer und die verlangen richtig Asche). Natürlich gibt es UrltraVnc und konsorten, allerdings können die niemals mit der Qualität von Teamviewer mithalten. Nicht zuletzt interessiert mich das Thema selbst . Ein Ansatz ist, nur den Teil des Bildschirminhalt zu übertragen, der sich verändert hat. Das erfordert allerdings entweder eine Analyse des Inhalts, für die du vermutlich keine Zeit hast, oder das Einklinken in das Grafik-Subsystem des verwalteten Systems, um Informationen darüber abzufangen, was sich geändert hat. Das ist eine hervorragende Idee. Ich werd mir mal überlegen wie ich das am besten umsetzten könnte. Mit dem Verschicken von Screenshots ist es jedenfalls nicht getan. Naja wie gesagt, wenn der Absender einen guten Upload hat siehts echt klasse aus. Ich hab zwischenzeitlich noch ein paar frames rausgeschlagen indem ich die Farbpalette geändert habe. Soll heißen: Bei High Qualität 32bit, bei Medium Qualität 16bit und bei Low Qualität 8bit. Ist natürlich nicht das optimalste, aber eine vorrübergehende Lösung. lg Gateway Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.