スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 2016年はPCを買う? | トップページ | まずは単純移植から »

久々に楽しみではある

今は、Mirror-DTCの次バージョンを開発中なのだが、奇をてらった目玉機能はパッとしないので、ストリーミングモードを追加予定だ。作業は明日からなのだが、今日の時点でも、AG-デスクトップレコーダーとAGMPlayerを使えば、最低達成ラインは実測可能だ。

ストリーミングモードというのは、基本的にはAGM-DCT+相当のエンコーダーを実装する事で、データ転送の圧縮率を上げ、かつ、データ転送量に応じて画質調整する事で、転送フレームレートの低下を抑えようとするモードになる。

で、現状では、AGM-DCT+で転送可能なMirror-DTCは存在しないのだが、今日の時点でも、AG-デスクトップレコーダーでAGM-DCT+での画面録画は行え、AGMPlayerを使えば、その出力動画をネット視聴できる。

つまり、現状でも、AGM-DCT+で画面映像をエンコードした場合にどの程度の処理負荷が発生し、それをネットワークに転送すると、どの程度のビットレートが必要になるのかは実測可能な訳だ。

なので、今日は、上記の組み合わせを使って、色々と確認してみていたのだが、とりあえず、Mac mini Late2014では、フルHDの30FPS録画では、普通は、エンコードに50%のCPU負荷も必要ないし、画質を最低にすれば、15Mbps程度のネットワーク帯域があれば、動きが激しい全画面動画の再生状況も、フレーム落ちなく転送できている。

つまり、Mirror-DTCにAGM-DCT+でのエンコード機能を追加すれば、フルHD画面の全画面動画再生でも、一般的なWiFi環境では、30FPSでフレーム落ちなく転送できる事が今日の時点で判っている訳なのだが、AGM-DCT+というのは、基本的には、品質指定タイプのエンコード形式になっている。

このため、動きが激しい場面であろうが動きが少ない場面であろうが、品質値は一定になっている訳なのだが、Mirror-DTCでは、これをビットレート指定みたいな感じで使おうと考えている。

つまり、同じAGM-DCT+だからといって、AG-デスクトップレコーダーで録画した動画をAGMPlayerでネット視聴する場合よりも、画質が良くなったり、データ転送量が少なくなったりする事になる筈だ。

と、いう事なので、作者的には、表題にした様に、何処まで格好を付けられるかが楽しみだったりする訳なのだが、普通のデスクトップ操作なら、何もAGM-DCT+を導入していない現行版でも十分な訳なので、あまり開発に時間をかけるのは避けるべきかもしれない。

ちなみに、次バージョンのMirror-DTCでは、暗号化なしの転送もサポートするのだが、少し前に書いていた様に、暗号化をやめれば、処理負荷は、若干、低下する。

しかし、これも少し前に書いていたのだが、現状、作者の手元には、Desktop Duplication APIに対応させたMirror-DTCサーバーがあって、これを使ってフルHD-60FPSでのデータ転送を行おうとすると、動きの激しい全画面60FPS動画については、暗号化をやめても、45FPS程度での転送が限界になっている。

その理由は細かくは調べていないのだが、データ転送が50Mbpsを越えているので、多分、シングルスレッド動作になる符号化とネットワーク転送処理に時間を取られているから、と思われる。

つまり、数日前から、いきなり、AGM-DCT+を採用する、と、書き始めた要因としては、上記の様な状況もある訳だ。

何故なら、上記の問題を解決する為には、データ転送量を減らす必要があるからなのだが、更に言えば、何故、ストリーミングモードなのか、というと、データ処理の並列化をより進める必要もあると考えているからだ。

AG-ムービーカッターには並列分割エンコードという機能があって、それがないAGMPlayerのエンコード機能と比べると、よりエンコード時間を短縮できているのだが、Mirror-DTCでは、これとは少し方式は違うのだが、データ処理の並列度を上げる事で、総合的な処理時間の短縮を図ろうとしている訳だ。

具体的には、CPUで言うところのパイプラインの段数を増やす事で、処理の並列化を推し進める事にしている訳だ。

パイプラインの段数が増えると、処理に必要になるクロック数は増えるので、データ一つ分の処理の流れだけを見ていると処理時間は増加する様に見える。

つまり、遅延が増加するのだが、パイプラインのそれぞれの段は並列動作可能になるので、多くの処理を行おうとする場合には、合計処理時間は短縮できる訳だ。

と、いう事で、次バージョンのMirror-DTCに導入する事になるストリーミングモードでは、AGM-DCT+だけではなく、ビットレート指定タイプの制御方式と、パイプラインの多段化によるマルチスレッド性能の向上施策なんかも追加される事になる筈だ。

= この記事に関連する公開中ソフト =

Mirror-DTC

Mirror-DTC

(2016/05/04追記)

« 2016年はPCを買う? | トップページ | まずは単純移植から »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/62990045

この記事へのトラックバック一覧です: 久々に楽しみではある:

« 2016年はPCを買う? | トップページ | まずは単純移植から »

2017年6月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    Cookieを無効にする設定およびAdsenseに関する詳細については、以下のリンクを参照下さい。

    広告 - ポリシーと規約 - Google