C # mejor compresión para la aplicación de transmisión de escritorio remoto

Estoy en el proceso de crear unTCP aplicación de transmisión de escritorio remoto. (Algo así como Team Viewer o VNC) la aplicación del servidor

1. run on a PC listening for multiple clients on one Thread
2. and on another thread it will record the desktop every second
3. and it will broadcast the desktop for each connected client.

Necesito hacer posible que esta aplicación se ejecute en una conexión con una carga de 12KBps y una conexión DSL de 50KBps (cliente y servidor).

entonces ... tengo que reducir el tamaño de los datos / imágenes que envío por segundo.

Traté de reducir haciendo lo siguiente.

I. first i send a Bitmap frame of the desktop and each other time i send only the difference of the previously sent frame.

II. the second way i tried was, each time i send a JPEG frame.

no tuve éxito en enviar un cuadro JPEG y luego cada vez que envié la diferencia del cuadro JPEG enviado anteriormente.

intenté usarlzma compresión (7zip SDK) para cuando estaba transmitiendo la diferencia del Bitmap.

Pero no tuve éxito en reducir los datos a 12 Kbps. el máximo que pude alcanzar fue de alrededor de 50 Kbps.

¿Alguien puede aconsejarme un algoritmo / procedimiento para hacer esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta