![]() |
Re: 25 Screenshots pro Sekunde
Moin, moin
also Bildübertragung über Netz ist wohl das eigentliche Thema. Ziel soll hier wohl sein, eine möglichst ähnliche Darstellung zum überwachten Rechner zu bekommen. Unter TurboPascal konnte man direkt auf Vidooram zugreifen. Ähnlich wird hier der Weg auch sein (Das Thema Treiberprogrammierung hatten wir aber schonmal). Letztlich wird man das letzte Ramabbild im Rechner halten und die Differenz zum akutellen ermitteln. Jetzt muß man entscheiden ob es günstiger ist, das Differenzbild oder das neue Vollbild zu komprimieren (Heuristik). Das Komprimat wird dann verschickt. Das dürften wohl wesentlich weniger Daten sein als die 25 Einzelbilder. Wenn keine Änderungen am Quellbildschirm gemacht werden, dann wird eben nichts übertragen. Altes Bild bleibt. Festplatte ist übrigens nicht relevant, wenn es nur eine Überwachung oder Fernwartung ohne Speichern sein soll, wie bei vnc. Und das läuft bei Farbreduktion klasse, sogar noch mit ISDN über Internet. Das sowas nicht im Netz zum laufen zu bringen ist, da glaube ich nicht dran. Auch Pascal ist eigentlich flott genug dafür. Die Direktspeicherzugriffe und die effiziente Komprimierung sind da ein markantes Problem. // Martin |
Re: 25 Screenshots pro Sekunde
Hallo zusammen,
es gab mal ein Fernwartungsprogramm, welches in Delphi entwickelt wurde. Von diesem wurde auch der Quellcode veröffentlicht. Vielleicht kann dies bei der Lösung des Problems behilflich sein. Webseite des Autors: ![]() Gruß |
Re: 25 Screenshots pro Sekunde
Ich hab selbst mal sowas gemacht und ich kann nur davon abraten :mrgreen:
Nach etwa spätestens 10-20 sek ist ein WIRKLICH GUTER PC in den Knien. Jedenfalls wars bei mir so. Und dann noch übers Netzwerk...... Naja ich weis nicht ob das überhaupt möglich ist oder ob ich einfach nur wie immer vergessen hab Sachen freizugeben, die dann den Arbeitsspeicher zugemüllt haben ^^ |
Re: 25 Screenshots pro Sekunde
Zitat:
Zitat:
|
Re: 25 Screenshots pro Sekunde
naja so ein Programm wäre auf jeden Fall vielleicht einmal ein Gemeinschaftsprojekt wert
|
Re: 25 Screenshots pro Sekunde
Zitat:
Allerdings stellt sich anhand der obigen Beiträge die Frage anders: Wenn solche Überwachungsprogramme auch über ISDN funktionieren, muss man das Programm so einrichten können, dass es nur ein Minimum an Daten verschickt und trotzdem ein möglichst genaues Abbild des zu überwachenden Computers gibt. Die Frage ist, wie geht das? Dazu müsste man zuerst platzsparende Grafikformate zur Übertragung wählen (z.B. JPG statt BMP). Als nächsten Punkt könnte man, wie schon oft erwähnt, die Framerate runtersetzen. Dabei könnte man soweit gehen, dass man nur ein neues Bild überträgt, wenn sich auf dem Bildschirm auch wirklich etwas verändert hat. Man könnte es auch auf die Spitze treiben und selbst bei Veränderung des Bilschirms nur die Teile des Bildschirmscreenshots übertragen, die auch verändert wurden. Allerdings dürften das ohne Komprimierung in den meisten Fällen auch noch zu viele Daten für eine ISDN-Verbindung sein. Deshalb könnte man auch einen abgeänderten Ansatz für die Grafikübertragung verwenden: statt die Grafiken als Pixelgrafiken zu übertragen, könnte man auch auf so eine Art "Pseudo-Vektorgrafik" umsteigen. Dabei werden nicht die neuen Screenshots verschickt, sondern nur solche Anweisungen wie "Zeichne in der oberen rechten Bildschirmecke den Mauszeiger neu" an den entfernten Computer geschickt, der diese Anweisungen dann in seinem Programm ausführt und somit das Bild aktualisiert. Das hätte mehrere Vorteile: zum einen würde sich das Transfervolumen nochmals stark verringern; und zum anderen würde der Rechenaufwand beser auf beide Rechner verteilt werden und es somit auch möglich, dass das Programm auf langsamen Rechnern noch halbwegs flüssig läuft. Das sind jetzt nur ein paar Gedanken von mir, und ich habe auch keine Ahnung, wie das in den oben angesprochenen Programmen realisiert wurde. Also sagt mir, wenn ich hier nur Unsinn geschrieben habe, aber vielleicht hilft es dem einen oder anderen weiter. MfG Binärbaum |
Re: 25 Screenshots pro Sekunde
Zitat:
15 FPS reichen denke ich auch völlig aus: 3.932.160 * 15 = 58.982.400 -> unkomprimiert also rund 60 MB/s, da du jedoch auch einen Screenshot dieser Auflösung nicht als Bitmap im Forum posten würdest, fällt das Datenaufkommen durch die Komprimierung jedes einzelnen Frames viel geringer aus. Im 100MBit-Netzwerk dürfte das alles sicherlich auch machbar sein. Trotzdem wäre eine auf tatsächliche Bildveränderungen basierende Lösung viel besser. |
Re: 25 Screenshots pro Sekunde
Zitat:
Zitat:
|
Re: 25 Screenshots pro Sekunde
Tach...
Ich hab mir auch mal so ein Capture Tool geschrieben. Ich denke den Screen in einzelne (Rechtecke sind vorzuziehen) Bereichen einzuteilen, daran kommst du nicht vorbei. Je nach Leistungsfähigkeit des CPUs hab ich "Rechteck - Auflösung" eingestellt. Einfach die die Hashwerte der neuen Bildbereiche mit den Werten des Alten abgleichen, die entsprechenden Teile senden und das neue Bild als altes Bild zwischenspeichern. Is kein Hexenwerk. Die Idee wie Binärbaum mir den "Pseudovektorgrafiken" hatte ich auch, wusste aber noch nicht genau wie ich das gut umsetzen kann. Also auf meinem damaligen P4c Northwood und einem 100MBit LAN waren 12 - 18 Bilder pro Sekunden eigentlich drin ... halt zu Lasten des Hauptspeichers, der reichlich vorhanden sein sollte, weil sonst das Programm ausgebremst wird... die zu übertragende Datenmenge wird ja durch die Einteilung verringert. Komprimierung hilft auch, dauert aber etwas und bewirkt daher eine Verzögerung, heißt es kann passieren, dass der Client mit den Abspielen schon merklich hinterher is. Viel Spass beim basteln ... hat mir richtig Spaß gemacht! |
Re: 25 Screenshots pro Sekunde
kann es sein, das man die repaint anforderungen von windows an die programme per hook oderso abfangen könnte und somit genau auf die repaint canvas'e zugreifen könnte und dann genau weis, welche bereiche neu gezeichnet werden(wurden) um so eine gezieltere direktere überwachung auf eine bild-veränderung zu realisieren ?
ich denke nicht, das VNC und konsorten haufenweise screenshots machen und die vergleichen (wie auch immer) ich denke, da ist irgendwas angezapft, da wirklich haargenau die bereiche gerefreshed werden, die auch neu gezeichnet wurden via message das kann man an den alten VNC versionen in kombination mit einem 10mbit halfduplex lan sehr gut beobachten :) auch von einer framerate kann hierbei wohl nicht gesprochen werden, da es ereignisgesteuert ist, und keinen konstanten refreshzyklus hat. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz