スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 先は見えたが後一週間は・・・ | トップページ | Mirror-DTCのレジストキー »

調べてみた所・・・

今は、Mirror-DTCのシェアウェア化を行うフェーズで、ほぼ、新機能の実装は終わったのだが、昨日書いた様に、まだ、1週間分くらいの残作業がある。その中でも、作者が気にしていたのはAmuseGraphics用に追加提供しているオーディオミキサーの遅延時間だったのだが。

AmuseGraphics用に追加提供しているオーディオミキサーは、その合成結果を、DirectShowのオーディオキャプチャーデバイス相当のストリームとして出力している。

なので、DirectShowのオーディオキャプチャーデバイスを入力としているソフト、つまり、DirectShowを使ってマイク入力なんかをしているソフトでは、上記の出力をマイク入力と同様な感じで利用できる事になる。

もっとも、DirectShowというのは、今となっては、古いインタフェースなので、今時の最新ソフトでは、マイク入力を扱う場合にも、DirectShowのインタフェースは使っていない場合も多くなっているので、そういう場合には、上記の出力は利用できない。

その最たるモノが、Skypeだったりする訳だ。なので、作者的には、今回、ビデオ通話ソフトとして、新たに、TiHotLineを開発したりした訳だ。

つまり、作者的には、AmuseGraphics用のビデオ/オーディオミキサーを開発した時に、その利用先の一つとして、ビデオ通話ソフトを想定していたのだが、Skypeで使おうとしてみた所、細かい問題も少し出たので、なんだかなあ、という感じになった訳だ。

何故なら、このビデオ/オーディオミキサーは、AG-WebカメラレコーダーとAG-デスクトップレコーダーの入力として利用できるのだが、自前ソフトの場合、その気になれば、同じ機能を内蔵させてしまえば、DirectShowベースの別だしソフトを使う必要もないからだ。

例えば、今回、問題にしているオーディオミキサーというのは、内部的には、Windowsの最新インタフェースである所のCoreAudioを使って、マイク入力だとか、PCからの出力音だとかを入力データとして得ている訳だ。

そして、その入力データを、ユーザー設定に従ってミキシングした結果を、DirectShowインタフェースに出力している格好になっている訳なので、自前ソフトでは、ミキシングまでを自前ソフト内で行ってしまえば、ワザワザ、DirectShowインタフェースにデータを出力する必要もなくなる訳だ。

と、いう事なので、DirectShowのキャプチャーデバイス相当の出力を行うAmuseGraphics用のビデオ/オーディオミキサーソフトというのは、作者製の自前ソフト以外で使えて、初めて本当の意味を持つ事になるのだが、前述の様に、Skypeなんかは、既に、これらが使っているDirectShowインタフェースをサポートしなくなってきている訳だ。

もっとも、今の所、作者製ソフトでは、AG-Webカメラレコーダー/AG-デスクトップレコーダーに加えて、TiHotLineでも、上記を使える格好にしているのだが、将来的には、WaveClipperやMirror-DTCサーバーも、これらに対応させるかもしれない。

前述の様に、自前ソフトの場合、ワザワザ、DirectShowインタフェースをサポートするよりは、ミキサー本体の処理コードをコピーして持ってきた方がDirectShowに関連するオーバーヘッドを削減できるので、より望ましいかもしれない。

しかし、少なくとも作者のPCには、WaveClipper/Mirror-DTCサーバー/AG-Webカメラレコーダー/AG-デスクトップレコーダー/TiHotLineは同時にインストールされている格好になる訳なので、これらに独立したビデオ/オーディオミキサーが内蔵されてしまうと、訳が分からなくなる可能性もある訳だ。

と、いう事なので、少なくとも当面は、上記ソフトに、現行のビデオ/オーディオミキサー相当の機能を内蔵させる事はない筈なのだが、昨日書いた様に、作者的には、オーディオミキサーの出力遅延時間が気になっていた訳だ。

この遅延時間はDirectShowに由来するモノなのだが、調べてみた所、昨日書いた様な、0.5秒もの遅延時間を発生させてはいない事が判明した。

つまり、現行のオーディオミキサーでは、遅延時間、というか、バッファーサイズを設定するインタフェースは未実装なのだが、バッファーサイズは16kBにしてあったので、遅延時間は、約0.1秒程度になっていた訳だ。

それでも、マイク入力なんかと比べると、少し遅延時間は大きいのだが、これは、このオーディオミキサーでは、ピッチコントロールなんかも可能にしてあるので、FFTベースのデータ加工が必要になっているからだ。

と、いう事なので、現状、TiHotLineでダイレクトにマイクを入力した場合と、オーディオミキサー経由で入力した場合を比較すると、オーディオミキサー経由で入力した場合の方が、気持ち、遅延時間が大きくなっているのだが、気にしなければ気にならない程度である事が判った。

具体的には、TiHotLineのビデオ入力にビデオミキサー、音声入力にオーディオミキサーを指定し、ビデオミキサーの入力には、AG-デスクトップレコーダーのモニター出力を指定し、オーディオミキサーの入力には、スピーカー出力を指定した状態で、デスクトップ上で、AGMPlayerを使って実写の映画なんかを再生してみると、音ズレは僅かなので、TiHotLineの通話先でも、普通に映画を楽しめた訳だ。

と、いう事なので、オーディオミキサーについては、リアルタイム配信用として使う場合には、遅延時間の扱いが甘い所もあるのだが、現行版でも、使えない感じでもない事が判った。

なので、これについても、その内、リアルタイム配信用に、遅延時間を減らす改良は行う事になるとは思われるのだが、現行版でも、少なくともTiHtoLineでは、遅延時間は致命的というほどでも無かったので、Mirror-DTC Ver1.4.0のリリース前に、慌てて、これの改良を行う事はヤメにする。

« 先は見えたが後一週間は・・・ | トップページ | Mirror-DTCのレジストキー »

トラックバック

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

この記事へのトラックバック一覧です: 調べてみた所・・・:

« 先は見えたが後一週間は・・・ | トップページ | Mirror-DTCのレジストキー »

2018年10月
  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 31      

広告

プライバシーポリシー

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

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

    収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。

    ポリシーと規約 - Google