Im looking to create a sort of remote desktop software, and it is required that i transfer the users screen over the internet to the viewer.
My goal is to create an optimized capture so that i dont have to transfer the whole screen 10 times a second..
The idea i had was take the screenshots on the local computer and then determine only the CHANGED pixels from the last screenshot. So basically if they did something, only what changed on the screen would be sent and reconstructed on the other side, so i can save bandwidth and speed it up for slower internet connections.
My questions:
- How can i compare a new screenshot to an old one and determine what has changed.
- How would i send the information discovered in step 1 over a standard TCP stream.
- How would i reconstruct that data to display the screen updates successfully once on the other side.