モノステ(モノラル・ステレオ変換)ビデオキャプチャカードの殆どはステレオ専用となっています。古いゲーム機などモノラルの場合は片チャネルしか接続できず、アマレコTV上でも片方のスピーカーからしか音が出ません。そんなときに高度な設定にある「モノラル・ステレオ変換」をONにすると両方のスピーカーから音が出るようになります。このオプションは録画やライブ機能もステレオに変換します。接続するケーブルは赤、白どちらでも構いません。(オーディオケーブルが白しかない、または赤しかないときに使うオプションです。)モノステをONにするとモノラル状態かステレオ状態かを監視するようになり、モノラル状態が一定時間続くと自動的にモノラル・ステレオ変換が行われます。ステレオ(両チャネルから音が流れている)状態ではモノステをONにしてもモノラル・ステレオ変換は行われないので常時このオプションをONにしていてもデメリットがないようになっています。ステレオ状態でヘッドフォンの音を聴きながら片方のチャネルを抜くと、モノステがどのように働くかわかると思います。接続すれば即座にステレオに戻ります。ステータスモニターでも動作状態を確認することができます。Statusが「1:Enable」となっているときはモノラル状態と判断しモノステ変換が行われています。「0:Disable」のときはステレオ状態と判断し変換されていません。このステータスはリアルタイムで変化します。L-chとR-chはそれぞれのチャネルのレベルで最大1000%になります。レベルがThreshold以上の場合(上図では3%)を音あり、未満を無音(または端子が接続されていない)と判断するようになっています。一方が音あり、もう一方のチャネルは無音という状態が一定時間続いた場合に、モノステ変換が有効となる仕組みです(両方無音の場合は判断を保留します)。USBビデオキャプチャカードの場合は無接続の場合にレベルがほぼ0%となりますが、PC内臓タイプのビデオキャプチャカードでは無接続の場合にノイズがのってしまい0%とならないケースがあります。ノイズが3%を超えてしまうと無音の判断ができないためモノステが働きません。そのような場合はamarectv.iniをメモ帳で開いて”iAudioAutoMonoThresholdPercent”をノイズより大きい数値に書き換えてください。Ver2.30からリプレイ機能用のバッファを大きく取れるようになりました。SDキャプチャで10GBバッファを使うと約15分間記録することができます。64bit版のOSを使っている場合に限ります。最大2GBの場合はアマレコTVの他の機能が使うメモリーと合わせて2GBなのでリプレイ用には1.2GB程度が限界となります。Ver2.30でOSが64bitの場合は、最大で搭載メモリーの約半分を目安に使うことができます。HDDなどへスワップしながらの動作となってしまい大幅にパフォーマンスが低下しますのでその点に十分注意しながらメモリー量に余裕を持って運用して下さい。アマレコTVしか使わない(他にメモリーを大量に使うアプリケーションがない)場合であれば搭載メモリーの90%程度まで使うことができます。【補足:メモリーに付いて】アマレコTVは32bitアプリケーションです。32bitアプリケーションの場合64bit版のOSであっても扱えるメモリー空間は4GBとなります。そのため4GBを超えるメモリーを扱うことができません。実際は4GBのうち2GBをOSが使うためアプリケーション自体(アマレコTV)が扱えるメモリーの上限は2GBとなってしまいます。この2GBでリプレイ機能のバッファや録画のバッファ、画像処理用のバッファなどをやりくりすることになります。Ver2.30でもこの点は変わりませんが、リプレイ用のバッファにプロセス間通信などで使われる共有メモリーを採用したため2GBを超えるバッファを扱えるようになっています。共有メモリーを使うデメリットが二つあります。一つはマッピングしてからでないとアクセスできないため通常のメモリーと比べるとちょっとだけパフォーマンスが低下すること、もう一つはOSが管理する空きメモリーが減ってきた際にスワップされてしまう可能性(大幅なパフォーマンス低下)があることです。マッピングに付いては広大なメモリー空間に対しランダムアクセスするようなケースでは大きなデメリットとなりますが、動画のようにシーケンシャルアクセス中心の場合、頻繁に再マッピングする必要がないため殆どデメリットになりません。スワップに付いては課題と言えます。現状は皆さんの方でスワップが起こらないように気を付けて運用するようお願いいたします。共有メモリーが使われているかどうかはリプレイウインドウのステータス欄で確認できます。「MappedFile」となっている場合は共有メモリーを使っています。RAMディスクだけは明示的に設定しますが、その他はPCの環境に合わせて自動的に使うメモリーが選択されます。アマレコTV内(プロセス内)のメモリーを使って動作しています。高いパフォーマンスを発揮する。使えるメモリーが少ない。RAMディスク(またはHDDやSSD)をプロセス内にRead/Writeして動作しています。パフォーマンスは低い(RAMディスクなら実用範囲)。大量のメモリー(ディスクスペース)を使える。共有メモリーをプロセス内にマッピングして動作しています。高いパフォーマンス、且つ、大量のメモリーを使える。スワップするデメリットがある。先行公開Windows7や64bit版のOSの特性に合わせた対応、HDMI、Bluetoothなどの機器への対応、ライブ機能の見直しとなっています。Windows7に関する対応が多くなっていますが正式対応ではないので今までどおりWindowsXP用のアプリケーションをWindows7で使う場合の作法を知っておく必要があります。現在は対応するヘルプがありません。ブログの記事を見ながらご利用下さい。動作タイミングが不安定なキャプチャデバイスでもWindows7のEVRで滑らかなプレユー表示を行えるようにしました。64bit版のOSの場合はリプレイ機能用のバッファに2GBを超えるメモリを割り当てられるようになりました。ステータスモニター画面追加(ステータスバーより詳しく状況確認ができます。ステレオ片チャネルしか接続されていない場合にモノラルをステレオに変換する機能「モノステ」追加。NTFS以外でフォーマットされたHDDへの録画をできないようにしました(4GBを超えるファイルを作成できないFAT32などはエラーとなります)。200%などウインドウサイズを指定したときに画面の四隅からはみ出ないようにしました。ツールバーに設定アイコンを追加しました。実際のキャプチャフレームレートと設定値が合わない時は警告メッセージを表示するようにしました。高度な設定のGV-USBに関するオプションを廃止しました。オーディオデバイスを有効にしてリプレイ機能を使った後、オーディオデバイスを使わずリプレイ機能を使うとエラー落ちする不具合を修正しました。リプレイ再生時に映像が出ない(真っ黒)になる場合があるのを修正しました。動作条件を緩和しました。通信方式を同期方式から非同期方式に変更しました。1対多の通信に対応しました。最大4つまでアマレコTV(アマミキ!)のライブ機能を同時利用できるようになりました。画像サイズなどの初期値を設定できるようになりました(初期値を合わせておけばアマレコTVより先に配信ソフトを起動しても利用できます)。オーディオのOn/Off設定追加(映像はアマレコTV、音声はアマミキ!といった使い方に対応)。ミキサーにビデオキャプチャの音を入れるかどうかの設定を追加(PC音とキャプチャ音で二重になるのを回避します)。オーディオレンダラーによる可変再生速度の精度を向上しました(特にWindows7で遅延とノイズを軽減します詳しくはブログ記事参照)。オーディオレンダラーのプロパティページを実装(リアルタイムで反応時間の確認、設定が可能です)。ヘッドフォンのプラグの抜き差しやBluetooth上のオーディオデバイスなど利用中にオーディオデバイスが無効、有効になるケースに対応しました。プラグが抜けていたりオーディオデバイスの電源が入っていない状態でアマレコTVが起動した場合、デバイスが利用できるようになるのを待つようにしました。Mixer」へ改名(アマステ)。アマステでHDMIデバイスの音声を録音していると、HDMIデバイスから音を出力するアプリケーションが無くなった場合、最後に再生された音がHDMIデバイスから鳴り続ける現象(HDMIオーディオデバイスの不具合と思われる)に対応しました。アマステのサンプリングレートに44.1kHz、96kHz、192kHzを追加しました。OS終了時にアマミキ!も正常終了するようにしました。次回起動時にセーフモードになりません。最大4つまでアマミキ!のライブ機能を同時利用できるようになりました。3.1(以下FME)がライブ機能にアクセスした際、FMEを終了してもアマミキ!のステータスがライブ中のままになってしまうのに対応しました。可変再生速度を微調整しました。Bluetoothなどデバイスが無効になった後、再度利用可能になった際にデバイスIDを再検索するようにしました。(IDが変わって違うデバイスから再生されてしまう可能性があるため)。規定のデバイスが指定されているときはOSにより新たに選定された規定デバイスから再生します。動作開始時に指定されたオーディイオデバイスが見つからない場合に規定のデバイスから音を出していたのをやめ、指定されたデバイスが使えるようになるのを待つようにしました。「iWaitDeliver」が“1:Auto“の場合にタイミング調整を行うかどうかの判断をプレビューの設定で決め打ちするのではなく、実際の動作を監視して不安定だった場合にタイミング調製を行うようにしました。実際にタイミング調整が行われているかどうかは、ステータスモニター画面で確認できます。“1:Auto“の場合はStatus欄がリアルタイムで変化します”0:Disable“ならタイミング補正はしていません。”1:Enable“ならタイミング補正をしています。場合は“1:Auto“に設定すればうまく機能すると思いますので初期値のまま(“1:Auto“)でご利用ください。3.補足説明1-8はフレームレートの設定に不備があるケースや、意図的にフレームレートを狂わせないと利用できないビデオキャプチャカードに対する対策です。これらは一見正常に動作しているように見えますが、アマレコTVの各機能を正しく利用することができません。MonsterX-iなどでD1をキャプチャするときのフレームレートは29.97に設定しますが、フォーマットのリストには59.94しかありません。そのまま59.94でもプレビューできてしまいますが、録画やライブ機能などフレームレートを使って計算する部分は正常に動作しないため警告を表示するようにしました。そのほか未確認ですが意図的に25fpsにしないと動作しない製品もあるようです。いった製品も警告を出すようにしました(実質使えないようにしました)。今までのライブ機能は設定や使い方がシビアでした。そのため少しでも設定をミスったり、起動する順番が違うと映像が映りません(フレームレートがちょっと違うだけでもダメ)。通常アマレコTVと配信ソフトの間でライブ機能は使われますが、意図しないその他のアプリケーションがライブ機能へアクセスしてしまい、配信ソフトへ映像が行かないケースもあるようです。このような事情から多くの人に使っていただくのは難しいと考え抜本的な見直しとなりました。設定ですがフレームレートが違っていても画像サイズさえ合っていれば映像を転送することができるようになります(非同期通信になったため)。画像サイズもデフォルト値を設定できますので、良く使う画像サイズを初期値にしておけば配信ソフトを先に起動(アマレコTVを後に起動)しても使えるようになります。画像サイズが合わないときも配信ソフト側のロゴ画面にフォーマットが表示されますので設定ミスに気が付きやすくなっていると思います。そのほか異常があった場合もロゴ画面にステータスを表示することで状況把握できるようにしてあります。1対多の通信にも対応したため他のアプリケーションがライブ機能にアクセスしていても目的の配信ソフトへ映像を転送することができます。これらにより画像サイズさえ合っていれば映像が映らないというケースは殆ど無くなるようにしました。基本的な使い方は今までと同じですので、既にうまく使えている人は何か変わったのか分からないかもしれません。プログラムの公開までもうしばらくお待ちください。通信方式を同期方式から非同期方式に変更しました。1対多の通信に対応しました。最大4つまでアマレコTV(アマミキ!)のライブ機能を同時利用できるようになりました。画像サイズなどのデフォルト値を設定できるようになりました(デフォルト値を合わせておけばアマレコTVより先に配信ソフトを起動しても利用できます)。オーディオのOn/Off設定追加(映像はアマレコTV、音声はアマミキ!といった使い方に対応)。ミキサーにビデオキャプチャの音を入れるかどうかの設定を追加(PC音とキャプチャ音で二重になるのを回避します)。2.使い方ここではアマレコTVのライブ機能を既に使っている人を前提に(変更部分を中心に)説明します。2.1.インストール同梱のライブ機能をインストールします。「ライブ機能を使う」をONにします。ONにできない場合はライブ機能のインストールができていません(バージョンが古いなど)。今までと設定内容は同じですが、コンボボックス内から選ぶようになっています(好きな数値を入力することもできますが24とか25fpsは日本のビデオ規格と合わないため通常使えません)。Liveが使うLineと重ならないようにして下さい。)Line:2からLine:4を使う場合は「フィルタ登録」ボタンを押してフィルタの登録を行う(配信ソフトから使えるようにする)必要があります。(Line)のチェックボックスをONにして下さい。オーディオ設定も同様に出力Lineの選択とフィルタの登録を行ってください。ビデオの出力Lineとオーディオの出力Lineは異なっていても構いません。オーディオの出力を「使わない」にするとオーディオに関するライブ機能を使いません(映像のみとなります)。音声はアマミキ!を使うという場合はアマレコTV側は「使わない」を選択するとわかりやすいのではないでしょうか。一通り設定が終わったらプレビューを開始します。A:Rdy]」と表示されたら準備完了です。次は配信ソフト側になります。Capture(Line)」が追加されていますのでビデオデバイス(カメラ)欄から先ほど選択したLineを選びます。Line:1に付いてはLine標記がありません。(Line)」を選択します。A:Run(1)]に変わります。映像が表示されない場合や、配信ソフト側で音が出ないときは、Lineが異なるか、画像サイズ(音の場合はサンプリングレート)が一致していません。そのあたりをもう一度確認して下さい。2.4.映像が表示されない場合は基本的には画像サイズが合わないかLineの設定が違っています。ロゴ画面の下部に赤字で画像サイズ等のフォーマットが表示される場合は、アマレコTV側で設定したフォーマットと、配信ソフト側で使おうとしているフォーマットがあっていません。下図の場合は配信ソフト側を640x480に設定する必要があります。Liveのロゴ画面の下部に何も表示がないときはLineの選択が違うかアマレコTV側の準備ができていません(プレビュー状態になってない、Rdyになっていない)。3.ステータス3.1.ステータスバーアマレコTVのステータスバーにライブ機能の設定値(フォーマット)と現在のステータスが表示されます。3.1.1.現在のステータス「V:」はビデオに関するステータス。「A:」はオーディオに関するステータスがリアルタイムで表示されます。ライブ機能を使える状態です。配信ソフトからのアクセスを待っています。配信ソフトからのアクセスがあるまでライブ機能で必要な画像処理は行われません(余計な負荷はかからない)。Run(1):配信ソフトがアクセスしています(映像、音声が転送されている)。カッコ内はアクセス数です。複数のアプリケーションからアクセスされている場合は2以上になります。アクセスする配信ソフトが無くなるとRdyに戻ります。Disable:無効です。オーディオ設定の出力で「使わない」を選択した場合にDisableとなります。3.2.ステータスモニターメニューのファイルにある「ステータスモニター」画面ではステータスバーより詳しい状況を確認することができます。Name」でライブ機能にアクセスしている配信ソフトの実行ファイル名が確認できます。表示されるのは1件のみで最初にアクセスしてきた配信ソフトの実行ファイル名が表示されます。ここに心当たりのない実行ファイル名が表示される場合は、該当するアプリケーションを特定してその設定を見直ししてください(ライブ機能にアクセスしないようにして下さい)。Lineの)ロゴ画面にライブ機能のステータスが表示されます。フォーマットエラー:画像サイズが合っていません。下図の場合、配信ソフト側の画像サイズの設定を640x360に設定して下さい。フリーズ:アマレコTV側に異常が起こり途中で処理が止まっている状態です。アマレコTVを再起動して下さい。アマレコTVを再起動した際に次のエラーメッセージが表示される場合は、前のアマレコTVのプロセスがまだ終了していません。タスクマネージャから前のアマレコTVのプロセスを終了させて下さい。ビデオキャプチャ周りの異常の場合はタスクマネージャからでもプロセスの終了ができません。その場合はPC自体を再起動する必要があります。ロゴのみでステータスが表示されていないときは、Lineの選択が違うかアマレコTV側の準備ができていません(プレビュー状態になってない)。アマレコTVのステータスバーがRdyになっているか確認してください。4.その他4.1.ループバックの回避アマレコTVのミキサーを使ってPC音を配信に加えると、ビデオキャプチャの音(ゲーム音)が二重に配信される(エコーがかかったようになる)場合があります。その場合「ビデオキャプチャ音のループバックを防ぐ」をONにすると二重になるのを回避できます。画像サイズのデフォルト値を設定します。画像サイズを設定しておくと、配信ソフトを先に起動(アマレコTVを後から起動)しても映像を転送することができるようになります。ライブ機能のインストール先にある「AmVideoCapture.ini」をメモ帳で開きます。iDefaultWidth(画像の幅)、iDefaultHeight(画像の高さ)を書き換えて保存してください。設定はLine毎に管理されます。デフォルト画像サイズはアマレコTVのライブ機能のリサイズ設定と同じにしてください。Ver1.03可変再生速度の性能向上、及び途中でヘッドフォンのプラグが抜かれたり、Bluetoothのオーディオデバイスの電波が遮断されたりといったケースに対応しました。ライブ機能を同時に4つまで使えるようになりますのでアマレコTVとアマミキ!の同時利用も可能となっています。全体的にアマミキ!を使っていることを意識せずPCの起動から終了までの間、安定して音をルーティングできるようなアプリケーションにしました。プログラムの公開までもうしばらくお待ちください。以前のバージョンでは再生中にオーディオデバイスが使えなくなるとエラー表示を出して音が再生されなくなります。HDMIディスプレイ(写真内RDT233WX-Z)に出力している音をオンボードのヘッドフォン端子(写真内スピーカー)へルーティングしているときに、ヘッドフォンのプラグを抜いてしまうとエラーメッセージが表示され以後ヘッドフォンのプラグを挿しても音は再生されませんでした。Ver1.03では再生中にデバイスが使えなくなってもエラーメッセージは表示されません。アマミキ!の処理は継続されます。その後デバイスが使えるようになると、自動的に音が再生されます。オーディオデバイスが使えなくなるケースとしてはヘッドフォンのプラグが抜かれたり、Bluetooth上のオーディオデバイスのバッテリーや電源が切れたり、電波遮断などがあります。アマミキ!起動時に指定された再生デバイスが使えない場合、以前は規定のデバイスを使って再生するようになっていましたが、Ver1.03からは指定された再生デバイスが使えるようになるのを待つようになっています。これは、例えばHDMIの音をヘッドフォンへルーティングしている場合にヘッドフォンのプラグを抜いた状態でアマミキ!を起動するとHDMIの音をHDMIへルーティングしてしまいループバックが起こる可能性があるので、そういったことを回避するための変更です。1.3.録音デバイス再生デバイスだけでなく録音デバイス側もプラグの抜き差しに対応します。対応できるのは後で紹介するアマステを使った場合に限ります。Mixer」へ改名しました。Capture」と名前が紛らわしいのでこれからはアマステと呼ぶことにします。アマステを使うには同梱のライブ機能live_setup230.exeをインストールしてください。アマステはWindows7専用です。WindowsXPでは利用できません。今まではスピーカーなどの再生デバイスからループバックするのが主な働きでしたが、Ver1.03からはライン入力やマイクと言った録音デバイスをアマステの入力端子として選択できるようになります。アマステの入力端子からマイクを選択した場合はアマミキ!動作中のプラグ抜き差しに対応します。HDMIデバイスの音声を録音していると、HDMIデバイスから音を出力するアプリケーションが無くなった場合、最後に再生された音がHDMIデバイスから鳴り続ける現象(HDMIオーディオデバイスの不具合と思われる)に対応しました。2.4.サンプリングレート新たに44.1kHz、96kHz、192kHzのサンプリングレートをサポートしました。Capture」の方は不要(邪魔)なので一度ライブ機能をアンインストールすることをお勧めします。3.ライブ機能Line:1からLine:4の最大4つまで同時に利用できるようになります。最初に、同梱のライブ機能live_setup230.exeをインストールしてください。Liveが使うLineと重ならないようにして下さい。)Line:2からLine:4を使う場合は「フィルタ登録」ボタンを押してフィルタの登録を行う(配信ソフトから使えるようにする)必要があります。(Line)のチェックボックスをONにして下さい。設定が終わってアマミキ!の右下に「ライブ待機中」と表示されたら次は配信ソフト側になります。(Line)が追加されていますので先ほど選択したLineを選びます。Line:1についてはLine標記がありません。配信ソフトで配信を開始するとアマミキ!の表示が「ライブ中(1)」と変わります。「ライブ中」にならないようならサンプリングレートが異なるか、Lineが異なっていますので確認してください。Live)が指定した場合は次のエラーメッセージが表示されます。3.2.複数アクセス複数の配信ソフト(アプリケーション)からライブ機能にアクセスされている場合にアクセス数を表示するようになりました。「ライブ中(2)」の場合は2つのアプリケーションがアマミキ!のライブ機能にアクセスしています。アクセスするアプリケーションが無くなると「ライブ待機中」に戻ります。3.1(以下FME)がライブ機能にアクセスした際、FMEを終了してもアマミキ!のステータスがライブ中のままになってしまうのに対応しました。以前はアロケータサイズとアロケータ数の設定で遅延とノイズのバランスをとっていましたが、Ver1.03からはアロケータサイズとオーディオレンダラーのプロパティにある目標反応時間で管理するようになります。アロケータ数の設定は殆ど意味を持たなくなります。目標反応時間の設定(オーディオレンダラーのプロパティ)目標反応時間の設定は音を聴きながらリアルタイムで調整できます。モニター部では現在の反応時間の値、再生サンプリングレートの実測値を確認できます。基本的には初期値のアロケータサイズ40ms、目標反応時間30msで問題ないと思いますが、プチプチノイズがのる場合は目標反応時間を40ms位に上げてみてください。ノイズがのらない人はこれらの数値を減らすことで遅延を軽減できます。詳しくはブログの記事を参照して下さい。反応時間の設定は各再生デバイス共通(及びアマレコTV、アマミキ!も共通)となっています(一つしか設定を管理できない)。複数の再生デバイスを扱う場合は一番性能の悪い再生デバイスにあわせて設定してください。0ツイッターソフトウエアのバージョンアップ情報やブログの記事など最新情報をツイッターでお知らせするようにしました。私のソフトウエアにはバージョンアップ通知が無いので、こちらをチェックして頂ければと思います。https://twitter.com/amarectv今回は試験的にブログでやっていた新バージョンの情報小出しをツイッターでやろうと思います。0あまラボへようこそこのブログでは自作ソフトの最新情報やtips、PC動画に関する話題を掲載していきます。各記事へは下にあるカテゴリからアクセスして下さい。