次はAGMPlayerだが
今日は、AmuseGraphics Ver1.4.4開発の一環として、付属ソフトのTiUtilitiesをVer1.1.6に更新して公開した。なので、次は、AGMPlayerの更新開発に移るのだが、AGMServerの更なる改良もやってみている。
AGMServer Ver1.4.4は既に公開済みで、作者環境でも実践配備して利用しているのだが、動画視聴時のフレームレートが少し微妙に感じられる事もある。
具体的には、作者の手持ちタブレットの中では最高性能の第四世代iPad Airでの動画視聴時には、注意していないと、フレームレートの低下は感じられないのだが、今年購入したNECの10インチAndroidタブレットでは、少しフレームレートが足りないか? と、感じられる事がチョクチョクある。
もっとも、足りないといっても、15FPSくらいは常時出ている感じなので、そういうモノだ、と、思って視聴する分には、特に不便はないのだが、ブログには書いていないものの、インターネット経由での視聴も試してみたのだが、クライアント側にはSurface Go 2に刺したモバイル回線用のSIMMを使った、という事もあり、ローカル環境での視聴時ほどのフレームレートは出なかった訳だ。
なので、作者的にも、最初は、やはり、モバイル回線なんてこんなモノかなあ、と、思ったのだが、比較のために、同じSIMM回線で、Mirror-DTCを使ったインターネット接続をやってみた所、サーバーPCで全画面動画再生をしている状況でも、それなりに視聴していられるくらいのフレームレートで画面転送されてしまった。
つまり、AGMServerでのインターネット経由での動画視聴時に十分なフレームレートが出ないのは、モバイル回線が遅いから、というのが理由であるにしても、Mirror-DTCでの映像転送レートと比較すると、より高速に転送できる可能性もある! という事がはっきりとした訳だ。
と、言う事で、インターネット経由での、AGMServerでの動画視聴時にも、Mirror-DTCの映像転送くらいのフレームレートが出せないかなあ、という事で、改良方法を鑑みて見たのだが、とりあえず、Mirror-DTCでの映像転送は、全て自前のソケット転送で、パイプライン動作なんかもやらせている。
これに対して、AGMServerでの動画視聴時には、Webブラウザで利用可能なAjax転送をベースにしているので、やれる事は限られる。
しかし、現行方式だと、映像転送は、まず、現在の動画フレームをポーリングで確認し、更新されていたら、改めてimgタグ用に画像データを要求する! という、二段構えになっている訳だ。
つまり、理屈の上では、1フレーム分の画像を転送するのに、クライアントとサーバー間で2回分のハンドシェイクが必要になるので、遅延時間が大きい筈のモバイル回線では、フレームレートが極端に低くなってしまう、と、言う事が考えられる。
その証拠に、作者製ソフトとしては、TiMediaServerでも、手持ち動画をWebブラウザで視聴できるのだが、これを使って、同じSIMM回線で、インターネット経由で動画を視聴してみると、多分、その動画の本来のフレームレートで、問題なく視聴できた。
と、言う事で、AGMServerを使ったWebブラウザでの動画視聴は、アクセス遅延が少ないローカル環境では、ギリギリ、普通に視聴していられるくらいのフレームレートは出ている感じなのだが、もし可能なら、より高いフレームレートでの視聴を目指したい。
なので、次は、AGMPlayerの更新開発に移るのだが、その前に、少し、AGMServerの改良をやってみる事にしている今日この頃だ。
ちなみに、AGMServerで使っている動画転送ルーチンは、TiMediaServerの収録モニターでも使っているし、多分、今回更新する事になるAG-Webカメラレコーダー / AG-デスクトップレコーダー用にも、似た様な機能を追加する事になる筈だ。
つまり、Webブラウザに対する映像転送処理、というのは、今後、作者製ソフトのコアコンピタンスの一つになっていく筈なので、可能な限り、改良しておきたい今日この頃な訳だ。