コメント欄で御要望のありました、デスクトップ画面をリアルタイムで同時に配信できるアプリの公開でございます。現状ではまだ不安定の要素が多数ありますので、とりあえずプロトタイプとゆー事で御理解を頂ければと思います。もしいけそーな感じでしたら、セミナーとか勉強会とか会議とかでどうぞどうぞ。
Refill 0.1.0 Download
上の画像の用に、1つのサーバーアプリに対して同時接続が可能なのですが、上の画像は1台の端末で100個のクライアントアプリを起動して、別の端末の全て異なるTCPポートに接続するとゆー極めて珍しいパティーンです。意味不明です。絵柄的に面白そうなのでやってみただけです。ちょっとインンパクトはありますが。
で、アプリですが、例によって「refill.exe」の1つだけです。Brynhildrで言うところのサーバーモードとして起動するだけで、指定するのはTCPポート範囲とパスワードのみです。シンプルです。複数のTCPポートを用意して、クライアント1台につき1個のTCPポートを利用します。ベースはもちろんおなじみのBrynhildrでございます。画像はMotionJPEGで転送しております。通信にはTCPは利用しております。
で、クライアントなんですが「Brynhildr 2.0.0」以降と「KeroRemote」のみ接続できます。「Brynhildr 2.0.0」は、まだRC版しか出ていなくて恐縮なんですが。あくまでもデスクトップ画面配信に特化してますんで、遠隔操作や音声伝送やその他の機能の多くは無効になっております。ただ、パスワードと暗号化通信にはしっかりと対応しております。まだ「Refill」もプロトタイプですのでおかしな事が起こるかもしれませんがその際は御手数ではございますが御報告くださいませ。
あと、上の画像ですとクライアント側でBrynhidlrが100個も起動しておりまして、クライアント側のPCのCPU負荷は約100%なんですが、サーバー側のRefillのCPU負荷はともーしますと、なんと「約8%」です。数年前のCorei3のCPUを載せたデスクトップマシンですが、デフォルト設定なんで画質も悪いですし、FPSも低く設定しておりますが、サーバー側で別のアプリの操作ができるくらいに負荷が小さくまとまっております。ここ重要かなと。
但し、メモリーとの戦いでして、当方の環境ですと、同時に150台くらいの接続でメモリーがいっぱいいっぱいになります。メモリーいっぱいいっぱいの時は、接続した際にエラーでRefillが終了する仕組みです。環境に応じて、TCPポート範囲を調整ください。理論的には、TCPポート「1~65535」指定で、最大で65535台いけるはずだったんですが、完全に夢物語に終わりました。非常に残念でなりません。チッキショー。
あと、通信量も調整しないとアカンです。ちなみに、100台からの接続でも、「画質」と「最大FPS」と「ズームロック」の各設定は、サーバー側の設定したもので配信されます。設定は、タスクトレイのRefillのアイコン上で右クリックしてメニューから指定できます。ズームロックとかありますし、意外とこれ最新型です。環境に応じて自由に調整ください。
んなとこですかね。質問とか不具合とかございましたら御気軽に下のコメント欄に書き込んでくださいませ。ちなみに、名前は「Refill」 と書いて「レヴィル」と読むみたいです。
よろしくですー。