アマレココ4 その8 一般公開延期と課題
今のところ不具合も見つかっていないですし、不具合報告もゼロなので、このままベータ版を正式版として一般公開するつもりでいました。
ところが、ファイナルファンタジー14(FF14ベンチ)やストリートファイター4(SF4ベンチ)などのベンチマークソフトを使って他のキャプチャソフトと比較していたところ、アマレココ4が1番(ShadowPlayを除く)と言える条件がある一方で、トップスコアのキャプチャソフトから10%程度離されてしまう条件もありました。
そこで、全ての環境で一番は無理にしても、不利な条件でも僅差と言えるレベルまで持っていけないか延長戦に突入します。
以下、テストで見えてきたことを紹介します
■ビデオカード(GPU)の性能が上がるほどアマレココ4のスコアは他のキャプチャソフトに比べ優位になる
おそらくGeForce GTX1070とか1080までいくと、ほぼアマレココ4はトップ(ShadowPlayを除く)かトップクラスのスコアになると思います。
逆にGPUの性能が低くなるとCPUの性能とのバランスでアマレココ4の優位性が変わってきます。
GPUの性能が悪く、且つ、CPUの性能も悪ければ、はやりアマレココ4が優位となりますが、GPUは悪いけど、CPUの性能は良いといった場合(例 GeForce GTX650 + Haswell i7-4770)は、かなり悪いスコアとなる場合がありました。
GPU性能 | CPU性能 | アマレココ4の優位性 |
良い | 良い | ちょっとでもCPU処理がスコアに反映される条件ならアマレココ4が優位 |
良い | 悪い | CPU処理が如実にスコアに反映されるためアマレココ4が圧倒的に有利 |
悪い | 悪い | ちょっとでもCPU処理がスコアに反映される条件ならアマレココ4が優位 |
悪い | 良い | CPU処理がスコアに反映されなくなるとアマレココ4(AMV4)のスコア面の優位性は皆無 |
■アマレココ4はFF14ベンチが苦手でSF4ベンチは得意
GPUの性能が良ければどちらもいい結果が出るのですが、先のようにGPUの性能が悪くCPUが良い場合は、FF14ベンチのスコアが他のキャプチャソフトと比べとても悪くなりました。
推測になりますが、ゲーム側の処理が60fpsを維持できなくなると、アマレココ4のスコアが悪くなる印象です。
なお、SF4ベンチの方はこの条件でもゲーム側の処理が60fpsを維持できており、アマレココ4はトップレベルのスコアとなります。
■GPUの性能が悪く、CPUの性能が良い場合のコーデックについて
GeForce GTX650 + Haswell i7-4770のような環境ではコーデックに処理の早いAMV4を使おうが、滅茶苦茶処理の遅いx264を使おうが、FF14ベンチ、SF4ベンチ共にベンチマークのスコアという形で差異は見て取れませんでした。
それぐらいゲーム側の処理がGPUに依存しておりCPUによる処理は完全に無関係な状態でのテストと言えます。
ですので、この条件でアマレココ4やAMV4を使ってもスコア面の優位性はありません。
■DirectXキャプチャとDpuplication API
SF4ベンチではDirectX系のキャプチャソフトが例外なく苦戦しているように見えました(SF4ベンチではDuplication API系が総じて有利と思われます)。
逆にDirectX系のキャプチャソフトがそろって上位を占めたのがGPUの性能が悪くCPUの性能が良い場合のFF14ベンチでした。
同じFF14ベンチでもGPUの性能が良い場合はキャプチャ方式の違いによる傾向は見て取れませんでした。おそらくCPUで処理する分部(主にコーデックの処理)で優劣が決まるものと思われます。
■キャプチャ時のカラーフォーマットによる違い
細かい差異になりますが、ビデオメモリからシステムメモリへ画像を転送する際のカラーフォーマットもベンチマークスコアにかかわってきます。
・RGB 32bit (1920x1080 60fps : 1秒あたり 約474MB )
・RGB 24bit (1920x1080 60fps : 1秒あたり 約355MB )
・YUV 16bit (1920x1080 60fps : 1秒あたり 約237MB )
・YUV 12bit (1920x1080 60fps : 1秒あたり 約177MB )
おもに、この4種類があり、1秒当たりの転送量が少ない方がベンチマークのスコア的に有利となり、多くのキャプチャソフトがYUV 12bitを採用しているようです。動画は最終的にYUV 12bit相当のフォーマットとなりますので妥当な選択です。
しかし、アマレココ4はRGB 32bitまたはYUV 16bitなのでこの点でやや不利となってしまいます。
GPUの性能が悪く、CPUの性能が良い環境ではこの差が絶対に超えられない差となりアマレココ4は僅差ですがどう足掻いてもトップに立てません。
なお、ShadowPlayにおいては圧縮したデータを転送するので、この点において、ShadowPlayと他のキャプチャソフトの間には超えられない壁があると思います。
例えば80Mbpsで録画するように設定した場合の理論上の転送量は10MBとなりますので、他のキャプチャソフトの10分の1以下です。
これに加えCPUを使ってエンコード処理をしなくていいのですから、ベンチマークのスコアで評価する限りShadowPlayを超えるキャプチャソフトというのはあり得ないのではないでしょうか。
■BandicamでNVENCを使うとベンチマークのスコアが低下する場合がある
ゲームをキャプチャする場合はBandicam内臓のMotion JPEGやQSVを使った方がスコア面では有利と思います。
下記の記事でBandicamのスコアが低いのもNVENCを使ってテストしているからではないでしょうか。
ゲームpcバンク「おすすめ!無料のゲーム録画ソフトで軽いのはどれか比較」
アマレココ4 その7 ベータ版公開
オンラインヘルプはまだなので、少々のことは自力でやりくりできる方が対象となります。

1.主な仕様
・対応OSはWindows8.1 / Windows10(※) 64bit版専用となります。
・32bit版のOSでは実行できません。
・Windows7以下はDesktop Duplication APIが非対応なので使えません。
・SSE4.1に対応したCPUが必須となります。
・DirectX11に対応したGPUが必須となります。
・シェアウエア(有料)のAMV4ビデオコーデックが必要です。
・AMV4ビデオコーデックのライセンス登録が済んでいない場合は録画時にAMV4のロゴが入ります。
※ Windows10で私は使えていますが、最終的に使えるかどうかはあなた次第です。アマレココ4が原因でうまく動作しないケースは今のところありません。
これはアマレコTV4にも言えることですが、Windows10でアマレコTV4が使えないという人も居るようなので、やはり使えるかどうかはあなた次第です。アマレコTV4がWindows10に対応していないから使えないという認識だと一生使えないかもしれませんよ。
また、Windows10でAVIファイルを再生していると途中でエラーになる人は、Windows10のアップデートをちゃんとやって最新の状態にすれば改善されるかもしれません。
私のところではWindows10でAVIファイルの再生(3時間程度のAVIファイルの再生)も問題なくできるようになりました。
(以前はこの記事「Windows10のWMPでAVIファイルが再生できない」のようにWindows10でAVIファイルを再生していると数分でエラーが出ました。)
2.簡単な使い方
・メイン画面
・設定画面
・起動オプションそのた
3.ダウンロード
・
アマレココ4 その10 スーパー ベータ2 公開
不具合などありましたら、この記事のコメント欄に書き込んでいただけると助かります。
アマレココ4 その6 ストIV ベンチによるキャプチャテスト
カプコンのストリートファイターIV ベンチマークを使ってアマレココ4の性能をテストします。
くるくるベンチと異なりCPU負荷だけでなくゲームプログラムへ与える影響も分かります。
ストIVベンチを1600x900のウインドウモードで実行し、録画していない場合と、アマレココ4+AMV4(YUV:DY3)でデスクトップ全体(1920x1080)を59.94fpsで録画した場合を比較します。
ストIVベンチの設定

2.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 %![]() | 92.37 fps![]() |
アマレココ4 AMV4 (YUV:DY3) 1920x1080 59.94fps | 約 14 ~ 17 %![]() | 79.64 fps![]() |
平均FPSが約13フレーム低下となりました。
また、録画中のCPU負荷は一概に言えませんが約3 ~ 4%程度増えています。
続いて、フレームの取りこぼしについても検証してみました。
4.フレーム取りこぼし検証方法
PC1でストIVベンチを実行してアマレココ4でデスクトップ全体を録画。
そのPC1のモニター出力(ビデオカードのHDMI出力)をPC2でビデオキャプチャカード(キャプチャボード)を使って録画。
PC1のアマレココ4で録画したビデオファイルとPC2のビデオキャプチャカードで録画したビデオファイルを比較して検証。
アマレココ4およびビデオキャプチャカードの双方に取りこぼしがなければ理屈の上では同じフレームが映っているので両映像を引き算したとき、ほぼ真っ黒な映像となるはずです。
5.検証動画の編集
まずAviUtlでPC2のビデオキャプチャカードで録画したファイルを読み込みます。
次に、PC1のアマレココ4で録画したファイルを拡張編集のLayer1へ読み込みます。
Y座標を一時的に下にずらして2つの映像を見えるようにします。
拡張編集の操作で似たシーンになるまで動画の再生位置を(大雑把に)調整します。
拡張編集の動画ファイルの画面から1フレーム単位の微調整をおこない、完全に同じフレームになるようにします。
シーンチェンジや一瞬光るエフェクトを目印に合わせるといいと思います。
最後にY座標をゼロに戻し、合成モードから「減算」を選択して完了です。
2つの動画の内容がほぼ一致する場合、引き算した値もほぼゼロとなるため真っ黒な映像となります。
取りこぼしなどフレーム単位で映像に食い違いが生じると下図のように異なる部分が一瞬見えます。
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 ベータ版を先行公開します。
正式版の公開はホームページで来週を予定しています。
アマレココ4 その5 使い方(起動オプションそのた)

・ウインドウキャプチャはありません。すべてデスクトップキャプチャとなります。
・ルーペ機能は廃止しました。
・録画フレームレートやマウスカーソルの設定は設定画面で行います。取り込み枠は録画範囲に関する設定のみとなります。
・同梱の CaptureSize.ini をメモ帳で編集すれば任意のキャプチャサイズをリストへ登録できます。
2.起動オプション
-rec
アマレココ4が起動してすぐに録画を開始します。また、録画を停止するとアマレココ4は終了します。
録画していないときにアマレココ4によるCPU(GPU)負荷を完全にゼロとしたい場合に次のように使います。
・デスクトップにアマレココ4のショートカットを作って、そのショートカットにOSのホットキーを割り当てる。
・ショートカットのオプションに -rec を付ける。
・ゲーム中など録画したい場面になったらショートカットのホットキーでアマレココ4を起動(と同時に録画が開始されます)。
・録画停止はアマレココ4のホットキー(デフォルトだと Alt+X )で操作します。その後アマレココ4は自動的に終了します。
※ このオプションが指定されている場合は設定画面の内容など殆どの項目で設定値が保存されません(設定の変更はできますが、次回起動時、元に戻る)。
-safe
各デバイスへアクセスする前に設定画面を表示します。
同梱の AmaRecCo4 safe.bat を実行してもセーフモードで起動します。
明らかに使えない項目を選択してしまい、起動と同時にエラー落ちするような場合に使います。
原因の特定が出来ず、改善されない場合は AmaRecCo4.ini を削除して、設定を初期化してください。
3.録音について
録音する場合のサンプリングレートは録音デバイスの設定値(OS側の設定)になります。
チャンネル数が2chを超える場合は2chへダウンミックスして録音します。
ビット深度は16bitのみ対応します。
例 スピーカーの音を録音する場合、スピーカーが96kHzならアマレココ4で作られる動画ファイルも96kHzになります。
4.録画エンジンについて
アマレコTV4の録画エンジンを採用していますので、以下の特徴がそのまま適用されます。また、音ズレ対策についてはアマレココ4に合わせたタイムベースの処理に変更しています。
アマレコTV4ではキャプチャカードから送られてくるタイムスタンプが狂っているのでタイムベースでの処理を採用できませんでしたが、アマレココ4では画像と音声を取得した時刻を完全に把握できるので、音ズレ処理をシンプルにすることができました。
基本的に時刻が正確であれば音ズレすることはありません。起こるとすれば動画の最初から最後まで一定のズレとなります。
これは録音設定の遅延で調整してください。
・書込みエラーの根絶(アマレココで起こっていたか不明だけど)
・録画処理を正常に終了できなかった場合でも再生できる(修復不要)
・ファイルサイズの上限を撤廃
・2kBを超えるセクタサイズへ対応
・無欠損分割 ファイルサイズを指定して分割して録画、AviUtlなどを使ってつなぎ目のない一つの動画に仕上げることが可能
・AviUtl+x264guiなどで再エンコードする際の音声処理に対する高速エンコード支援
・新音ズレ対策 タイムベースの音ズレ処理に変更
アマレコTV 4 新録画エンジン
アマレコTV 4 再エンコード支援の効果
5.そのほか
・RGB・YUV変換はBT.601、リミテッドレンジ、色のサンプリングは左側の画素となります。
・マルチモニターの場合は録画範囲の中心点が属するモニターの映像のみが録画されます。
アマレココ4 その4 使い方(設定画面)

録画およびスクリーンショットに関する設定です。
プレビューを表示するかどうかやプログラムの優先順位などはメイン画面のメニューに設定項目があります。
設定画面では主に動画ファイルの保存先やファイル名フレームレートなど色のついている部分を設定してください。
色が付いていない部分は好みや環境に合わせて設定してください。
録画詳細設定は内容をよく理解したうえで変更してください。
1.1.主な設定項目
■ビデオ設定:フレームレート

「Monitor」を選択すると録画対象となるモニターのリフレッシュレート(通常60Hz)で録画します。
モニターが60Hzの場合に録画フレームレートを29.97に設定すると、約33秒に1枚画像を意図的にドロップ(ステータス欄のドロップ(-)がカウントされる)しながら録画します。
■ビデオ設定:AMV4コーデック
カラーフォーマットでRGBを選んだ場合はAMV4ビデオコーデックの設定がDY2やDY3(RGBをYUVに変換して圧縮する)になっていても、RGBで録画(圧縮)します。DY2に設定されている場合はDR2として、DY3に設定されている場合はDY3として動作します。
■ビデオ設定:その他のコーデック
リストに表示されるコーデックが全て使えるわけではありません。
使えないコーデックや使おうとするとアマレココ4を巻き込んでエラー落ちするコーデックもありますので、他のコーデックを使う場合は良く内容を理解したうえで選択してください。
本来、使えるかどうかチェックしてから、使えるコーデックのみリストに表示するようにしたいところですが、使えるかどうか確認する段階でエラー落ちするコーデックがあるので、それもできません。そのためシステムに登録されているFourCCを全て表示するようになっています。
■オーディオ設定:デバイス
「Auto」を選択すると既定の再生オーディオデバイス(通常はスピーカーまたはHDMIモニター)の音を録音します。
■オーディオ設定:遅延
録画した動画に対し映像と音声を意図的にずらします。
遅延の数値を大きくするほど音が遅れた動画となります。
遅延をマイナスにすると音声を進めた(映像が遅れた)動画となります。
動画の最初から、最後まで一定のズレがある場合に効果を発揮しますが、動画の初めは合っていて、動画の後の方になるにつれ音ズレするようなケースについては対応できません。
まずは、100ミリ秒、50ミリ秒、0ミリ秒、-50ミリ秒、-100ミリ秒 を試して、それでも改善されない場合は最大±500ms程度を目安に100ms単位で調整してみてください。",
■オーディオ設定:録音テスト
「録音テスト」ボタンを押すとリストで選択したオーディオデバイスを使って録音テストします。

録音できる場合は録音フォーマット(動画ファイルのオーディオ形式)が表示されます。
なお、4ch以上の場合は2chにダウンミックスして録音します。また、動画のサンプリングレートはオーディオデバイスのサンプリングレート(OS側の設定)と同じになります。
■録画詳細設定:ダミーピクセルを使う
画像の取りこぼし(同じ画が動画に記録されてしまう)を極力減らすために使います。
録画対象がリフレッシュレートに合わせて、常に画像を更新している場合は
安定した(取りこぼしの少ない)録画が可能ですが、60Hzのモニターで30fpsの動画を再生するなど
リフレッシュレート未満の更新になってしまう場合に取りこぼす可能性がでてきます。
そういった場合にダミーピクセルをonにすることで取りこぼしを軽減します。
ダミーピクセルは録画対象となるモニターの左上に8x8の四角を表示して、モニターのリフレッシュレートに合わせて常に表示を更新します。ダミーピクセルは透明なので見た目には見えません。
また、ダミーピクセルが働くのは録画中のみです。
特に害がない場合はonで使うことを推奨します。
60Hzのモニターでゲーム画面を録画する場合について
ゲームプログラムが常に60fpsを維持できる場合はダミーピクセルをoffにしてもかまいません。
ゲームプログラムが常に30fpsで動作する場合はダミーピクセルをonにしないと取りこぼしが生じます。
ゲームプログラムのフレームレートが不安定な場合はどのみちきっちり録画できないので
ダミーピクセルは好みとなります(onにした方が無難かな)。
なお、モニターが120Hzでゲームプログラムが60fpsの場合はダミーピクセルをonにしないと取りこぼすと思いますが、60Hzを超えるモニターでテストしていないので、そもそもアマレココ4がまともに動くかどうか不明です。
アマレココ4 その3 使い方(メイン画面)

基本的な使い方は録画範囲を設定して「スタート」ボタンで録画を開始するだけです。
新しい機能としては録画範囲ボタンから直接ドラッグ&ドロップして録画範囲を設定できるようになりました。

左D&Dでウインドウ全体、右D&Dでクライアント領域を録画範囲に設定します。
2.ステータス表示

左側には、通常、「録画中」など現在の状況が表示されます。
異常を検出した場合は警告やエラーメッセージを表示します。
右側は主に録画処理に関する詳細情報が表示されます。
2.1.録画処理に関する詳細情報
メニューから「フレームレート」、「ドロップフレーム」、「HDD」を選択できます。

■フレームレート(FPS)

(R)
録画中は録画処理(エンコードなど)を1秒間に何回行ったかを表示します。
通常、ビデオ設定のフレームレートの値と同じになります。
録画を行っていない場合は、プレビュー処理のFPSを表示します。
プレビューのFPSは、通常、録画対象となるモニターのリフレッシュレートと同じになります。
録画もプレビューもされていない場合はゼロとなります。
(C)
1秒間に何回デスクトップ画像をキャプチャしたか表示します。
モニターのリフレッシュレートが60Hzでもデスクトップが40回しか更新されていなければ40となります。
ダミーピクセルがONの場合は常にモニターのリフレッシュレートと同じ値で安定するはずです。
録画もプレビューもされていない場合はゼロとなります。
■ドロップフレーム

(D)
リングバッファなどに空きが無く(処理する前に)データを捨てた回数を表示します。
通常この値はゼロとなります。
(+)
音データに対し映像データが少ないと判断した際に水増ししたフレーム数をカウントします。
(-)
音データに対し映像が多いと判断した際に捨てたフレーム数をカウントします。
音ズレを防ぐため(+)か(-)のどちらかが必ず生じます。これは異常ではありません。
(D)が1以上となる場合は慢性的なスペック不足の可能性が高いです。
■HDD

1秒間に何バイトHDD等へ書き出そうとしているかと、書込みバッファの使用率を表示します。
使用率は通常10%以下です。使用率が100%になると録画は停止します。
録画を行っていない場合は録画先ドライブの空き容量を表示します。

2.2.警告・エラー表示

録画中に異常を検出した場合は左側にメッセージが表示されます。
録画の継続ができるうちは警告メッセージを点滅しながら録画を続けます。
録画の継続が困難な場合はエラーメッセージを表示して録画を止めます。
■[警告]CPU スペック不足
ビデオコーデックによるエンコード処理に時間がかかり過ぎた場合に表示されます。
エンコードの処理時間が録画FPSにおける平均フレーム持続時間の半分より大きい場合に警告が出ます。
例:60fpsで録画する場合は平均フレーム持続時間が約16msなので、エンコードに約8ms以上かかったら警告を表示します。
・RGBで録画している場合はYUVで録画する。
・ハーフサイズをONにする。
・ビデオコーデックの設定で処理速度の早いものにする。
・録画フレームレートを下げる。
・録画範囲を小さくする。
・ANV4ビデオコーデックを使う。
■[警告]HDD スペック不足
書込みバッファの使用率が50%を超えた場合に表示されます。
設定で書込みバッファを大きくすれば、軽減できる場合もありますが、根本的にはHDDなどのスペック不足です。
・RGBで録画している場合はYUVで録画する。
・ハーフサイズをONにする。
・ビデオコーデックの設定で圧縮効果を上げる。
・録画フレームレートを下げる。
・録画範囲を小さくする。
・圧縮効果の高いビデオコーデック(非可逆圧縮)を使う。
・録画先のドライブを変更する。
■[警告]Droped frames
(D)がカウントされた場合に表示されます。
・録画詳細設定のリングバッファサイズを大きくする。
■[エラー]録画初期化 失敗
録画処理に必要なメモリーを確保できないなど、録画処理そのものを開始できない。
■[エラー]ディスク容量不足
保存先のドライブの空き容量が足りない。
■[エラー]書込バッファ不足
書込みバッファの使用率が100%に達した。
■[エラー]音バッファ不足
録音のためのリングバッファがいっぱいになった。
■[エラー]録画エラー
その他、もろもろのエラーにより録画を停止した。