現在、TCP
リモートデスクトップブロードキャストアプリケーションを作成中です。(Team ViewerやVNCのようなもの)サーバーアプリケーションは
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.
このアプリケーションを、12KBpsのアップロードと50KBpsのダウンロードDSL接続(クライアントとサーバー)の接続で実行できるようにする必要があります。
そのため、1秒あたりに送信するデータ/画像のサイズを小さくする必要があります。
私は次のようにして削減しようとしました。
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.
JPEGフレームを送信できず、次回は以前に送信したJPEGフレームの差を送信しました。
lzma
ビットマップの違いを送信するときに圧縮(7zip SDK)を使用してみました。
しかし、データを12KBpsに減らすことができませんでした。私が達成できた最大値は約50KBpsでした。
誰かがこれを行うためのアルゴリズム/手順を私にアドバイスできますか?