アマレコTVスレについて その4 4K録画
おおもとの質問は「PCゲームを4K 60fpsで録画できるコーデックはありますか?」ですがコーデックの話だけでは意味がないのでもっと広範囲について述べます。
4K録画についてはAMV4公開時に4K対応を謳おうかどうか迷った部分です。
理論上は可能ですが、実際に4K録画のテストをしてみたところ確実にできると言える結果とはならなかったため結局4K対応は謳わなかったと言う経緯がありますが、現状、一般的な環境において4K録画を行うにはビデオコーデックの処理能力、CPUの処理能力、ビデオファイルを書き出すストレージの処理能力の全てが4Kの要求スペックを満たす必要があります。
あと使い方によって変わってきてしまうため何とも言えませんが、キャプチャソフトの処理能力やビデオキャプチャカードを使うならそちらも4Kの要求スペックをクリアする必要がありますし、PCゲームをデスクトップキャプチャやDirectXキャプチャで録画するなら更にゲームを4Kで動作させるだけのスペックが必要となります。
1.コーデックとCPUについて4Kを満たすスペックとは?
ビデオコーデック・ベンチマーク2014夏

理論上はこのベンチマーク結果を9で割った数値(※)が60fpsを上回れば4Kを処理する能力のあるコーデックと言えます。
言い換えるとグラフ内のfpsが540fps以上なら良いとなります。
※ (3840x2160) ÷ (1280x720) = 9
AMV4は処理の遅いDY3でも9で割った値が100fpsを上回るため理論上エンコード、デコードとも4Kを十分処理できます。
他のコーデックについては一般的なCPUの処理能力(1スレッド)では無理であると言えます。
なお、UT Videoに関しては4コア8スレッドで処理することで理論上可能となってきます。

このように現状における4Kの要求スペックは以外と高く、ほぼAVX2対応のCPUとAMV4一択なのではないでしょうかと言うのが私の見解です。
2.4K録画を可能とするストレージとは?
次に動画ファイルを書き出すストレージの処理能力ですが、無圧縮であった場合約1000MB/s(※1) 必要となります(RGBの場合約1500MB/s)。
なので、無圧縮で録画するには最低でもSSDを3台以上ストライピングする必要がありますが、それでも実際にできるかどうかはちょっと判りません。なので、コーデックを使って圧縮するのが現実的です。
圧縮した場合の要求スペックはYUY2フォーマットの場合 約333MB/s(※3) になりますので、理論上SSDを1台用意すれば可能なように思えます。RGBについては不明ですが適当に書くと600MB/s(※4) くらいでしょうか。圧縮したとしてもSSDは2台以上必要に思われます。
※1 4K(YUY2フォーマット) 60fpsの場合 3840x2160x2x60 = 約995 MByte
※2 4K(RGB24フォーマット) 60fpsの場合 3840x2160x3x60 = 約1492 MByte
※3 圧縮効果を3と仮定
※4 圧縮効果をYUY2より悪く2.5と仮定
3.実際のテスト
以上を踏まえ理論上4Kの要求スペックを満たす環境を用意してテストを行いました。
CPU: i7-4770 @3.4GHz固定 AVX2対応
コーデック: AMV4 DY3
ストレージ: CSSD-S6T256NHG5Q 公称値でシーケンシャルライト483MB/s
キャプチャソフト: アマレコTV
キャプチャカード: くるくるベンチ 3840x2160 YUY2 59.94fpsに設定
結果は録画を開始すると徐々に書込みバッファの空きが減っていき、書込みバッファの空きが0%になるとまともに録画できなくなります。
出来上がったビデオファイルを再生すると書込みバッファが枯渇するまでの部分は正常に見えましたが、後半は明らかにスペック不足でまともに録画できるとは言えない状態です。
アマレコTVのレポートファイル(書込みバッファが枯渇する前の正常な部分)をみると
VT=00:00:04.442s( 265f), Cap= 0f( 0D), Enc=13.077ms, Siz=4186KB( 25%)KEY, Drp=0, (+)0, (-)0, Buf= 1, o
IT=00:00:04.442s, HDD=244.8MB/s( 95%), fps=59.9f/s
となっているので、このテスト条件のストレージ要求スペックは244MB/sであることが判ります。
一方、エンコード処理は13ms前後なのでぎりぎり60fpsのリアルタイム処理をクリアしていると言えます。
以上より、CPUとコーデックは4Kの要求スペックを満たしていると判断しますが、アマレコTVのファイル処理とSSD 1台の構成は4Kの要求スペックを満たしていないようです。
録画失敗の原因はSSDが公称値を下回るかアマレコTVのファイル処理がSSDの性能を発揮しきれていないと言ったところでしょうか。
4.まとめ
現状、一般の人が4Kの録画を行うにはi7 AVX2対応以上のCPUとAMV4ビデオコーデックは必須のように思います。
それに加え、SSD複数台かアマレコTV以上のファイル処理が実装されたキャプチャソフトが必要と思われますので、まだまだ実現するのは難しいと私は感じました。
更にPCゲームとなると絶望的なように思いますが、NVidiaのShadowPlayのようにビデオカード上でエンコードするようなシステムであれば可能なようです。h264でエンコードすればストレージの要求スペックも大幅に下がりますので、そちらの方が現実的と言えなくもないけど、はやりそこそこ高価なGPUが必要なようですし、ビデオキャプチャでは使えないので、何とも言えないか。
あと、4K対応のビデオキャプチャカードも販売されているようですが要求スペック(CPU、コーデック、キャプチャソフト、ストレージ)が明記されていないので、どういった構成で運用できるのか私も知りたいところです。
4Kを扱うためのプラン
1) 無圧縮プラン: SSD 3台以上のストライピングが必要(実際はもっとかもしれない)
2) AMV4圧縮プラン: AVX2対応のCPUとSSDの性能を引き出せるキャプチャソフトかSSD 2台以上のストライピングが必要
3) ShadowPlayプラン: GTX900番台が必要?(PCゲーム専用、ビデオキャプチャは不可)、ストレージはHDD 1台で可(ただし画質次第)