パブリックモード互換サーバの実現について考える
現在のQt Brynhildrはクライアントモードしか持ちません。
で、なんとなくパブリックモード互換のサーバ機能を実装できるかなと考えました。
おおまかに言って必要なのは以下の3つかなと思います。
1、デスクトップのスクリーンキャプチャ機能
Qt5の機能でデスクトップの画面キャプチャを行い、jpegで圧縮したファイルイメージデータを用意し、これをクライアントに転送する。
2、サウンドのレコーディング機能
Qt5のレコーディング機能で生のPCMデータを取得し、これをクライアントに転送する。
3、入力デバイスの制御
送られてきた情報に基づいてキーボード、マウス他の入力デバイスの制御を行う。
これらが実現できれば、互換サーバを実現できそうです。 Qt5で互換サーバを実現できれば、Windows以外もサーバとすることが可能になります、つまり色んな組み合わせで相互にサーバ/クライアントが構成できそうです。
(追記)
QGuiApplication::primaryScreen()で取得したQScreenオブジェクトからgrabWindows()でスクリーンショットであるpixmapデータが取得できるようです。これをjpegファイルイメージにメモリ上で変換してクライアントに送ればよさそうですが、充分な変換スピードが出るか試してみないとわからないですね。
サウンドキャプチャの方はQAudioRecorderを使えばなんとかなりそうですが、サンプルがあるみたいなので読んでみないといけません。
入力デバイスのコントロールはOS依存な実装になりそうな予感がします。
« Ver.1.2.0 リリース | トップページ | マウスカーソルを追いかけるマウスカーソル »
コメント