アマレコTV 4 録画ステータス

その前に、アマレコTV 4の録画処理フローを説明します。
1.アマレコTV 4の録画処理フロー

キャプチャカードは画像データをアロケータに入れてカスタムフィルターへ渡します(参照渡し)。
カスタムフィルターはアロケータの内容をレンダラーのビデオメモリへコピーします。
これがDirectShow Graphの基本的なプレビュー処理となります。
カスタムフィルターはこれに加え、録画中はアロケータの内容を(4)のリングバッファへコピーします。
既存のアマレコTVの場合はこの分部がリングバッファへのコピーではなく録画処理へアロケータそのものを渡してアロケータをロックするようになっています。
そして、(5)のエンコード処理が終わった後にアロケータのロックを解除します。
キャプチャカードはアロケータがロックされている間次の処理ができない場合がありますが、通常アロケータは複数あるので問題ありません。しかし、録画処理が滞ると複数あるアロケータすべてがロックされてしまいDirectShow Graphの処理も滞ることになります。
アマレコTVの録画処理(録画処理スレッド)はリングバッファにデータが溜まっていないか監視し、溜まっているデータがあったら音ズレ処理とエンコードを行い、結果を(6)の書込みバッファへ書き出します。
アマレコTVのファイル処理(ファイル処理スレッド)は書込みバッファを監視し、既定の量(書込みブロックサイズ)溜まっていたらまとめてファイルへ書き出します。
アマレコTV 4ではDirectShowスレッド、録画スレッド、ファイルスレッドの3つそれぞれがバッファを介して完全に独立しているので、たとえばファイル処理が一時的に滞ったとしても、各バッファが緩衝材となってキャプチャカードの処理やプレビューと言ったDirectShow Graphへ影響がないようになっています。
録画ステータスはこれらの処理の状況を把握することができますので、異常がある場合の原因特定や改善のヒントとなります。
2.ステータス
Drop
ドロップフレーム数と(+)ドロップ、(-)ドロップの3つを表示します。
(+)と(-)は既存のアマレコTVと同じで、音ズレ処理により調整されたフレーム数をカウントします。
一方、一番左に表示されるドロップフレーム数は既存のアマレコTVと内容が異なり、アマレコTV 4では(4)のリングバッファがいっぱいで書き込むことができなかったフレーム数をカウントします。
この値は通常0となるので、もし1以上になっていたら異常と思ってください。
(+)と(-)は必ずと言っていいほど生じますので1以上になっていても問題ありません。
HDD
1秒間にHDDへ書き込むデータ量(フローの7)と書込みバッファの使用率(フローの6)を表示します。
1秒間に書き込むデータ量は既存のアマレコTVと変更ありません。
書込みバッファの使用率については、既存のアマレコTVでは空き具合を表示していましたが、アマレコTV 4では使用率なので読み方が真逆になることに気をつけてください。
使用率については録画開始直後は0%から始まり、ファイル処理が滞ると徐々に数値が増えていきます。50%を超えるなど数値が大きいほど具合が悪いとなります。
これは、録画ステータス全体を通して「数値が大きくなる = 悪い状態」となるよう統一するための変更です。
CPU
これも既存のアマレコTVから内容が変わります。
今まではエンコード時間から算出していましたが、アマレコTV 4では総合的なCPU使用率(ほぼタスクマネージャのCPU使用率と同じ)を表示します。
これにはエンコード処理だけでなくアマレコTVの処理全体、さらには他のアプリケーションの処理まで加味されます。
また、次に説明するエンコードの処理時間が規定時間の50%を超える場合、このCPU使用率は999%と表示されます。
Enc
エンコードの処理時間(ビデオコーデックが1フレーム処理するのにかかる平均時間)とビデオコーデックの名前を表示します。
これらは既存のアマレコTVと同じ内容を表示します。
なお、規定時間は例えば60fpsで録画する場合、約16msです。エンコード処理時間が規定時間を超える場合は完全にPCのスペック不足です。
既定の処理時間の50%を超えた場合、CPUの使用率が999%となります。
3.分析方法
フローの下流から異常がないか確認します。
(1) まずは、HDDのステータスで書込みバッファの使用率が高くないか(50%を超えていたら危ない)確認します。
・使用率が高いなら2へ
・低く推移しているなら3へ
(2) 1秒間にHDDへ書き込むデータ量が妥当かどうか見ます。
書き込む量が多く(100MB/s程度)て使用率が高くなっている場合は純粋にスペック不足です。
・アマレコTVの高度な設定で書込みバッファのバッファサイズを大きくする
・ビデオコーデックの設定で圧縮効果の高いものを選択する
・ビデオコーデックそのものをもっと高圧縮なものへ替える
・HDDのスペックを上げる
・アマレコTVの録画設定のフレームレートの目安を下げる

書き込む量が少ない(50MB/s程度)のに使用率が高いようならHDDが壊れているなどを疑う必要があります。
・別のドライブで録画する
まずは、書込みバッファの使用率が低くなるようにするにはどうしたら良いかを考えてください。
ここを改善できないとどうにもなりません。
(3) CPUステータスを確認する
・999%となっていたらCPUのスペック不足です。 4へ
・50%以下なら問題ありません。5へ
(4) CPUステータスが999%となっていたらCPUのスペック不足です。
・ビデオコーデックの設定でもっと高速な処理を選択する
・ビデオコーデックがマルチスレッドに対応しているならその設定を見直す
・ビデオコーデックそのものを高速なものに替える
・アマレコTVの録画設定のフレームレートの目安を下げる
・CPUのアップグレード
(5) Dropステータスを確認します。
Dropが0なら問題ありません。
Dropが1以上になるならどこか問題があります。もう一度1から確認してください。
(+)と(-)は環境にもよりますが1分に1くらいのカウントアップはしょうがないかも知れません。
ちなみにキャプチャするビデオ信号が60Hzで、ビデオキャプチャカードの設定が59.94fpsと設定に食い違いがあると、
約16秒毎に1フレーム誤差が生じるので、16秒ごとに(+)か(-)がカウントアップします。
4.高度な設定
録画フローに関する設定はアマレコTV 4の高度な設定にある録画詳細設定で行えます。

書込みバッファ:フロー6の書込みバッファの量を設定します。
書込みブロック:フロー7のまとめて書き出すデータサイズ 設定値が8MBなら書込みバッファに8MB以上データが溜まっていたら8MBずつファイルへ書き出します。
リングバッファサイズ:フロー4のリングバッファの量を設定します。
- 関連記事
-
- アマレコTV Win8でオーバーレイを使って遅延軽減
- アマレコTV質問★要望★不具合報告・コーナー その2
- Windows10について
- アマレコTV 4 新録画エンジン
- アマレコTV 4 再エンコード支援の効果
- アマレコTV 4 新デスクトップキャプチャ
- アマレコTV 4 Intensity Pro 4K RGBキャプチャ対応
- アマレコTV 4 録画ステータス
- アマレコTV 4 新オーディオレンダラー
- アマレコTV4 ライブ機能(簡易版)
- アマレコTV4 ベータ版公開
- くるくるベンチ DirectShow 64bit版
- アマレコTV4 Live 正式版公開
- アマレコTV4 中間報告 録画エンジンの刷新 MonsterX3A 二枚挿し
- アマレコTV4 Ver4.10 ブログ先行公開 録画エンジン刷新 MonsterX3A対応など
trackback
コメントの投稿