アマレコTV4 Ver4.11 正式公開

ホームページにてアマレコTV4の最新版 Ver4.11を公開しました。
内容はエラー表示の変更のみでブログで先行公開したVer4.10と同じです。
また、オンラインヘルプの方もVer4.11に合わせて更新しています。

【Ver4.10 更新内容】
(1) 録画処理をフレームベースからタイムベースに変更
(2) ビデオソースフィルター上のオーディオキャプチャPINを使う「Embedded on Video Capture Device」を追加
(3) SKNET MonsterX3A へ対応
(4) 動作対象OSにWindows10 64bitを加えた
(5) 高度な設定に録画開始してすぐに停止した場合(録画時間が短かった場合)に録画したファイルをテンポラリフォルダへ移動するオプションを追加
(6) 設定画面の全般の保存先フォルダの履歴を保存して過去に使ったフォルダを簡単に選択できるようになった
(7) AMV4ビデオコーデック Ver4.10が必要
(8) ビデオキャプチャカードのドロップステータスがレポートファイルに反映されないのを修正
(9) カスタムフィルターのメモリーリークを修正
(10) デスクトップキャプチャフィルターのメモリーリークを修正
(11) デスクトップキャプチャでフレームの順序が狂う不具合を修正
(12) 設定画面のプレビューのアスペクト比を「指定値」にして設定画面から戻るとエラー落ちするのを修正
(13) アマレコTV4終了時にアクセスバイオレーションになる場合がある不具合を修正
(14) 録画設定に「音声遅延」を追加

【Ver4.11 更新内容】
(1) オーディオキャプチャデバイスが見つからない場合にエラー扱いにした


【オンラインヘルプ主な変更点】
設定例にMonsterX3Aを追加
設定例のGV-USB2のオーディオデバイスをEmbedded on Video Capture Deviceに変更
FAQにMonsterX3Aを追加

オーディオキャプチャデバイスの扱いが本バージョンから変わりました。
今までビデオキャプチャデバイスと同じキャプチャデバイス名を選択していたものは Embedded on Video Capture Device を選択する必要があります。
(原則、ビデオキャプチャデバイスと同じキャプチャデバイス名は選択肢として表示されません)

Intensity Pro や SC500系、XCapture-1 はビデオキャプチャデバイスとオーディオキャプチャデバイスが異なるため該当しません(今まで通り、それぞれのデバイス名を選択する)が、GV-USB2 と MonsterX3A は Embedded on Video Capture Device となります。

以上となります。


アマレコTV4 Ver4.10 ブログ先行公開 録画エンジン刷新 MonsterX3A対応など

【更新内容】
(1) 録画処理をフレームベースからタイムベースに変更
(2) ビデオソースフィルター上のオーディオキャプチャPINを使う「Embedded on Video Capture Device」を追加
(3) SKNET MonsterX3A へ対応
(4) 動作対象OSにWindows10 64bitを加えた
(5) 高度な設定に録画開始してすぐに停止した場合(録画時間が短かった場合)に録画したファイルをテンポラリフォルダへ移動するオプションを追加
(6) 設定画面の全般の保存先フォルダの履歴を保存して過去に使ったフォルダを簡単に選択できるようになった
(7) AMV4ビデオコーデック Ver4.10が必要
(8) ビデオキャプチャカードのドロップステータスがレポートファイルに反映されないのを修正
(9) カスタムフィルターのメモリーリークを修正
(10) デスクトップキャプチャフィルターのメモリーリークを修正
(11) デスクトップキャプチャでフレームの順序が狂う不具合を修正
(12) 設定画面のプレビューのアスペクト比を「指定値」にして設定画面から戻るとエラー落ちするのを修正
(13) アマレコTV4終了時にアクセスバイオレーションになる場合がある不具合を修正

■録画処理については前回の記事を見てください。
■「Embedded on Video Capture Device」も前回の記事で紹介した「Video Capture Device」と同じものです。


■MonsterX3Aへの対応
MonsterX3Aを複数枚同時に運用できるようになりました(※)。また、MonsterX3Aにビデオ信号が入力されていない場合にアマレコTVが数分間応答なしになってしまうのを大幅に軽減します。ただし、MonsterX3Aの都合ですので根絶とはなりません。

複数枚挿しで使っていない方のMonsterX3Aにビデオ信号が入力されていなくても 応答なしとはなりませんが、使おうとしているMonsterX3Aにビデオ信号が入力されていないと応答なしになってしまいます。
なお、応答なしになった場合の復旧するまでの時間は全体的に短くなります。


SKNET MonsterX3A 3枚挿しの例 (Windows 10 Home 64, Ryzen 7 1800X, MSI B350 TOMAHAWK, GeForce GTX 650)
settei_20171001222708cfa.png
ビデオキャプチャデバイスで3枚のMonsterX3Aを選択可能。オーディオキャプチャデバイスはいずれも「Embedded on Video Capture Device」を選択。
アマレコTV4を3つ用意してそれぞれ異なるMonsterX3Aを選択すれば3系統同時にプレビュー&録画可能です。

※ MonsterX3A自体は複数枚差し対応を謳っていません。複数枚差しについては自己責任での運用となります。


■テンポラリフォルダへ移動する
sette_temp.png

録画を開始した直後に設定ミスなどに気が付いて、撮りなおしをすることがあるかと思います。
その場合に録画時間が短かったファイルをテンポラリホルダー(録画先フォルダに「Temp」が作成されます)へ移動します。


■保存先フォルダの履歴
sette_path.png

24時間録画するような運用で1日目はAドライブ、2日目はBドライブ、3日目はまたAドライブと毎日録画先ドライブを変更するような場合に重宝します。


■録画設定:音声遅延
settei_delay.png

録画したビデオファイルの音声を映像に対し意図的に遅らせたり、進める(映像を遅らせる)ことができます。
通常は0ミリ秒としてください。


■ダウンロード
アマレコTV4 Ver4.10


不具合などありましたら、この記事のコメント欄に書き込んでいただけると助かります。
特に問題がなければ、このバージョンを正式版としてホームページで公開する予定です。



アマレコTV4 中間報告 録画エンジンの刷新 MonsterX3A 二枚挿し

開発中のアマレコTV4の中間報告です。

■録画エンジンの刷新
現在、アマレコTV4の録画エンジン(フレームベース)をスーパーアマレココで採用した録画エンジン(タイムベース)のものへ置き換える作業を行っています。まだ、実装途中ですが良い結果が得られたので紹介します。


【テスト1】 アマレコTV4 v4.05(4.01と同等) MonsterX3A で ノートPCのHDMI出力(FHD 1080 30p)をキャプチャ

VT=10:02:33.965s(1083485f), Cap=1086163f( 0D), Drp=0, (+)372, (-)187
VT=10:02:33.999s(1083486f), Cap=1086164f( 0D), Drp=0, (+)373, (-)187
VT=10:02:51.765s(1084018f), Cap=1086695f( 0D), Drp=0, (+)373, (-)187
VT=10:02:51.799s(1084019f), Cap=1086697f( 0D), Drp=0, (+)373, (-)188
VT=10:02:51.833s(1084020f), Cap=1086698f( 0D), Drp=0, (+)373, (-)188


この結果は、私が所有する環境の中でキャプチャカードとキャプチャ元となるビデオ信号の組み合わせにおいて最も悪い結果が出るケースとなります。10時間ほど録画した際のレポートファイルの一部を抜粋したもので、簡単に内容を説明すると

・2行目 10時間2分33秒あたりで音声データが多く画像枚数が少ないと判断して1フレーム水増しした(プラスのドロップ)
・4行目 その後、10時間2分51秒あたりになると 逆に画像枚数が多くなり過ぎて音声データが少ないと判断して画像を1フレーム間引いた(マイナスのドロップ)

となっています。これは最初のフレームの水増しをやめておけば、その後の間引きを防げるので、数十秒や数分と言った長いスパンで見れば相殺できるケース(補正の必要がないケース)です。
理想としては、プラスとマイナスを相殺して、10時間録画した時点で水増し185フレーム、間引きゼロフレームとなってほしいところですね。


そこで、新しい録画エンジン(タイムベース)に変えてテストした結果が次のようになります。

【テスト2】 アマレコTV4 v4.10(開発中) MonsterX3A で ノートPCのHDMI出力(FHD 1080 30p)をキャプチャ

VT=10:00:21.445s(1079525f), Cap=1116752f, Drp=0, (+)185, (-)0, GapAvg=-28ms(-29)


見事、10時間録画しても間引きフレームのないパーフェクトな結果が得られました。

繰り返しになりますが、このケースはキャプチャカードとキャプチャ元のビデオ信号の組み合わせにより、アマレコTV4にとって あからさまに都合の悪い場合の話です。同じキャプチャカードでもビデオ信号が変われば既存のアマレコTV4で10時間録画しても相殺すべきフレームは0から数フレームに収まります。

【テスト3】 ビデオ信号をHD 720pに変えた例 アマレコTV4 v4.05(4.01と同等) MonsterX3A で ノートPCのHDMI出力(HD 720 60p)をキャプチャ(録画は30p)

VT=10:01:47.782s(1082127f), Cap=1926197f( 0D), Drp=0, (+)137, (-)0


ビデオ信号が変わったためドロップの傾向も変わっていますが、同じMonsterX3Aと既存のアマレコTV4でもほとんどのケースで打倒な結果が得られていることが判ります。

このようにアマレコTV4の次のバージョンではプラスとマイナスの両方のドロップが生じるケースを改善し、そのほとんどを相殺してより理想に近い(余計なフレームの水増しと間引きが無い)録画環境を実現できます。


■SKnet社のMonsterX3Aの二枚差しに対応
MonsterX3Aを二枚挿すと画面下部のオーディオキャプチャデバイスを選択するリストで
同じデバイス名 SKNET MonsterX3 HD Capture(Path 0)が2つ出てきてしまい、上手く識別できません。
amarectv4v410video_capture_device.png

次のバージョンではオーディオキャプチャデバイス欄に(Video Capture Device)が追加されます。
(Video Capture Device)を選択すると、上のリストのビデオキャプチャデバイスで選択したデバイスに組み込まれたオーディオキャプチャデバイスを使うようになりますので、オーディオキャプチャデバイスが同じデバイス名になってしまう場合でも二枚差しでの運用が可能となります。


【注意】
・MonsterX3Aは二枚差し対応を謳っていません。二枚差しについては自己責任でチャレンジしてください。
・MonsterX3AはFull HD 1080 30p対応を謳っていません。

二枚差しおよび、FHD 30pともにSKnetのHPで公開されている現時点での最新版ドライバ(Ver1.0.6.6)にて私のところではできるようになりました(製品付属CDのドライバではできなかったと思う)が、皆さんの環境でできる保証はありません。いずれも自己責任となり、自力でやりくりすることになります。
monx3a_driver.png


アマレコTV4 Live 正式版公開

アマレコTV4 Liveの正式版をホームページで公開しました。
ベータ版からの主な違いは次の通りです

AmaRecTV4 Ver4.01
・オンラインヘルプ
・デスクトップキャプチャの録画範囲が半分以上モニターからはみ出すと打開不能になるのを修正
・krkrbenchi でVIDEOINFOHEADER2を使うとアマレコTV4がエラー落ちするのを修正
(アマレコTV4はVIDEOINFOHEADER2非対応なので使えない エラー落ちしなくなっただけ)
・Windows7でビデオレンダラーが自動になっているとエラーになるのを修正
・録画詳細設定に「書込みバッファがいっぱいになったら録画を止める」を追加
・ベータ版の設定ファイルと互換性がありません。

FAQ
録音デバイスと再生デバイスのフォーマットが合わない場合について
・異なるフォーマットを再生できるかどうかは再生デバイス次第です。
サンプリングレートがあっていなくても再生できる場合もあります。
・オーディオレンダラーを排他モードに設定すれば再生デバイスのフォーマットは関係なく再生できるようです。
オンラインヘルプ


くるくるベンチ DirectShow 64bit版

くるくるベンチ for DirectShowの64bit版です。
アマレコTV4などの64bitのビデオキャプチャソフトで使えるビデオソースフィルターです。
krkrbenchi64.png

4K設定も追加してあります。
krkrsettei.png

注意
アマレコTV4でVIDEOINFOHEADER2を使うとエラー落ちします。


ダウンロード
くるくるベンチ for DirectShow Ver4.00


アマレコTV4 ベータ版公開

お待たせいたしました、アマレコTV4のベータ版を公開します。
オンラインヘルプはまだなので、自力でやりくりできる方が対象となります。


【主な内容】
(1) Windows8.1 64bit 完全対応
(2) 新録画エンジン (修復不要、再エンコード支援など)
(3) 新デスクトップキャプチャ (Desktop Duplication API)
(4) 新オーディオレンダラー (Core Audio API)
(5) Intensity Pro 4K RGBキャプチャ対応


【未実装】 (後々対応予定)
(1) オーディオミキサー
(2) リプレイ機能
(3) ライブ機能(完全版)
(4) プレビューの画面回転、ラインダブラー


【その他】
・ライブ機能は簡易版となります。
アマレコTV4 ライブ機能(簡易版)
・AMV4ビデオコーデックのライセンス登録がされていない場合は録画した映像にロゴが入ります。
・SSE4.1に対応したCPUが必須となります。
・対応OSはWindows8.1 64bitのみとなります。
・32bit版のOSでは実行できません。
・Windows7 使えないことは無いと思いますがデスクトップキャプチャやオーバーレイレンダラーなど使えない項目があります。
・Windows10 PCに詳しい人なら使えるんじゃないでしょうか。
Windows10について 
Windows10のWMPでAVIファイルが再生できない 
・オーディオキャプチャデバイスのサンプリングレートと再生デバイスのサンプリングレートが一致していないと音のプレビューができ無い場合があります。
・録画時にMP3で圧縮するには64bitに対応したMP3エンコーダーが必要です。入手困難なので実質MP3の圧縮はできないものと思ってください。
・今回のバージョンにはオーディオミキサーが含まれません。そのためアマレコTV4単体での実況動画の作成はできません。
・録画開始やスクリーンショットのホットキーの割り当てが変わりました(CTRL押しながらだとOSの機能と被るのでAltに変更しました)
・起動オプション追加(-path:、-nodate)


【廃止項目】
・HWデインターレース
・GV-USBおよびSC500に対する色補正
・CDU(Capture Device Utility)
・信号検出
・アロケーターチェック
・nullフレーム録画
・アナログチューナー機能


【改善されると思われる不具合】
・録画終了時の書込みエラー。
・アマレコTVを起動するとものすごい雑音が流れる、一度ミュートすると治る。
・Hキーでオンラインヘルプを表示すると、ヘルプを閉じても閉じてもヘルプが表示されてしまう。
・録画中だけプレビューがカクカクするまたは止まってしまう(改善されるか半信半疑)。
・設定画面等のボタンがはみ出してて押せない (GUIのレイアウトが崩れる)。


【起動オプション】
-path:"d:\movie"
  dドライブのmovieフォルダに動画を保存します。
  アマレコTVの保存先1の設定は無視されます。

-nodate
  ファイル名に日付をつけません。


【ダウンロード】
アマレコTV4 Ver4.00 ベータ版


不具合などありましたら、この記事のコメント欄に書き込んでいただけると助かります。


アマレコTV4 ライブ機能(簡易版)

今回のアマレコTV4のライブ機能は簡易版となります。
アマレコTV4のほかにアマレコTV Ver3.10のライブ機能(正確にはAmaRec Video CaptureフィルターとAmaRec Audio Captureフィルター)が必要となりますので、事前に「live_setup300.exe」をインストールしてください。

このブログを見ている人は既にライブ機能をインストールしていると思いますし、使い方もマレコTV Ver3.10と同じなので戸惑うことは無いと思います。
000live.png

アマレコTV Ver3.10に同梱されている「live_setup300.exe」が必要
100live_setup300.png


【簡易版の制限事項】
リサイズ
リサイズはできません。
キャプチャした画像サイズをそのまま扱います。
クロップ、アスペクト比の調整もないので配信ソフト側で調整してください。

ライン
映像、音声ともライン1に固定されます。

対応アプリケーション
アマレコTV4自体は64bitアプリケーションですが、アマレコTV Ver3.10に同梱されているライブ機能(のフィルター)は32bit版です。従って、映像や音声を受け取れるアプリケーションは32bitのアプリケーションのみとなります。



プログラムの方は一通り完成したのでベータ版を近々ブログで先行公開します。
その後は、ユーティリティソフトの公開などしつつ、不具合修正&オンラインヘルプを作成し、最終的にホームページにて正式版公開となります(2月下旬予定)。


アマレコTV 4 新オーディオレンダラー

音を再生(プレビュー)するオーディオレンダラーがアマレコTV 4で新しくないります。
今までのアマレコTVではWindows95のころから使われていたwaveOut APIを使って音を再生していましたが、新オーディオレンダラーではCore Audio APIに変わります。オーディオレンダラーに限らずアマレコTV 4では音に関する録音・再生処理のすべてをCore Audioで実装してあります。

Core Audio APIを使って音を再生することにより
・反応時間(レイテンシ、再生遅延)の軽減
・音質向上?
と言ったメリットがあるらしいです。

音質の向上については一般的に「排他モードを使うことでカーネルミキサーを通さずビットパーフェクトを達成できるので高音質になる」とされていますが、アマレコTV自体で扱う音の質がそもそもそこまで良くないと思いますので猫に小判と言った感じです。
反応時間の軽減については検証を行っていませんが、ステータスを見る限りではwaveOut APIより少ない反応時間でも安定した再生を行えますのでこの分部が新オーディオレンダラーの優位性となります。


オーディオレンダラーに関する項目はアマレコTVの高度な設定にあります。
config_2016021223052666c.png

今まで通り、再生デバイスと、配信デバイスの最大2系統でアマレコTVの音を再生することができます。

排他モードのチェックボックスをONにするとCore Audioの排他モードを使って再生します。
排他モードにするとOSのカーネルミキサーを通さないためその部分の音質低下を防げるとされています。
ただし、排他モードにするとアマレコTVの音しか再生できなくなります(他のアプリケーションの音は再生できなくなる)。
アマレコTVが再生デバイスを独占するため”排他モード”と言うことになります。
ちなみに、排他モードでない場合を”共有モード”と言い、様々なアプリケーションの音をカーネルミキサーがミキシングして一つの再生デバイスで再生するらしいです。

アロケータに関する設定はビデオキャプチャカードを使う場合ほぼ意味がない(変更できない)ので廃止にしようかと思いましたが、実験用に設定を残しました。通常OFFで使ってください。

再生プロパティ・配信プロパティ
各オーディオレンダラーの設定画面を表示します。
なお、各オーディオレンダラーの設定値は共通となるので別々の設定値にすることはできません。最後に設定した値が有効となります。


新オーディオレンダラーのプロパティ
renderer_20160212230525e39.png

【設定項目】
・バッファサイズ
100msから1000msの間で設定できます。通常200msから変更する必要はありません。
右側に表示されている「バッファ実サイズ」は実際にcore Audioが確保したバッファサイズです。設定通りに確保してくれない場合があるので確認用として表示しています。

・目標反応時間
最も重要な反応時間(レイテンシ、再生遅延)の設定です。反応時間を大きくすると遅延が増えますので基本的には小さく調整します。
ただし、反応時間が小さくなり過ぎるとプチプチノイズが生じますので、ノイズが目立たない範囲を見極めて設定してください。
実際の反応時間は画面下部に表示しています。上図だと目標が40msで現在36msの遅延(36ms分のデータが再生バッファに溜まっている)で音が再生されています。

・許容範囲1
・許容範囲2
目標値からどの範囲を許容するかの設定です。
反応時間が目標値とぴったり一致していなくても許容範囲に収まっているうちは補正を行いません。
許容範囲を超えた場合は目標値になるよう音データを補正します。この時(補正中は)音質が低下します。
補正中は画面下部の「補正回数」がどんどん増えていくので、今補正しているかどうかは補正回数で判断してください。

許容範囲1は狭い範囲の設定で補正もほとんどわからないように処理されます。
許容範囲2は広い範囲の設定で、許容範囲を超えた場合、かなり強引に補正しますので音質低下が目立ちます。その代り素早く目標値まで持っていけます。

・最低バッファリング
許容範囲の設定値によっては、許容範囲の下限が0となってしまったり、マイナスになることがあります。
その状態だと補正できないので、この値を下回った場合は僅かに補正して目標値まで持っていきます。

設定例1
range1.png

目標反応時間:40ms
許容範囲1:10ms
許容範囲2:40ms
最低バッファリング:10ms
の場合、反応時間が30msから50msの範囲にあるうちは補正を行いません。
29ms以下、もしくは、51ms以上になったら反応時間が40msとなるまでほんの少しずつ補正を行います。
もし、反応時間が81msを超えた場合は短時間で反応時間が40msとなるよう強引に補正します。
最低バッファリングは先に許容範囲1の下限が働くのでこの場合意味を成しません。


設定例2
range2.png

目標反応時間:10ms
許容範囲1:10ms
許容範囲2:40ms
最低バッファリング:5ms
の場合、許容範囲1と許容範囲2の下限がそれぞれ0以下なのでいずれも働きません。
その代りに反応時間が5msを下回った時に最低バッファリングが働き10msになるまでほんの少しずつ補正を行います。


【画面下部のステータス表示】
・反応時間
現在の反応時間です。この値は再生バッファに溜まっている(再生待ちの)データ量から算出しています。
最小値、最大値はそれぞれプロパティを表示してからの最小値と最大値を表示します。

・補正回数
補正を行った回数を表示します。補正を行っている最中はこの値がどんどん増えていきます。

・ドロップ
再生バッファにデータが溜まり過ぎてデータを捨てた回数を表示します。
通常0となります。もし、この値が1以上になるようならバッファサイズを増やす必要があるかもしれませんが、まともに音を再生できる環境ではない可能性が高いです。

・デバイスロスト
HDMIなどでリンクが切れて再生デバイスが使えなくなった場合にカウントされます。

・統計リセットボタン
最小値、最大値、各カウント値をリセットします。

・受け取ったサンプル
実際のアロケータサイズを表示します。

・デフォルトボタン
オーディオレンダラーの設定値を初期値に戻します。



2016.2.13追記
新オーディオレンダラーではキャプチャデバイス(キャプチャカード)のサンプリングレートと再生デバイスのサンプリングレートを一致させる必要があります。

一致しない場合は接続エラーとなります。
formaterror.png

OSの設定で再生デバイスのサンプリングレートを合わせて下さい。

もしくは、アマレコTVの高度な設定の「フォーマットエラーを無視する」をONにすると音のプレビューはできませんが、録画等そのほかの機能は使えるようになります。
through_error.png


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

録画中に表示するステータスの内容がすこし変わるのでその説明です。
400rec.png

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

1.アマレコTV 4の録画処理フロー

flow.png

キャプチャカードは画像データをアロケータに入れてカスタムフィルターへ渡します(参照渡し)。

カスタムフィルターはアロケータの内容をレンダラーのビデオメモリへコピーします。
これが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の録画設定のフレームレートの目安を下げる
500rec_fps.png

書き込む量が少ない(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の高度な設定にある録画詳細設定で行えます。
501adv.png
書込みバッファ:フロー6の書込みバッファの量を設定します。
書込みブロック:フロー7のまとめて書き出すデータサイズ 設定値が8MBなら書込みバッファに8MB以上データが溜まっていたら8MBずつファイルへ書き出します。
リングバッファサイズ:フロー4のリングバッファの量を設定します。




アマレコTV 4 Intensity Pro 4K RGBキャプチャ対応

現行のアマレコTVでIntensity Pro 4Kを使ってRGBキャプチャするとカラーフォーマットが対応せず録画できなかったり、プレビュー映像が上下反転するなどで上手く使えませんでした。

アマレコTV 4はIntensity Pro 4KのRGBキャプチャにも対応するので、YUVだけでなくRGBによる録画やプレビューが可能となります。
main_2016020519510358d.png



Intensity Pro 4Kではビデオソースフィルタ(アマレコTVで言うところのキャプチャデバイス)が2つ登録されて、使えるカラーフォーマットが多少異なります。
・Blackmagic WDM Capture   YUV10bit  YUV8bit  RGB10bit  RGB8bit
・Decklink Video/Audio capture  YUV10bit  YUV8bit  RGB10bit

Blackmagic WDM Capture
settei_wdm.png

Blackmagic WDM Captureの場合RGB32(RGB 8bit)またはR210(RGB 10bit)でキャプチャできます。ここではRGB32(RGB 8bit)の場合を説明します。
R210については後に紹介するDecklink Video Captureと(アマレコTV的には)同じです。
なお、YUV系に関しては現行のアマレコTVと同じですのでこの記事では省略します。

graph_wdm.png

具体的な動作としてはアルファチャネル付のARGB(内容はRGB32と同じ)としてアマレコTVのカスタムフィルタに渡されるので、サブタイプをRGB32へ書き換えることで対応しました。
フレームデータの内容はおそらく同じなのでヘッダ情報だけ書き換えます。余計な変換処理はアマレコTVの方では行っていません。



Decklink Video/Audio capture
settei_decklink.png

こちらはRGB32(RGB 8bit)が使えません。R210(RGB 10bit)専用となります。
YUV系に関しては現行のアマレコTVと同じですのでこの記事では省略します。


graph_decklink.png

R210(RGB 10bit)をAVI DecompressorがRGB32(RGB 8bit)へ変換して動作します。
従って、プレビューに表示される内容も、録画もRGB 8bitのクオリティとなります。


どっち使ったらいいの?
Decklink Video/Audio captureの方は確実に10bit-8bit変換が行われるのでビデオ信号が8bitだった場合、この処理が無駄と言えます。
同様のケースでは、Blackmagic WDM Captureを使った方が無駄がなく無難に見えますが、ビデオソースフィルタの内部で変換処理を行っているかもしれないので、結局何とも言えません。
どちらも同じように使えるので、どっちでもいいのかなと思います。
とはいえ、両方について説明したり、両方で動作確認するなどは面倒なので、特に根拠はないけど私が使うのはDecklink Video/Audio captureです。





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

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

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



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

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

ブログ内検索
月別アーカイブ
アマレココに関するリンク
お世話になっているソフトのリンク
RSSリンクの表示
管理画面
  • 管理画面