2010-11-04 6 views
0

Je cherche à créer une sorte de logiciel de bureau à distance, et il est nécessaire que je transfère l'écran des utilisateurs sur Internet pour le spectateur.Programme de capture d'écran efficace

Mon but est de créer une capture optimisée de sorte que je ne devez pas transférer tout l'écran 10 fois par seconde ..

L'idée que j'avais était de prendre les captures d'écran sur l'ordinateur local, puis déterminer seulement le CHANGÉ pixels de la dernière capture d'écran. Donc, fondamentalement, s'ils faisaient quelque chose, seul ce qui changerait à l'écran serait envoyé et reconstruit de l'autre côté, afin que je puisse économiser de la bande passante et l'accélérer pour des connexions Internet plus lentes.

Mes questions:

  1. Comment puis-je comparer une nouvelle capture d'écran à un ancien et de déterminer ce qui a changé.
  2. Comment envoyer les informations découvertes à l'étape 1 sur un flux TCP standard.
  3. Comment puis-je reconstruire ces données pour afficher les mises à jour de l'écran avec succès une fois de l'autre côté.
+0

Jetez un oeil à VNC (http://www.google.com/search?q=vnc+open+source) ou d'un de ses variantes. La plupart ont le code source disponible. L'optimisation d'une roue existante est quelque chose que vous pourriez vouloir considérer avant de construire une nouvelle roue. – xcud

Répondre

0

VNC est un logiciel de bureau à distance open source. Je vous recommande de télécharger la source et de voir comment cela fonctionne. Cependant, je suis sûr que ce n'est pas écrit en C#.

Voici un lien vers le code source de TightVNC: http://www.tightvnc.com/download.php

FogCreek a récemment utilisé la source VNC pour son produit CoPilot. Vous pouvez le télécharger est source ici aussi: https://www.copilot.com/faq/#t28

Hope qui aide

Questions connexes