動画キャプチャ(撮影)特集
こんばんは~。
今日は動画撮影に関する特集です。
以前のPC構成についての記事で少し触れた動画撮影に必要になるスペックは仕組みついて、今日は掘り下げて行こうと思います。
●動画キャプチャとは
ゲーム等の画面の動きを撮影し、動画ファイルとして記録する事を言います。
キャプチャとはIT用語で、ディスプレイに表示している内容を保存する事を意味します。単にキャプチャと言うと一般的にはスクリーンショット撮影の様な瞬間的な画面を静止画として撮影保存する事を意味するのでご注意ください。
動画キャプチャには様々な方法や機器の組み合わせがあります。PCゲームを撮影する場合と外部のゲーム機の映像を撮影する場合とでは全くアプローチが変わってしまうのでご注意ください。
今回はPC内で動くゲームの撮影についてのみ触れて行きます。
PC内で動かしているゲームの画面を撮影する場合、物理的な手段で区別すると2通りのやり方があります。
1つはゲームを起動しているパソコン1台で完結する方法。もう一つはゲームを起動しているパソコンから外部の機器へ映像データを出力して記録する方法です。
一般的には前者の方法で行うのですが、やむを得ない事情がある場合後者の方法でも可能です。
後者の方法はPCからマルチモニターの要領を使います。
まず、一般的にPCの映像端子は2口ついており、一つはディスプレイへと接続しています。余っているもう一口の端子から映像ケーブルを使って録画用の機器(HDDレコーダー等、市販のテレビ録画用機材)を接続し、OS側で画面設定を行ってマルチモニター表示(2つの画面で同じ内容を表示するモード)にした状態で、録画機器の機能で撮影して録画します。
この場合録画機器の中にデータは保存されるので、その後パソコンへ読み込みたい場合にはその機器の指定した方法を取る必要があります。一般的にはSDカードへデータを保存してPC側で読み込んだり、DVDに焼いてPCで読み込んだりする方法がありますが、物理的な手間が掛かってしまう為普通は使わない方法です。
前者の場合、キャプチャソフトと言われる専用のソフトを使用して撮影保存します。
ソフトによって仕組みは様々なものがあり、ゲームクライアントが3D描写を行うAPIとして広く使われているDirectXなどの動作を検出して録画するものや、画面上の表示そのものを撮影して動画形式で保存するものなどがあります。
ソフトの仕組みの違いによってゲーム中の動作などにそれぞれ若干の差が出ますので、色々なソフトで試した中でもっとも使いやすいものを選んで下さい。
代表的なソフトをいくつかご紹介しておきます。
・Bandicam 動作も軽く、キャプチャ後のファイルもある程度軽いので(設定にもよりますが)人気です。構造的にはディスプレイを監視して撮影するアマレココに近い仕組みの様で、フック機能によってDirectXなどの検出も可能です。フルスクリーンでも機能させやすく非常に優秀。無料版では画面上部にロゴが入り、撮影が10分間までに規制されますが、Dxtoryのロゴ(最近のバージョンの新ロゴ)よりもデザインが目立ち難いのも人気の一つでしょう。
追記(2012/6/18)
先日Bandicamをライセンス購入いたしました。クレジットカードはセキュリティの観点から持っていなかったのですが、Bandicamはコンビニ決済やウェブマネーも取り扱ってくれていた為有り難かったです。
デフォルトの設定では撮影後のファイルがMPEG-1に変換される設定になっている為、H.264のMPEG4にエンコードして動画サイトへアップする為にはRGB24形式で無圧縮の状態で撮影をしておく必要があります。
動作も軽快で、非常に使いやすいです。
テストUP動画
画数の少ない漢字程度までならなんとか判読できるビットレート設定でのUPです。
・Dxtory 動作上はコレが一番しっくりきたため愛用しています。体験版の場合撮影後の映像の中央上部に大きくロゴが表示されてしまうのが唯一の難点?DirectXなどの動作を検出して動作します。
・アマレココ ディスプレイ上の表示画像を撮影&保存を繰り返し、動画形式で保存するソフト。フルスクリーン中のゲームでは撮影にコツがいるようです。
・Fraps DirectXなどを検出して動作するタイプのソフト。少々CPU負荷が高めのようです。
・カハマルカの瞳 結構昔のソフトです。アマレココ同様ディスプレイ上の表示そのものを保存するタイプです。
他にもいろいろある様なので、ご自分でも探してみて下さい。
これらのソフトでは、ストレージ(HDDやSSD)へと撮影した動画ファイルを保存します。その時、以下の点にご注意ください。
☆撮影したファイルは非常に大きい
撮影直後のファイルは非圧縮の状態なので、設定によっては非常に大きなサイズを持っています。その為、保存先の空き容量がある程度確保しておく必要があります。
保存時のフレーム高&幅(縦横のサイズ)や、音声ビットレート、FPS設定や、撮影時間によって結果はまちまちになるので、どの程度のサイズが必要かを計算しておく必要があります。
初めは狙いたい設定(フレーム高&幅や音声、FPS設定)の状態で1分程度の短い動画撮影を行ってみれば、本番で撮影したい全体の時間でどの程度のファイルサイズになるかのおおよその概算が可能になります。
1分の動画でファイルサイズが1GBだった場合、その設定で10分間撮影すると10GBになります。
※1分で1GBのサイズにする為には撮影時にリサイズ機能を使ってある程度縮小して保存をしておく必要があるでしょう。大抵のゲーム画面をそのままのサイズで保存してしまうと実際にはもっと大きくなります。
最終的に動画サイトなどへアップしたい目的の場合、動画サイト側へアップロードする場合のサイズ上限の問題もある為、そのままの画面サイズで動画を見て貰う事は非常に難しい為、初めからある程度リサイズで小さくしておいた方が撮影も楽でしょう。
解像度800×500程度の縦横サイズで30分程度の保存をするならば、1回の撮影の為に大体100G程度の空き容量があれば何とかなります。
☆撮影したファイルは撮影中に随時書き込んでいる
ファイルを撮影中は、そこまでで撮影できた分のファイルが常にストレージへと書き込み続けられています。この時、ストレージ側の書き込み速度が遅いと、撮影したファイルがたくさんたまって行き、保存が追いつかなくなった時にソフト側の処理で途中のデータを強制的に破棄して保存を続けてしまいます。
例えば、1・2・3・4・5・6・7・・・と数字が増えて行くパラパラ漫画の画面を撮影していた場合、3まで書き込んだ時点で実際の画面は6まで進んでおり、ここまででメモリがいっぱいになってしまった場合、これ以上メモリに一時保存しておくことができなくなったパソコンは一旦4~6までのデータを破棄してしまいます。次に7が映った時点からまた保存を始め、保存側のファイルが9まで行った頃にはまた実際の画面は12まで進んでおり、メモリが容量オーバーになって8~12のデータを破棄します。こうして撮影された動画は1・2・3・7・8・9・13・14・15・・・と、断続的に途切れている映像になってしまいます。この現象の事を「コマ落ち」などと呼びます。
コマ落ちを起こさない為には、ストレージ側の「書き込み速度」がある程度速い必要があります。HDDやSSDにはそれぞれ商品によって書き込み速度に差があり、これが動画のビットレート分の速度を上回っていれば撮影した動画ファイルを無理なく保存し続けられます。(HDDとSSDのそれぞれの書き込み速度や特徴については後述)
☆撮影する為にはある程度CPUやメモリに余裕が必要
OSやゲームソフトを動かしている処理に加えて動画を撮影する為の処理を並行して行う為、ゲームだけで手一杯になっているCPUでは撮影作業が追いつかなくなり、コマ落ちやゲーム中画面の動作ラグなどの原因になってしまいます。PSO2のキャプチャソフトによる撮影を考えている場合はCPUクロックが3.0GHz以上は有った方がいいでしょう。CPUの速度さえ確保できていればRAMメモリはそこまで沢山積まなくてもなんとかなります。32bit版OSで扱えるRAMメモリーの上限は約3.5Gですが、2G程度あれば充分な程度でしょう。
この様に、HDDの容量と書き込み速度、CPU性能が絡んでくる為、撮影が上手くいかない場合は何が問題で足を引っ張っているのか(ボトルネック)を見つけてやる必要があります。
次に、HDDとSSDの違いについて見て行きましょう。
それぞれの特徴を箇条書きにして挙げてみます。
HDD:
・読み&書き速度が遅い
・全体容量が大きい
・1GBあたりの値段が安い
・振動に弱い
・ディスク位置単位での書き込める回数が多い
・大きくて重い
・発熱し易い
・消費電力が高い
SSD
・読み&書き速度が速い
・全体容量が小さい
・1GBあたりの値段が高い
・振動に強い
・半導体素子単位での書き込める回数が少ない
・軽い
・発熱しにくい
・消費電力が低い
HHDは磁気ディスクという円盤が中にあり、それにデータを書き込んで行きます。この円盤が高速回転している為、HDD自体を揺らしてしまうと回転力がぶれる事で読み込み不良や故障の原因となってしまいます。その為一般的に持ち運びを前提とする機器にはあまり使われません。
円盤を回す為に電力もある程度必要になります。回転する為発熱もしやすくなります。ただし、磁気ディスクの特性上書き込み回数上の耐久性は非常に優秀な事と、単価が安い為広く使われています。
SSDは半導体(シリコン)にデータを書き込むタイプのものです。中身はUSBフラッシュメモリと同じ様なものです。ただ、何度もUSBフラッシュメモリを抜き差ししたら段々反応が悪くなったり、読み書き速度が低下したりするのと同様に、SSDも何度もデータの書き換えを行うと次第に劣化してしまいます。
データを書き込む小さなツブツブ一つ一つを記憶素子と呼び、この記憶素子の書き込み回数上の寿命が最近のモノで約10万回程度となっています。同じ部分にデータを10万回まで書き込めるという意味ですので、ファイルをいくつ保存したら~という換算方法とは異なりますが、100GBのSSDに100GBのファイルを1回書き込めば全ての素子にデータを書き込む事になります。この後このファイルを削除し、上からもう一度100GBのデータを書き込むと、全ての素子を2回書き込んだ事になります。これを10万回分と考えればそこそこ耐久性も十分に確保されているという事で、最近は一般的なデータ保存ストレージとしてSSDを使う人も増えて来ています。
ただ、使い方によっては偏った位置で何度も同じ素子を使ってしまっている場合などもある為か、1年と持たずにSSDの読み書き速度が低下してきてしまう例も見られる様です。
単価もある程度値が張るのですが、その点を割り切って考えられれば非常に便利なストレージと言えるでしょう。
☆Raid構成について
速度の遅いHDDですが、ある方法で無理やり速度を上げる事も可能です。
Raidと呼ばれる、複数のストレージに対して並列書き込みをする技術があります。
並列書き込みをする時のデータの振り分け方によって様々な形式があり、Raid0やRaid1など、番号を付けて命名されています。
・Raid0
1つのデータを分割して複数のストレージへ並列書き込みをします。
例えば、1・2・3・4・5・6・7・8・9・10の整数が順番に並んだデータの1つのファイルを順に書き込む際、通常は一つのファイルなので順番に一か所に固めて書き込みますが、Raid0では予め順番と場所を決めておき、複数のストレージへとこの1つのファイルを割ってばらばらに書き込みます。このため、2枚のHDDへと書き込む場合、1枚目のHDDには1・3・5・・・と奇数だけが書き込まれ、2枚目のHDDには2・4・6・・・と偶数だけが書き込まれ、読み出す時にそれらを順番に読み込みます。これによって本来1秒に1つの数字を書き込むと仮定した場合は全体で10秒かかりますが、2枚で分割する事で5秒で済む様になりました。
Raid0とは、この様に分割した並列書き込みによって書き込み&読み込みの速度を向上させるための技術です。
※ただし、どれか1枚のHDDが部分的に故障してしまった場合、並列書き込みをしている為ファイルが部分的に破損してしまいます。故障のリスクは組んだストレージの枚数分高くなると言う事です。
・Raid1
1つのデータを書き込む際、2枚のHDDに同じものを書き込む方式です。
上記の例では1~10の整数のファイルを書き込む場合、2枚のHDDに同じファイルが完成します。
こちらの方式はデータのバックアップを取る目的で、故障に強くするための方法です。
※これらを組み合わせたRaid1+0や、2,3,4,5,10などのさまざまな方式が有るので、調べてみると面白いかもしれません。
動画撮影で適しているのはこのRaid0の方式でしょう。
SSDは確かに優秀ですが、データ容量の大きい動画を何度も撮影しては削除を繰り返す場面にはあまり好ましくありません。
HDDで唯一撮影に不足している書き込み速度をこのRaid0構成を組む事で向上させれば、容量や耐久性、速度の問題をクリアする事ができます。
Raid構成をサポートしているマザーボードを使ったり、Raidボードと呼ばれる拡張カードを付けたしてそこへHDDを接続してやる事でRaid構成を組めます。
但し、HDDを沢山増設する場合、枚数分必要な電力も増える為、電源の供給容量にはご注意ください。
無論SSDでRaid0を組めばものすごく速くなりますが、そこまでの速度を必要とする場面は余りない上に、お金もかなりかかります。そこまでするならば撮影するキャプチャソフト側の設定でサイズを小さくして撮った方がいいと思います。
ただ、Raidカードで拡張する場合Raidカード自体の値段がかなり高いものが多い為、場合によっては質のいいSSDを一枚増設し、半分使い捨て感覚でそこに動画を撮影保存する方が結果的にいいかもしれません。
そこら辺の采配はその時の市場相場や商品の値段、用途などと相談して判断して下さい。
☆データ転送方式について
PCの内部に組み込んで抜き差しをしない接続方法では、一般的にSATAと呼ばれる接続方式が使用されています。
USB接続の方法などもありますが、USBで外部接続する場合、フォーマット形式がFAT形式の場合取り扱えるファイル1つのサイズに最大容量の上限規制がつきます。FAT12で1ファイル32MBまで、FAT16で2GB、FAT32で4GBまでのファイルしか扱えません。当然動画撮影の保存ではそれ以上のファイルサイズを扱う場合が殆どになる為、フォーマットをNTFS形式に変換しておくか、内臓ストレージを選ぶかしましょう。
データ転送方式ですが、この種類によっても転送速度に上限があります。
SATAの場合SATA2.0で3Gbps、SATA3.0で6Gbpsもの理論値速度を持っています。
単位のb(ビット)をB(バイト)へ換算してみると、3Gbps=375MB/sとなり、1秒間に375MBもの転送が可能と言う事を意味しています。
USB2.0ではこれが480Mbps(60MB/s)となってしまい、USB接続で転送する際にはこの接続方式自体がボトルネックとなってしまう可能性もありますので、十分ご注意ください。
市販のUSB接続用の外付けHDDなどはデータのバックアップを主な用途にしている為、動画撮影の保存用ストレージとしては接続方式が足を引っ張ってしまう為適切ではありません。
また、USB3.0という新規格が最近普及し始めています。
こちらは以前のUSB2.0に比べ非常に速い転送速度になっており、理論値で5Gbps(625MB/s)となっています。この場合接続方式による転送速度のよりもHDDやSSDの書き込み速度自体がボトルネックとなる為、フォーマット形式さえ変換しておけば十分に撮影ファイルの保存用としても機能が見込めるでしょう。
但し、USBによるRaid0構成はあまり普及していない上、USB3.0規格自体出て間もないので、こちらを使う場合はUSB3.0接続によるSSD等と言った構成を考えなければならないかもしれません。