IO DATA社製 フルHDキャプチャカード GV-USB3/HD

IO DATA社からUSB3.0接続のフルHDキャプチャカード「GV-USB3/HD」(以下GV-USB3)のサンプル品を頂きましたので早速使ってみました。
なお、私はアマレコTVの作者なのでアマレコTV上でGV-USB3を使う場合の話が中心となります。

パッケージ
101パッケージ

内容物
102内容


アマレコTV4 Ver4.11の設定例 フルHD(1920x1080p) 59.94Hzの場合
201アマレコデバイス設定

デバイスは「GV-USB3」と書かれているものを選択します。
入力端子はHDMIのみなので選択肢はありません。
フォーマットの中では「fcc=YUY2」のものを選択します。なお、RGBを選択してもRGBでキャプチャできるわけではありません(YUV422でキャプチャしたものをRGBへ変換するだけのようです)。



なお、キャプチャ元となるビデオ信号(リフレッシュレート)が60Hzの場合は
202_video60hz.png

アマレコTV4のフォーマット欄でfps=60.00のものを選択します。
203アマレコデバイス設定60p

204_60hz59hz.png

60Hzのビデオ信号を59.94fpsで録画すると(59.94Hzを60fpsで録画する場合も)大きな問題とはなりませんが、約16秒毎に音ズレ補正が生じます。
この場合、約16秒毎に(-)のドロップがカウントされ、1フレーム間引かれます。



■動作確認
Intel Haswell Core i7とAMD Ryzen R7のPCで動作確認を行いました。

 PC1
Intel Haswell
PC2
AMD Ryzen
OSWindows 8.1 x64 ProfessionalWindows 10 x64 Home
CPUIntel Core i7-4770 3.40GHzAMD Ryzen 7 1800X 3.6GHz
マザーボードASRock H87 PerformanceMSI B350 TOMAHAWK
メモリDDR3 8GB(4GBx2) 1600MHzDDR4 16GB (8GBx2) 2800MHz
ビデオカードNVIDIA GeForce GTX 1050 TiNVIDIA GeForce GTX 650

GV-USB3の接続はPC背面にあるマザーボード上のUSB3.0端子を使っています。
また、GV-USB3以外のUSB3.0デバイスは接続していません。
キャプチャ元となる映像機器はノートPCのHDMI出力 1080p 59.94Hz

いずれも数時間程度使ってみましたがあっさり動作しトラブルは発生しませんでした。
・デバイスマネージャに表示されないと言ったことはありませんでした。
・動作している最中にデバイスが切断されることもありませんでした。
・PCの再起動でデバイスを見失うこともありません。

ただしPC2 Ryznのパソコンでは1時間の録画の間に数フレームの取りこぼし(GV-USB3からアマレコTV4へフレームが送られてこない)が起こることがありました。1時間録画して取りこぼしゼロの場合もありましたので、その時のPCの状態に左右されると言ったところでしょうか。
なお、PC1 Haswellでは1時間の録画テストを何度か行いましたがGV-USB3が原因と思われるフレームの取りこぼしは確認されませんでした。


フレーム取りこぼしについて

PC2 Ryzenにて録画したときのアマレコTV4のレポートファイルの一部
301ryzen_drop.png

vd=で始まる行がキャプチャカードからフレームを受け取った際の情報で、前のフレームを受け取ってからの経過時間(インターバルタイム)などが記録されています。
VT=で始まる行が録画処理に関する情報で、音ズレ補正等の情報が記録されています。

vd=00:03:13.635s( 35ms)の行は前回フレームを受け取ってから35ms後にフレームを受け取っています。59.94Hzのビデオ信号をキャプチャしているので、通常16.6ms間隔でフレームを受け取ることになりますが、この時は1フレーム取りこぼしたため16msではなく35msとなっています。
続いて、VT=00:03:13.770s( 11606f)の行は録画に関する情報ですが、先の取りこぼしを受けて音ズレしないよう1フレーム水増ししています。
こんな感じでこの録画テストでは約1時間40分録画して、9フレームの取りこぼしがありました。




■同梱のキャプチャソフトについて
GV-USB3には「HD Mix Capture」と言うキャプチャソフトが同梱されています。
GPUエンコーダーに対応していたり、webカメラの映像を合成したり、マイクの音をミキシングすることができるため実況動画を作るのに便利なキャプチャソフトとなっています。
使い勝手も良く好印象ですが、CPU負荷が高いとの指摘がされているのでそのあたりを調べてみました。


キャプチャソフトを起動してプレビューしている状態のCPU負荷(PC1 Haswell)
キャプチャソフトCPU負荷スクリーンショット
GV-USB3 HD Mix Capture
Ver 1.00
10 - 11%401gvusb3prev.png
GV-USB3 HD Mix Capture
Ver 1.00
フルスクリーン
21 - 26 %402gvusb3fullscreen.png
アマレコTV4
Ver4.11
オーバーレイレンダラー
3 %403amarec_prev.png


HD Mix Captureのプレビューは1分程度眺めていると何度かくるくるベンチDX11の動きがガクガクします(HD Mix Captureの表示フレームレートは安定しない)。
また、HD Mix Captureをフルスクリーンにすると更にCPU負荷が高くなるようです(タスクマネージャのグラフの盛り上がっている分部がフルスクリーン状態)。なんとなくフルスクリーンにすることで表示フレームレートが安定する気がしますが、やはりガクガクする様子が見て取れます。
アマレコTV4はオーバーレイレンダラーを使っているためスクリーンショットに映りませんが、表示フレームレートは安定しています。
アマレコTV4でもEVRを使うとHD Mix Captureと同様に表示フレームレートは不安定になります。



録画中のCPU負荷 1080p 59.94fps 録画時間 約60秒(PC1 Haswell)
キャプチャソフト録画処理コーデック設定CPU負荷ファイル
サイズ
約1分録画
スクリーン
ショット
GV-USB3
HD Mix Capture
Ver 1.00
CPUソフト
エンコ
最高
画質
30 %約 124 MB501gvusb3cpu.png
GPUQSV最高
画質
13 - 15 %約 224 MB502gvusb3qsv.png
GPUNVEnc最高
画質
11 - 12 %約 64 MB503gvusb3nv.png
アマレコTV4
Ver4.11
CPUAMV4DS35 %約 1940 MB504amarec_amv4ds3.png

HD Mix Captureはキャプチャソフトを起動してプレビューした状態でCPU負荷がやや高いです。
アマレコTV4+AMV4は可逆圧縮なので高画質な代わりにファイルサイズが大きくなります。

CPU負荷がやや高いけど、高画質でファイルサイズを小さくできるHD Mix Captureに対し、ファイルサイズは大きくなるけどCPU負荷が低く完璧な画質のアマレコTV4と言ったところでしょうか。



■録画時のフレーム取りこぼしについて
他のPCで実行しているくるくるベンチDX11の様子を フルHD 1080p 59.94Fpsで1分間録画して約3600フレームのうち同じ画像が何枚録画されているか確認してみました。
くるくるベンチDX11はフレームカウント値が毎フレーム更新されるため、正常であれば同じフレーム画像は一枚も録画されません。

録画時のフレーム取りこぼし(PC1 Haswell)
キャプチャソフトコーデック設定全フレーム数検出された
同じ画像数
割合
GV-USB3
HD Mix Capture
Ver 1.00
ソフトエンコ最高画質3661 Frame368 Frame約 10 %
QSV最高画質3711 Frame223 Frame約 6 %
NVEnc最高画質3649 Frame172 Frame約 4 %
アマレコVT4
Ver4.11
AMV4DS33724 Frame1 Frame約 0 %


HD Mix Captureについてはかなり厳しい結果です。
アマレコTV4は動画の1フレーム目と2フレーム目が同じ画像でした。録画開始直後はどうしても不安定になるため冒頭の重複フレームについてはしょうがないと言ったところです。

先にも書きましたが、アマレコTV4を使えばGV-USB3を使って1時間録画してもフレームの取りこぼしゼロ(ないしは数フレーム)と言った結果ですのでGV-USB3自体はしっかりしたキャプチャカードと感じますが、同梱のHD Mix Captureに関してはちょっと厳しいと感じました。



■まとめ
GV-USB3自体
・USB3.0で危惧される相性問題は私のところでは発生しなかった
・アマレコTV4にて59.94Hz、60.00Hz両方可(選択可)
・画面の端が取り込めない(欠ける)と言ったことは無い(1920x1080をきっちりキャプチャできた)
・パソコン(USB3.0)によっては1時間で数フレームの取りこぼしが起こるかもしれない

同梱のHD Mix Capture
・CPU負荷が常時やや高め
・プレビューはフレームレートが安定しない(パススルーを使えばいい)
・録画機能は取りこぼしが目立つ(同じ画像が4%~10%記録されてしまう)





テーマ : PC周辺機器     ジャンル : コンピュータ

アマレコ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


アマレココ4 その6 ストIV ベンチによるキャプチャテスト

>1.テスト方法
カプコンのストリートファイターIV ベンチマークを使ってアマレココ4の性能をテストします。
くるくるベンチと異なりCPU負荷だけでなくゲームプログラムへ与える影響も分かります。

ストIVベンチを1600x900のウインドウモードで実行し、録画していない場合と、アマレココ4+AMV4(YUV:DY3)でデスクトップ全体(1920x1080)を59.94fpsで録画した場合を比較します。

ストIVベンチの設定
st4setting.png


2.PCスペック
PCスペック
OS Windows8.1 x64 Professional
CPU Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz Haswell
MB ASRock H87 Performance (Intel H87)
Memory DDR3 1600 16GB(8GBx2 Dual Cannel)
VGA NVIDIA GeForce GTX 650 1GB
録画HDD WD30EZRX 3TB
Software  AmaRecCo4 開発版
 くるくるベンチDX11 Ver1.00
備考 CPUは4コア、8スレッド、HTT対応、AVX2対応。動作クロックを3.4GHz(定格)で固定し、省電力設定およびTurbo BoostはBIOSで無効化、動作クロックがテスト中に変動しないようにしています。




3.結果

 録画CPU負荷ベンチスコア
録画なし約 10 ~ 14 %
 cpu_norec.jpg
92.37 fps
norec.png
アマレココ4
AMV4
(YUV:DY3)
1920x1080
59.94fps
約 14 ~ 17 %
cpu_amarecco4.jpg
79.64 fps
rec_amarecco4.png
 


平均FPSが約13フレーム低下となりました。
また、録画中のCPU負荷は一概に言えませんが約3 ~ 4%程度増えています。

続いて、フレームの取りこぼしについても検証してみました。


4.フレーム取りこぼし検証方法

PC1でストIVベンチを実行してアマレココ4でデスクトップ全体を録画。
そのPC1のモニター出力(ビデオカードのHDMI出力)をPC2でビデオキャプチャカード(キャプチャボード)を使って録画。
PC1のアマレココ4で録画したビデオファイルとPC2のビデオキャプチャカードで録画したビデオファイルを比較して検証。
010cmp.png

アマレココ4およびビデオキャプチャカードの双方に取りこぼしがなければ理屈の上では同じフレームが映っているので両映像を引き算したとき、ほぼ真っ黒な映像となるはずです。


5.検証動画の編集
まずAviUtlでPC2のビデオキャプチャカードで録画したファイルを読み込みます。
100aviutl_load.png


次に、PC1のアマレココ4で録画したファイルを拡張編集のLayer1へ読み込みます。
110load_amarecco.png


Y座標を一時的に下にずらして2つの映像を見えるようにします。
120move_down.png


拡張編集の操作で似たシーンになるまで動画の再生位置を(大雑把に)調整します。
130move_time.png


拡張編集の動画ファイルの画面から1フレーム単位の微調整をおこない、完全に同じフレームになるようにします。
シーンチェンジや一瞬光るエフェクトを目印に合わせるといいと思います。
140move_fit.png


最後にY座標をゼロに戻し、合成モードから「減算」を選択して完了です。
150cmp.png


2つの動画の内容がほぼ一致する場合、引き算した値もほぼゼロとなるため真っ黒な映像となります。
取りこぼしなどフレーム単位で映像に食い違いが生じると下図のように異なる部分が一瞬見えます。
160drop.png 


6.検証動画
アマレココ4のフレーム取りこぼしテスト(YouTube)



終始真っ黒となるためこの録画テストの間、アマレココ4とビデオキャプチャカードによる取りこぼしは双方とも無かったと言えます。
ちなみに取りこぼしがある場合は次のようになります。
取りこぼしがある場合の例(YouTube)


■注意事項
ビデオ信号とビデオキャプチャカードの仕様が適合している必要があります。
例えばビデオ信号(モニター出力のリフレッシュレート)が60Hzでキャプチャカードが59.94fpsだと調整が入り一致しなくなります。

ビデオキャプチャカードのビデオキャプチャソフトにアマレコTV4を使い映像のドロップがないことを確認すること。
ステータス欄で(+)や(-)のドロップがカウントされている場合は当然その部分で一致しなくなります。
録画が終わった後ドロップがゼロであることを確認してください。
同様にアマレココ4もドロップステータスを表示してゼロであることが前提となります。
長時間録画すると必ず(+)(-)の調整が入りますのでこの検証ができるはせいぜい数分です。

DirectXタイプのキャプチャソフトの場合は取りこぼしが無くても一致しない可能性があります。
これは、1秒間にモニターに出力する画像枚数と、ゲーム内でレンダリングされる画像枚数に食い違いがあるためです。
例えばゲームのFPSが70fpsで録画FPSが60の場合、70枚の画像を60枚に間引くことになりますが、その間引き方が画面表示と異なる場合があるためです。
Duplication APIの場合はゲームが70fpsでも得られる画像は60枚なので画面表示と一致するようです。

ゲーム側の処理がモニターのリフレッシュレートを下回る場合は一致しない可能性が高いです。
例えばゲームのFPSが50fpsで録画FPSが60fpsの場合、50枚の画像を60枚に水増ししますが、その水増しの仕方が画面表示とキャプチャソフトの処理で異なるためです。
Duplication APIの場合も得られる画像は50枚なので一致しない可能性が高いです。



何事もなければ明日ブログにてアマレココ4 ベータ版を先行公開します。
正式版の公開はホームページで来週を予定しています。



アマレコ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 ベータ版


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


アマレコ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のリングバッファの量を設定します。




 
 
あまラボへようこそ
このブログでは自作ソフトの最新情報や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リンクの表示
管理画面
  • 管理画面