スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


フレームレートの扱いについて(ffmpeg、DirectShow、ビデオキャプチャ)

画質厨の配信設定研究」のこの記事を見ながらアマレコTVとffmpegを連携させた使い方を試していますがその中のフレームレートについてのお話しです。

アマレコTVのライブ機能をffmpegを使うとフレームレートが「29.97」と表示される場合と「29.9701」と表示されることがあり「おや?」と思う場面が出てきます。
結論から言うと先のサイトに書かれている通りどちらも正解(正常)で小数点以下の扱い(非常に細かい単位)を切り捨てるか、繰り上げるかの違いです。


詳しく説明すると、フレームレートは各ソフトウエアの内部で29.97のような値ではなく、

 REFERENCE_TIME AvgTimePerFrame; // Average time per frame (100ns units)

と言うデータで管理されています(Direct Showの仕様です)。
AvgTimePerFrameは100ナノ秒(10,000,000分の1秒)単位で1フレームあたりの(平均)持続時間を管理します。
29.97fpsの場合のAvgTimePerFrameは333666または333667という値になりますが、この値(333666や333667)をそのまま表示したのでは解りにくいので、1秒間に何フレーム扱うかというfpsの形に各々のソフトウエアが計算し29.97のように表示しています。

10,000,000ns(1秒)をAvgTimePerFrameで割るとfpsになるので、それぞれ計算すると

 AvgTimePerFrame=333666の場合:fps = 10,000,000 ÷ 333666 = 29.970089・・・
 AvgTimePerFrame=333667の場合:fps = 10,000,000 ÷ 333667 = 29.970000・・・

となります。
大抵のソフトウエアはfpsの小数点以下2位または3位までしか表示しないため両者の違いが表面化することはありませんが、ffmpegは小数点以下4位まで表示(小数点以下5位を四捨五入)するため「29.9701」と「29.97」といった違いが表面化します。
しかし、その違いは一千万秒に対し1秒の誤差(115日間ぶっ続けで配信して1秒ズレる)なので通常問題になることはないでしょう。
その違いは一千万フレームに対し1秒の差(29.97fpsの場合なら92時間ぶっ続けで配信して1秒差が出る)なので通常問題になることはないでしょう。

そしてAvgTimePerFrameを決めるのは基本的にキャプチャカードです。
大抵のキャプチャカードはAvgTimePerFrame=333667なので表示上は29.97となることが多いと思います。
(現在手元にあるGV-USB2、SD-USB2CUP4、SC512、IntensityProはAvgTimePerFrame=333667)

もう一つのケースとして59.94fps(AvgTimePerFrame=166833)でキャプチャしたものをアマレコTVのライブ機能で29.97fpsにしている場合は計算精度の関係でAvgTimePerFrame=333666となります。この場合、表示は29.9701となってしまいます。

フレームレートをこちらswk's log - NTSC のフレームレートはなぜ 29.97fps なのか 」を参考に計算すると

 fps = 4.5MHz ÷ 286 ÷ 525 = 29.9700299700299700299700299700・・・

となるので、
29.97fpsにおけるAvgTimePerFrameのより正確な値は

 AvgTimePerFrame=333666.6666666666666666666666666・・・

と小数点以下に6が沢山続きます。なので333666(29.9701)よりは333667(29.97)の方が誤差が少ないと言えます。


■まとめ
・「29.9701」と「29.97」はどちらも正常。
・どちらになるかは使っているキャプチャカードのAvgTimePerFrameにより決まる。
・多くのキャプチャカードで「29.97」となる。
・59.94fpsでキャプチャしたものをライブ機能で29.97fpsにしている場合は「29.9701」となる。
・どちらかというと「29.97」の方がビデオ信号の規格との誤差が少ない


■ffmpegの"-r"オプションについて
アマレコTV Live Ver2.30からffmpegの"-r"オプションでライブ機能のフレームレートを指定できるようになりましたが、特に問題がない場合はffmpeg側からフレームレートを指定しない方が望ましいです。

-rオプションでフレームレートを指定するとキャプチャカードのフレームレートとは違うレートでffmpegが動作するため
キャプチャカードとffmpegの間でギャップが生じやすくなります。ギャップが生じるとアマレコTVのライブ機能により
意図的にフレームをドロップさせたり、同じフレームを水増しすることで調整されます(カクカクになる可能性が高まる)。

-rオプションを指定しない場合はキャプチャカードのフレームレートに合わせてffmpegが動作しますのでギャップが生じにくくなります。
スポンサーサイト


アマレコTV Live アマミキ! Ver2.30 先行公開

Windows7や64bit版のOSの特性に合わせた対応、HDMI、Bluetoothなどの機器への対応、ライブ機能の見直しとなっています。Windows7に関する対応が多くなっていますが正式対応ではないので今までどおりWindowsXP用のアプリケーションをWindows7で使う場合の作法を知っておく必要があります。

現在は対応するヘルプがありません。ブログの記事を見ながらご利用下さい。




1.更新内容
【アマレコTVの更新内容】
(1-1) 動作タイミングが不安定なキャプチャデバイスでもWindows7のEVRで滑らかなプレユー表示を行えるようにしました。(詳しくはブログ記事参照)
アマレコTV用 デインターレースフィルタ Ver2.20d ベータ版
ビデオキャプチャカードのタイミングと遅延
アマレコTV用 デインターレースフィルタ Ver2.20e ベータ版

(1-2) 64bit版のOSの場合はリプレイ機能用のバッファに2GBを超えるメモリを割り当てられるようになりました。(詳しくは後で書きますこちら
(1-3) ステータスモニター画面追加(ステータスバーより詳しく状況確認ができます。詳しくは後で書きます)
(1-4) ステレオ片チャネルしか接続されていない場合にモノラルをステレオに変換する機能「モノステ」追加。(詳しくは後で書きますこちら
(1-5) NTFS以外でフォーマットされたHDDへの録画をできないようにしました(4GBを超えるファイルを作成できないFAT32などはエラーとなります)。
(1-6) 200%などウインドウサイズを指定したときに画面の四隅からはみ出ないようにしました。
(1-7) ツールバーに設定アイコンを追加しました。
(1-8) 実際のキャプチャフレームレートと設定値が合わない時は警告メッセージを表示するようにしました。
(1-9) 高度な設定のGV-USBに関するオプションを廃止しました。
(1-10) オーディオデバイスを有効にしてリプレイ機能を使った後、オーディオデバイスを使わずリプレイ機能を使うとエラー落ちする不具合を修正しました。
(1-11) リプレイ再生時に映像が出ない(真っ黒)になる場合があるのを修正しました。


【ライブ機能の更新内容】
(2-1) 動作条件を緩和しました。
(2-2) 通信方式を同期方式から非同期方式に変更しました。
(2-3) 1対多の通信に対応しました。
(2-4) 最大4つまでアマレコTV(アマミキ!)のライブ機能を同時利用できるようになりました。
(2-5) 画像サイズなどの初期値を設定できるようになりました(初期値を合わせておけばアマレコTVより先に配信ソフトを起動しても利用できます)。
(2-6) オーディオのOn/Off設定追加(映像はアマレコTV、音声はアマミキ!といった使い方に対応)。
(2-7) ミキサーにビデオキャプチャの音を入れるかどうかの設定を追加(PC音とキャプチャ音で二重になるのを回避します)。
(詳しくはブログ記事参照)
アマレコTV Live アマミキ! Ver2.30 ライブ機能

【アマレコTV・アマミキ!共通の更新内容】
(3-1) オーディオレンダラーによる可変再生速度の精度を向上しました(特にWindows7で遅延とノイズを軽減します詳しくはブログ記事参照)。
アマレコTV・アマミキ!用 オーディオレンダラーフィルタ Ver2.30a ベータ版
アマレコ・オーディオ・レンダラー デバックログとビデオキャプチャ編

(3-2) オーディオレンダラーのプロパティページを実装(リアルタイムで反応時間の確認、設定が可能です)。
(3-3) ヘッドフォンのプラグの抜き差しやBluetooth上のオーディオデバイスなど利用中にオーディオデバイスが無効、有効になるケースに対応しました。
(3-4) プラグが抜けていたりオーディオデバイスの電源が入っていない状態でアマレコTVが起動した場合、デバイスが利用できるようになるのを待つようにしました。
(今までは指定されたデバイスが使えない場合は規定のデバイスを使うようになっていました)
(3-5) Windows7でPC音を録音する「AmaRec Core Audio Capture」を「AmaRec Stereo Mixer」へ改名(アマステ)。
(3-6) アマステでHDMIデバイスの音声を録音していると、HDMIデバイスから音を出力するアプリケーションが無くなった場合、最後に再生された音がHDMIデバイスから鳴り続ける現象(HDMIオーディオデバイスの不具合と思われる)に対応しました。
(3-7) アマステのサンプリングレートに44.1kHz、96kHz、192kHzを追加しました。
(詳しくはブログ記事参照)
アマミキ! Ver1.03


【アマミキ!の更新内容】
(4-1) OS終了時にアマミキ!も正常終了するようにしました。次回起動時にセーフモードになりません。
(4-2) 最大4つまでアマミキ!のライブ機能を同時利用できるようになりました。
(4-3) Adobe Flash Media Live Encoder 3.1(以下FME)がライブ機能にアクセスした際、FMEを終了してもアマミキ!のステータスがライブ中のままになってしまうのに対応しました。
(詳しくはブログ記事参照)
アマミキ! Ver1.03




2.ブログで公開したベータ版からの変更内容
AmAudioRenderer.ax Ver2.30b
(5-1) 可変再生速度を微調整しました。
(5-2) Bluetoothなどデバイスが無効になった後、再度利用可能になった際にデバイスIDを再検索するようにしました。(IDが変わって違うデバイスから再生されてしまう可能性があるため)。
規定のデバイスが指定されているときはOSにより新たに選定された規定デバイスから再生します。
(5-3) 動作開始時に指定されたオーディイオデバイスが見つからない場合に規定のデバイスから音を出していたのをやめ、指定されたデバイスが使えるようになるのを待つようにしました。


AmDeinterlac.ax Ver2.30
(6-1) 「iWaitDeliver」が“1:Auto“の場合にタイミング調整を行うかどうかの判断をプレビューの設定で決め打ちするのではなく、実際の動作を監視して不安定だった場合にタイミング調製を行うようにしました。
実際にタイミング調整が行われているかどうかは、ステータスモニター画面で確認できます。
モニターWaitDeliver

“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にしないと動作しない製品もあるようです。そういった製品も警告を出すようにしました(実質使えないようにしました)。



4.ダウンロード
ダウンロード


アマレコTV Live アマミキ! Ver2.30 ライブ機能

今までのライブ機能は設定や使い方がシビアでした。そのため少しでも設定をミスったり、起動する順番が違うと映像が映りません(フレームレートがちょっと違うだけでもダメ)。また、通常アマレコTVと配信ソフトの間でライブ機能は使われますが、意図しないその他のアプリケーションがライブ機能へアクセスしてしまい、配信ソフトへ映像が行かないケースもあるようです。
このような事情から多くの人に使っていただくのは難しいと考え抜本的な見直しとなりました。

まず、設定ですがフレームレートが違っていても画像サイズさえ合っていれば映像を転送することができるようになります(非同期通信になったため)。画像サイズもデフォルト値を設定できますので、良く使う画像サイズを初期値にしておけば配信ソフトを先に起動(アマレコTVを後に起動)しても使えるようになります。また、画像サイズが合わないときも配信ソフト側のロゴ画面にフォーマットが表示されますので設定ミスに気が付きやすくなっていると思います。
そのほか異常があった場合もロゴ画面にステータスを表示することで状況把握できるようにしてあります。
さらに、1対多の通信にも対応したため他のアプリケーションがライブ機能にアクセスしていても目的の配信ソフトへ映像を転送することができます。
これらにより画像サイズさえ合っていれば映像が映らないというケースは殆ど無くなるようにしました。

なお、基本的な使い方は今までと同じですので、既にうまく使えている人は何か変わったのか分からないかもしれません。


xsplit.png

プログラムの公開までもうしばらくお待ちください。



1.変更内容
2.使い方
3.ステータス
4.その他




1.変更内容
(1) 通信方式を同期方式から非同期方式に変更しました。
(2) 1対多の通信に対応しました。
(3) 最大4つまでアマレコTV(アマミキ!)のライブ機能を同時利用できるようになりました。
(4) 画像サイズなどのデフォルト値を設定できるようになりました(デフォルト値を合わせておけばアマレコTVより先に配信ソフトを起動しても利用できます)。
(5) オーディオのOn/Off設定追加(映像はアマレコTV、音声はアマミキ!といった使い方に対応)。
(6) ミキサーにビデオキャプチャの音を入れるかどうかの設定を追加(PC音とキャプチャ音で二重になるのを回避します)。

multiple.png




2.使い方
ここではアマレコTVのライブ機能を既に使っている人を前提に(変更部分を中心に)説明します。

2.1.インストール
同梱のライブ機能をインストールします。
アマミキ211_live_setup


2.2.アマレコTV側の設定
設定画面
ライブ12_設定画面

「ライブ機能を使う」をONにします。
ONにできない場合はライブ機能のインストールができていません(バージョンが古いなど)。

フレームレートの目安
ライブ13_フレームレート
今までと設定内容は同じですが、コンボボックス内から選ぶようになっています(好きな数値を入力することもできますが24とか25fpsは日本のビデオ規格と合わないため通常使えません)。

最終的なフレームレートがどうなるかはアマレコTVのステータスバーで確認してください(下図の場合は29.97fpsで動作しています)
ライブ14_ステータス

出力欄でLine1からLine 4を選択します。(他のアマレコTV Liveが使うLineと重ならないようにして下さい。)
ライブ15_Line

Line:2からLine:4を使う場合は「フィルタ登録」ボタンを押してフィルタの登録を行う(配信ソフトから使えるようにする)必要があります。
使いたいAmaRec Video Capture (Line)のチェックボックスをONにして下さい。
ライブ16_フィルタ登録

オーディオ設定も同様に出力Lineの選択とフィルタの登録を行ってください。
ビデオの出力Lineとオーディオの出力Lineは異なっていても構いません。また、オーディオの出力を「使わない」にするとオーディオに関するライブ機能を使いません(映像のみとなります)。音声はアマミキ!を使うという場合はアマレコTV側は「使わない」を選択するとわかりやすいのではないでしょうか。
ライブ17_オーディオ使わない

一通り設定が終わったらプレビューを開始します。ステータスバーに「Live[V:Rdy A:Rdy]」と表示されたら準備完了です。
次は配信ソフト側になります。
ライブ18_準備完了



2.3.配信ソフト側の設定
配信ソフトを起動すると「AmaRec Video Capture(Line)」が追加されていますのでビデオデバイス(カメラ)欄から先ほど選択したLineを選びます。
なお、Line:1に付いてはLine標記がありません。
ライブ231_デバイス

同様にオーディオデバイスも「AmaRec Audio Capture (Line)」を選択します。
ライブ232_オーディオデバイス

配信ソフト側の処理が開始されるとアマレコTVのステータスバーが[V:Run(1) A:Run(1)]に変わります。これで成功です。
ライブ233_run

映像が表示されない場合や、配信ソフト側で音が出ないときは、Lineが異なるか、画像サイズ(音の場合はサンプリングレート)が一致していません。
そのあたりをもう一度確認して下さい。


2.4.映像が表示されない場合は
基本的には画像サイズが合わないかLineの設定が違っています。

ロゴ画面の下部に赤字で画像サイズ等のフォーマットが表示される場合は、アマレコTV側で設定したフォーマットと、配信ソフト側で使おうとしているフォーマットがあっていません。下図の場合は配信ソフト側を640x480に設定する必要があります。
ライブ242_画像サイズエラー

アマレコTV Liveのロゴ画面の下部に何も表示がないときはLineの選択が違うかアマレコTV側の準備ができていません(プレビュー状態になってない、Rdyになっていない)。
ライブ241_ロゴ




3.ステータス
3.1.ステータスバー
アマレコTVのステータスバーにライブ機能の設定値(フォーマット)と現在のステータスが表示されます。
ライブ311_ステータスバー


3.1.1.現在のステータス
「V:」はビデオに関するステータス。「A:」はオーディオに関するステータスがリアルタイムで表示されます。

Rdy:準備完了。ライブ機能を使える状態です。配信ソフトからのアクセスを待っています。なお、配信ソフトからのアクセスがあるまでライブ機能で必要な画像処理は行われません(余計な負荷はかからない)。

Run(1):配信ソフトがアクセスしています(映像、音声が転送されている)。カッコ内はアクセス数です。複数のアプリケーションからアクセスされている場合は2以上になります。
アクセスする配信ソフトが無くなるとRdyに戻ります。

Disable:無効です。オーディオ設定の出力で「使わない」を選択した場合にDisableとなります。


3.2.ステータスモニター
メニューのファイルにある「ステータスモニター」画面ではステータスバーより詳しい状況を確認することができます。
ライブ321_メニュー

「Client File Name」でライブ機能にアクセスしている配信ソフトの実行ファイル名が確認できます。
表示されるのは1件のみで最初にアクセスしてきた配信ソフトの実行ファイル名が表示されます。
ここに心当たりのない実行ファイル名が表示される場合は、該当するアプリケーションを特定してその設定を見直ししてください(ライブ機能にアクセスしないようにして下さい)。
ライブ322_ステータスモニタ


3.3.配信ソフト側のステータス
異常がある場合は配信ソフトのプレビューに表示される(アマレコTV Lineの)ロゴ画面にライブ機能のステータスが表示されます。

フォーマットエラー:画像サイズが合っていません。下図の場合、配信ソフト側の画像サイズの設定を640x360に設定して下さい。
ライブ331_フォーマットエラー

フリーズ:アマレコTV側に異常が起こり途中で処理が止まっている状態です。アマレコTVを再起動して下さい。
ライブ332_Freeze

アマレコTVを再起動した際に次のエラーメッセージが表示される場合は、前のアマレコTVのプロセスがまだ終了していません。タスクマネージャから前のアマレコTVのプロセスを終了させて下さい。またビデオキャプチャ周りの異常の場合はタスクマネージャからでもプロセスの終了ができません。その場合はPC自体を再起動する必要があります。
ライブ333_Duplication

ロゴのみでステータスが表示されていないときは、Lineの選択が違うかアマレコTV側の準備ができていません(プレビュー状態になってない)。アマレコTVのステータスバーがRdyになっているか確認してください。
ライブ241_ロゴ




4.その他
4.1.ループバックの回避
アマレコTVのミキサーを使ってPC音を配信に加えると、ビデオキャプチャの音(ゲーム音)が二重に配信される(エコーがかかったようになる)場合があります。その場合「ビデオキャプチャ音のループバックを防ぐ」をONにすると二重になるのを回避できます。
ライブ411_ループバック


4.2.ライブ機能デフォルト値の変更
主に画像サイズのデフォルト値を設定します。画像サイズを設定しておくと、配信ソフトを先に起動(アマレコTVを後から起動)しても映像を転送することができるようになります。

ライブ機能のインストール先にある「AmVideoCapture.ini」をメモ帳で開きます。
ライブ251_AmVideoCapini

iDefaultWidth(画像の幅)、iDefaultHeight(画像の高さ)を書き換えて保存してください。
設定はLine毎に管理されます。
ライブ252_AmVideoCapini

デフォルト画像サイズはアマレコTVのライブ機能のリサイズ設定と同じにしてください。
ライブ253_amarectv





アマミキ! Ver1.03

可変再生速度の性能向上、及び途中でヘッドフォンのプラグが抜かれたり、Bluetoothのオーディオデバイスの電波が遮断されたりといったケースに対応しました。また、ライブ機能を同時に4つまで使えるようになりますのでアマレコTVとアマミキ!の同時利用も可能となっています。
全体的にアマミキ!を使っていることを意識せずPCの起動から終了までの間、安定して音をルーティングできるようなアプリケーションにしました。

プログラムの公開までもうしばらくお待ちください。


1.オーディオデバイスの管理
2.アマステ(AmaRec Stereo Mixer)
3.ライブ機能
4.アロケータサイズの設定内容変更



1.オーディオデバイスの管理
1.1.以前のバージョンの場合
以前のバージョンでは再生中にオーディオデバイスが使えなくなるとエラー表示を出して音が再生されなくなります。
アマミキ111_waveout_error101

例えば、HDMIディスプレイ(写真内RDT233WX-Z)に出力している音をオンボードのヘッドフォン端子(写真内スピーカー)へルーティングしているときに、ヘッドフォンのプラグを抜いてしまうとエラーメッセージが表示され以後ヘッドフォンのプラグを挿しても音は再生されませんでした。


1.2.Ver1.03の場合
アマミキ! Ver1.03では再生中にデバイスが使えなくなってもエラーメッセージは表示されません。アマミキ!の処理は継続されます。
アマミキ112_waveout_error103

その後デバイスが使えるようになると、自動的に音が再生されます。
アマミキ113_reconnect

オーディオデバイスが使えなくなるケースとしてはヘッドフォンのプラグが抜かれたり、Bluetooth上のオーディオデバイスのバッテリーや電源が切れたり、電波遮断などがあります。
また、アマミキ!起動時に指定された再生デバイスが使えない場合、以前は規定のデバイスを使って再生するようになっていましたが、Ver1.03からは指定された再生デバイスが使えるようになるのを待つようになっています。
これは、例えばHDMIの音をヘッドフォンへルーティングしている場合にヘッドフォンのプラグを抜いた状態でアマミキ!を起動するとHDMIの音をHDMIへルーティングしてしまいループバックが起こる可能性があるので、そういったことを回避するための変更です。


1.3.録音デバイス
再生デバイスだけでなく録音デバイス側もプラグの抜き差しに対応します。ただし対応できるのは後で紹介するアマステを使った場合に限ります。




2.アマステ(AmaRec Stereo Mixer)
2.1.改名
Windows7でPC音を録音する「AmaRec Core Audio Capture」を「AmaRec Stereo Mixer」へ改名しました。
ライブ機能で使う「AmaRec Audio Capture」と名前が紛らわしいのでこれからはアマステと呼ぶことにします。
アマステを使うには同梱のライブ機能live_setup230.exeをインストールしてください。
アマミキ211_live_setup

なお、アマステはWindows7専用です。WindowsXPでは利用できません。


2.2.録音デバイスへ対応
アマミキ221_amaste_input

今まではスピーカーなどの再生デバイスからループバックするのが主な働きでしたが、Ver1.03からはライン入力やマイクと言った録音デバイスをアマステの入力端子として選択できるようになります。アマステの入力端子からマイクを選択した場合はアマミキ!動作中のプラグ抜き差しに対応します。
アマミキ222_input


2.3.HDMIデバイスへの対応
また、アマステ でHDMIデバイスの音声を録音していると、HDMIデバイスから音を出力するアプリケーションが無くなった場合、最後に再生された音がHDMIデバイスから鳴り続ける現象(HDMIオーディオデバイスの不具合と思われる)に対応しました。


2.4.サンプリングレート
新たに44.1kHz、96kHz、192kHzのサンプリングレートをサポートしました。
アマミキ241_アマステ


2.5.アンインストール
以前からライブ機能を使っていた場合、Ver2.30のライブ機能を上書きインストールすると「AmaRec Core Audio Capture」とアマステが両方使える状態になりますが、「AmaRec Core Audio Capture」の方は不要(邪魔)なので一度ライブ機能をアンインストールすることをお勧めします。
アマミキ251_coreaudio

アマミキ252_uninst




3.ライブ機能
Line:1からLine:4の最大4つまで同時に利用できるようになります。

3.1.使い方
最初に、同梱のライブ機能live_setup230.exeをインストールしてください。

次にアマミキ!の設定からライブ機能の出力欄でLine1からLine 4を選択します。(他のアマミキ!やアマレコTV Liveが使うLineと重ならないようにして下さい。)
アマミキ311_ライブ機能

Line:2からLine:4を使う場合は「フィルタ登録」ボタンを押してフィルタの登録を行う(配信ソフトから使えるようにする)必要があります。
使いたいAmaRec Audio Capture (Line)のチェックボックスをONにして下さい。
アマミキ312_ライブ機能登録

設定が終わってアマミキ!の右下に「ライブ待機中」と表示されたら次は配信ソフト側になります。
アマミキ312_ライブ待機中

配信ソフトを起動するとオーディオデバイス欄に登録したAmaRec Audio Capture (Line)が追加されていますので先ほど選択したLineを選びます。なおLine:1についてはLine標記がありません。
アマミキ313_ライブ機能配信ソフト側

配信ソフトで配信を開始するとアマミキ!の表示が「ライブ中(1)」と変わります。これで成功です。
アマミキ314_liverun

「ライブ中」にならないようならサンプリングレートが異なるか、Lineが異なっていますので確認してください。
また、同じLineを複数のアマミキ!(アマレコTV Live)が指定した場合は次のエラーメッセージが表示されます。
アマミキ315_ライブerror


3.2.複数アクセス
複数の配信ソフト(アプリケーション)からライブ機能にアクセスされている場合にアクセス数を表示するようになりました。「ライブ中(2)」の場合は2つのアプリケーションがアマミキ!のライブ機能にアクセスしています。
アクセスするアプリケーションが無くなると「ライブ待機中」に戻ります。
アマミキ316_ライブ機能接続数


3.3.FMEへの対応
Adobe Flash Media Live Encoder 3.1(以下FME)がライブ機能にアクセスした際、FMEを終了してもアマミキ!のステータスがライブ中のままになってしまうのに対応しました。




4.アロケータサイズの設定内容変更
以前はアロケータサイズとアロケータ数の設定で遅延とノイズのバランスをとっていましたが、Ver1.03からはアロケータサイズとオーディオレンダラーのプロパティにある目標反応時間で管理するようになります。アロケータ数の設定は殆ど意味を持たなくなります。

アロケータサイズの設定
アマミキ411_アロケータサイズ

目標反応時間の設定(オーディオレンダラーのプロパティ)
アマミキ412_オーディオレンダラープロパティ

目標反応時間の設定は音を聴きながらリアルタイムで調整できます。モニター部では現在の反応時間の値、再生サンプリングレートの実測値を確認できます。

基本的には初期値のアロケータサイズ40ms、目標反応時間30msで問題ないと思いますが、プチプチノイズがのる場合は目標反応時間を40ms位に上げてみてください。また、ノイズがのらない人はこれらの数値を減らすことで遅延を軽減できます。
詳しくはブログの記事を参照して下さい。
アマレコTV・アマミキ!用 オーディオレンダラーフィルタ Ver2.30a ベータ版
アマレコ・オーディオ・レンダラー デバックログとビデオキャプチャ編

※ 反応時間の設定は各再生デバイス共通(及びアマレコTV、アマミキ!も共通)となっています(一つしか設定を管理できない)。複数の再生デバイスを扱う場合は一番性能の悪い再生デバイスにあわせて設定してください。


アマミキ! 使い方

使い方
基本的な使い方として次の事を説明します。
(1) WindowsXPでPCゲームの音とUSBマイクの音をミキシングしてAdobe Flash Media Live Encoderで配信する。
(2) Windows7でPCゲームの音とUSBマイクの音をミキシングしてAdobe Flash Media Live Encoderで配信する。

注意
現在アマミキ!はWindows Vista/7に完全対応していません。
使えない事はありませんが、WindowsXP用のアプリケーションとして作られていますのでWindows Vista/7で利用する場合はそれぞれのOSでWindowsXPのアプリケーションを使う際の注意事項を良く理解した上でご利用ください。


ダウンロード
アマミキ!はアマレコTV付属のユーティリティソフトです。本体はアマレコTVになりますのでダウンロードは最新版のアマレコTVベータ版 Ver1.15(公開は後日)をダウンロードして下さい。
ダウンロードしたamarectv.zipを解凍して出来るamamix.exeがアマミキ!です。

インストール
解凍した中にあるlive_setup.exeを実行してアマレコTVのライブ機能をインストールして下さい。
アマミキ! 取説 ライブ機能インストール
インストールに関しては表示されるメッセージに従って下さい。
※ライブ機能を使わない場合はインストールしなくてもアマミキ!は利用可能です。

参考:ライブ機能で出来る事
(1) 配信ソフトを使った動画配信
(2) Windows7でPC内部の音を録音する
(3) アマレココ、アマレコ・ライトでアマミキ!の音を使って録画する(後日対応予定)

アンインストール
コントロールパネルの「プログラムの追加と削除」から”AmaRecTV Live”をアンインストールして下さい。


実行
amamix.exeを実行すると次の画面が表示されますので、録音デバイスを選択してください。
アマミキ! 取説 初回起動

Windows Vista/7の場合は次のメッセージが表示されます。アマレココのFAQを見て注意事項を良く確認して下さい。
アマミキ! 取説 Vista警告


録音デバイスの選択
録音デバイスとは例えばPCゲームの音、USBマイクの音、CDの音、ライン入力の音と言った録音したい音の事です。
ここではPCゲームの音とUSBマイクの音を扱う場合を例に説明します。

WindowsXPの場合
WindowsXPの場合PCゲームの音はサウンドカード(またはオンボード)のステレオミックスを使って録音する事ができます。一番左のキャプチャデバイス欄でサウンドカードの名前を選び、その下で「ステレオミックス」を選び、最後に「smp=48000, bit=16, ch=2」を選択して下さい。

次にUSBマイクを設定します。
隣りのキャプチャデバイスでUSBマイクを選び、その下の入力は「マクロフォン」を選びます。最後に「smp=48000, bit=16, ch=2」を選択。smp=48000が無い場合は48000に一番近い値のモノを選択して下さい。
アマミキ! 取説 設定XP
ここまで出来たら設定完了です。右下の「OK」ボタンを押して下さい。

Windows7の場合
Windows7でPCゲームの音を録音するにはライブ機能の「AmaRec Core Audio Capture」を使います。
一番左のキャプチャデバイスで「AmaRec Core Audio Capture」を選び、その下でゲーム音の再生に使っているスピーカーを選び、最後に「smp=48000, bit=16, ch=2」を選択します。
※AmaRec Audio CaptureというCoreが付かないモノもありますので間違えないよう注意して下さい。
※AmaRec Core Audio CaptureはWindows7専用です。WindowsXPでは表示されません。

次にUSBマイクを選択します。
隣りのキャプチャデバイスからUSBマイクを選び、その下の入力は「マスター音量」を選び、最後に「smp=48000, bit=16, ch=2」を選択します。smp=48000が無い場合は48000に一番近い値のモノを選択して下さい。
アマミキ! 取説 設定Win7
以上で完了です。設定画面右下の「OK」ボタンで設定を保存します。

AmaRec Core Audio Captureを使っていると次のエラーがでる場合があります。
CoreAudioエラー
この場合はパソコン側の設定が必要です。
(1) アマミキ!の設定画面の録音デバイスにある「コントロールパネル」ボタンを押す。
(2) 再生タブの画面を表示する
CoreAudio規定のデバイス
(3) 音を出しているスピーカーを選択して右下の「プロパティ」ボタンを押す。
(4) 詳細タブでフォーマットを"DVDの音質(2チャンネル、16ビット、48000Hz)"にしてOK。
CoreAudioデバイスのフォーマット


メイン画面
メイン画面が表示されたら一番下のステータス欄の左が「動作中」、右側が「ライブ待機中」となっている事を確認して下さい。
アマミキ! 取説 メイン画面OK

「動作中」以外の場合は何かしらエラーが表示されたと思いますので、設定を良く確認して下さい。
「ライブ無効」となっている場合は設定画面の「ライブ機能」でライブ機能を有効にして下さい。
また、ライブ機能がインストールされていない場合はインストールして下さい。
アマミキ! 取説 エラーライブ機能がインストールされていない

メイン画面の操作
アマミキ!のメイン画面で出来る事は各音のボリューム調整とスピーカーから鳴らす音のON/OFF、および配信に使う音のON/OFFです。

まずはPCゲームやマイクで大きな音を出してボリュームメーターが緑の範囲に収まるようボリュームを調整して下さい。(黄色いところまでいってるとミキシングしたときに音が割れる場合があります。)
アマミキ! 取説 メイン画面ボリューム

スピーカーから鳴らす音の設定はPCゲームの音をOFF、マイクの音も再生されると使いづらいのでOFFにします。配信側の設定はPCゲーム、マイク共ONに設定します。
アマミキ! 取説 メイン画面チェックボックス


ボリュームを最大にしてもマイクの音が小さ過ぎる場合は、メニューの「ツール」からマイク・ブーストの倍率を上げてみて下さい。
アマミキ! 取説 マイクブースト
補足:マイク・ブーストはどうしても音が大きすぎる場合に倍率を下げる事も出来ます。しかし、マイク・ブーストを使うと音質が低下する場合がありますので、出来る限りメイン画面のボリュームで調整するようにして下さい。マイク・ブーストはどうしても調整できない場合の最終手段といった位置付けです。


以上でアマミキ!の配信準備は完了です。なお、アマミキ!のウインドウを最小化するとタスクトレイに収納しますが、Windows7の場合はトレイの奥に入ってしまう場合がありますので、「アマミキ!の画面が消えた!」って思ったらトレイの奥を確認してみて下さい。
アマミキ! 取説 トレイの奥
アマミキ! 取説 隠れているインジケーター


配信ソフトの設定
続いて配信ソフト側の設定です。
ここではAdobe Flash Media Live Encoder(以下FMLE)を例に説明します。
FMLEを起動してVideoのDevice欄で適当なビデオソースを選択します。
適当なビデオソースが無い場合は「AmaRec Video Capture」を選択して下さい。
次にAudioのDevice欄で「AmaRec Audio Capture」を選択します。
Windows7の場合はAmaRec Core Audio Captureと間違えないよう注意して下さい。
アマミキ! 取説 FME

FMLEで「AmaRec Audio Capture」を選択するとアマミキ!のステータス欄が「ライブ中」に変わり、アマミキ!でミキシングした音がFMLEに転送されます。後はFMLEの配信設定をしてスタートボタンを押せば配信できます。
アマミキ! 取説 ライブ中


次回からは・・・
次回からはアマミキ!を先に起動 → FMLEを起動 → 配信スタートの流れで利用できます。
基本は「アマミキ!を先に起動してライブ待機中にしておく」というのだけ押さえておいてください。
FMLEを先に起動してアマミキ!を後にした場合は上手く行かない(ライブ中にならない)場合がありますので注意して下さい。

以上基本的な使い方さえわかれば、マイク2本を使った配信や、BGMを加えた配信、ボイスチャットの管理など様々なケースに対応できると思いますので是非活用してみて下さい。


アマミキ! ツール画面

アマミキ!のツール画面です。マイク・ブーストと再生デバイス(出力デバイス)のボリューム設定があります。

■ツール画面
アマミキ! バランステスト

マイク・ブースト
メイン画面のボリュームだけでは調整しきれないデバイスを最小1/32 ~ 最大8倍まで計算により調整します。
音質的にはメイン画面のボリュームで音を大きくした方が良いので、アマミキ!のマイク・ブーストはメイン画面のボリュームを最大にしてもまだ小さいとか、ボリュームの変更が出来ないデバイス用の最終手段と思って下さい。
通常はx1.0のままにします。
x1.0以外にするとメイン画面のボリューム値に[+]または[-]が付きます。
アマミキ! ブースト[+]
[+]は倍率が上がっている。[-]は倍率が下がっている事を示しています。

再生デバイス
再生に使っているデバイスのボリュームを調整します。
WindowsXPの場合この設定はコントロールパネルのボリュームとリンクします。
Windows7の場合はアプリケーション毎のボリュームとリンクします。
なお、この設定は保存されないので注意して下さい。

バランス・テスト
バランステストはミキシングした後のボリュームバランス、特にマイク音量のチェックを行うための機能です。
録音ボタンを押している間録音し、ボタンを離すと録音した音がすぐに再生されます。トランシーバーの様にボタンを押している間しゃべって、ボタンを離すと自分の声がどんな感じで聴こえるか判る仕組みです。
アマミキ! バランステストのみ

録音
ボタンを押している間、録音します。ボタンを離すと録音したものが再生されます。
最大10秒間の録音ができます。10秒を超えると最初のほうから上書きされ最後の10秒が再生されます。

再生
ボタンを押している間録音した音を再生します。ボタンを離すと再生を停止します。

ループ再生
ボタンを一回押すと再生を開始します。もう一回押すと再生を停止します。
ループ再生中はメイン画面の操作は出来ません。ツール画面のマイク・ブーストのみ調整できます。

※ 再生は、再生デバイス、配信デバイス、ライブ機能の3出力すべてに対して、配信チェックボックスで指定された音がミックスされて再生されます(再生チェックボックスは無視されます)。
アマミキ! メイン画面-配信チェックボックス


アマミキ! 設定画面(録音デバイス、再生デバイス、ライブ機能)

アマミキ!の設定画面です。最初に録音デバイスの画面が表示されますのでリストボックスから必要な項目を選択して右下の「OK」ボタンを押して下さい。
最大4系統の音声を扱えますので同じ設定(名前、キャプチャデバイス、入力端子、フォーマット)が4組ありますが必用な部分だけ設定すればOKです。


■設定画面-録音デバイス
アマミキ! 設定画面-入力デバイス

名前
メイン画面に表示する名前です。自分で分かり易い名前を選択するかコンボボックスに直接入力して下さい。

キャプチャデバイス
WindowsXPの場合はサウンドカードやUSBマイクなどの名称を選択します。
Window7の場合はアイテム名を選択します。また、アマレコTVのライブ機能がインストールされている場合は「AmaRec Core Audio Capture」を選択する事でPC内部の音をキャプチャする事ができます(WindowsXPではできません)。
不要な部分は「(使わない)」を選択して下さい。
※「AmaRec Audio Capture」と言う”Core”が付かないモノもありますが、これは配信用ですのでここでは選択しないで下さい。

入力端子
WindowsXPの場合はライン入力やマイクと言ったアイテム名を選択します。
Windows7の場合は「マスター音量」を選択します。デバイスがAmaRec Core Audio Captureの場合は主にスピーカーなどのアイテム名を選択します。
「(選択しない)」を選ぶと既定のアイテムまたは、最後に使っていたアイテムの音をキャプチャします。選択しない場合の動作はOSやデバイスによりマチマチですので上級者向けです。通常は目的のアイテムを選択するようにして下さい。

フォーマット
サンプリングレートとビット幅、チャンネル数を選択します。
サンプリングレートは主に48000Hzまたは44100Hzを使って下さい。
サンプリングレートの異なる音もミキシングできるようになっていますが、サンプリングレートが2倍以上異なる場合は音質が著しく低下する場合があります。
ビット幅とチャンネル数は16bit、2ch以外使えません。


■設定画面-再生デバイス
アマミキ! 設定画面-出力デバイス

再生デバイスに関する設定です。ここを設定しなくてもアマミキ!は使えます。応用的な使い方をしたい場合に設定して下さい。

アマミキ!は再生デバイスを2つ管理できこれらは同じ働きをしますが便宜上”再生デバイス”、”配信デバイス”と名前で区別しています。

再生デバイス
主にスピーカーやヘッドフォンなどで音を聞いたり、確認するのに使うデバイスを選択します。
「(既定のデバイス)」を選択するとOSの方で既定のデバイスに指定されているものを利用します。
メイン画面の再生チェックボックスがONの音をミキシングして再生します。
アマミキ! メイン画面-再生チェックボックス

配信デバイス
再生デバイスと同じ働きをします。
メイン画面の配信チェックボックスがONの音をミキシングして再生します。
アマミキ! メイン画面-配信チェックボックス
仮想オーディオデバイスを使って配信する場合はここで仮想オーディオデバイスを選択して下さい。次にニコニコ動画の生放送の設定画面やUstreamの設定画面で同じ仮想オーディオデバイスを選択すれば上手く良くと思います。
なお、アマミキ!には仮想オーディオデバイスは含まれていませんので別途ご用意ください。

※配信デバイスとライブ機能を同時に利用する事もできます。


■設定画面-ライブ機能
アマミキ! 設定画面-ライブ機能

ライブ機能を使う
アマレコTVのライブ機能を使って配信ソフトへ音データを転送します。
メイン画面の配信チェックボックスがONになっている音をミキシングして転送します。
アマミキ! メイン画面-配信チェックボックス
ライブ機能を使うと複数の音をミキシングしてFlash Media Live EncoderやWindows Media Encoderなどの配信ソフトを使った様々な形態の実況配信が可能になります。
なお、ニコニコ動画の生放送やUstreamではDirectShowのオーディオソースフィルター(AmaRec Audio Capture)が使えないので、その場合はFlash Media Live Encoderを経由するか再生デバイスの設定画面の「配信デバイス」で仮想オーディオデバイスを使って下さい。

ライブ機能の音質
サンプリングレートのみ変更できます。
通常は48000Hzのままにして下さい。

Map Versionに付いて
アマレコTV(またはアマミキ!)と配信ソフトの間で通信するのに使う情報です。
このバージョンが異なると通信できないのでライブ機能が使えません。
ベータ版を除きアマレコTVとアマミキ!、ライブ機能のインストーラーは一緒に配布しますので、バージョンが合わない等のメッセージが表示された場合は必ず同梱されているlive_setup.exeを実行してバージョンをそろえて下さい。


アマミキ! AmaRec Audio Mixer

アマレコTVのライブ機能からオーディオ部分のみをまとめた配信用ユーティリティソフトです。
AmaRec Core Audio Capture DSとアマレコ・オーディオレンダラーの可変再生速度が上手く行ったので、アマレコTVのオーディオ周りはそれらを前提に一から設計しなおそうと思っていましたが、その実験台として現在製作しています。

アマミキ! メイン画面
メイン画面: それぞれのボリュームを0-100%で調整(コントロールパネルのボリュームと連動)。 黒い三角のチェックボックスでプレビュー用に再生する音を選択。 下のチェックボックスでライブ機能用にミキシングする音を選択。


アマレコTVとの主な違いは次のとおりです。

(1) 最大4つの入力デバイスをミキシング可能
(2) 再生用(主にスピーカーやヘッドフォン)と配信用(アマレコTVのライブ機能または仮想オーディオデバイス※)の2系統の出力デバイスを指定可能
(3) ボリュームはデバイス自体の音量を調整可能(コントロールパネルでの調整と同じ)
(4) ボリューム及びミキシングはリアルタイムで変更可能
(5) ボリュームだけでは調整しきれない場合も最大8倍までブースト可能
(6) 異なるサンプリングレートのデバイスもミキシング可能(ただし、16bit、2chに限る)
(7) ライブ機能は同時に複数の配信ソフトへ転送可能

※仮想オーディオデバイスは含まれていません。使う場合は別途ご用意ください。

公開までもうしばらくお待ちください。
続く。。。


 
 
あまラボへようこそ
このブログでは自作ソフトの最新情報やtips、PC動画に関する話題を掲載していきます。各記事へは下にあるカテゴリからアクセスして下さい。

ファイルのダウンロードはホームページの方でお願い致します。

質問・要望・不具合報告はこちら
アマレコTV
アマミキ!
アマレココ
アマレコ・ライト
ファンタジーリモート
AMVコーデック



ホームページ
カテゴリ
最新コメント
カレンダー
04 | 2017/05 | 06
- 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 - - -
最新記事
最新トラックバック
ブログ内タグ

アマレコTV ビデオキャプチャ AMVコーデック アマレココ アマミキ! コーデック SC500 動画配信 ファンタジーリモート アマレコライト プラグイン AMV4 SC512 デスクトップキャプチャ AVX2 ライブ機能 質問コーナー FAQ リモートソフト HDキャプチャ ニコニコ動画 DirectShow LEGO 解説動画 組み換え 4K レゴ 可変再生速度 遅延 XL2420T 液晶モニター アマステ 120Hz 倍速液晶 GV-USB2 Intensity AMV2MT PS4 Pro デインターレース ベンチマーク RDT233WX-Z ffmpeg SD-USB2CAP4 GV-USB 32ZP2 31024 31006 designs VideoKeeper2 AVX XCAPTURE-1 RGBキャプチャ Alternate RYZEN Play Shadow AtomでHDキャプチャ OBS HT ハイパースレッディングテクノロジー インストール DirectShowFilter MPC Livetube 録画 オーバーレイ XCapture-1 Kabelake キャプチャーツール NVEnc 音ズレ 31021 フィギュア シンクライアント イベント プレビュー 倍速駆動 ゲームスムーズモード MonsterXU3.0R 音遅延 モノステ 液晶テレビ 32ZP32 ZP3 REGZA 額縁遅延 SSE リプレイ機能 DC-HD1 電源オプション 倍速補完処理 HDCP HDMI Haswell 擬似NTSCキャプチャ IntensityPro LameACM MP3 SD-USB2CUP4 QSV 

ブログ内検索
月別アーカイブ
アマレココに関するリンク
お世話になっているソフトのリンク
RSSリンクの表示
管理画面
  • 管理画面
  • 上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。