録画範囲(大きさ)の変更やフレームレートの変更を反映させます。録画開始時は自動的に変更された設定が反映されますので、わざわざSETしなくても大丈夫です。録画前にプレビューで確認したい場合に使ってください。取り込み枠を非表示にします。再度表示する場合はアマレコTVのツールバーボタンを押してください。録画範囲(位置)の変更や、キャプチャーモード、マウスカーソル録画など○となっている項目は録画中も設定を変更できます(すぐに反映されます)。録画範囲(大きさ)の変更、フレームレートの変更はできますが、反映されるのは次回の録画からとなります。アマレコTVのツールバー部で右ボタンを押すと簡易メニューを表示します。マウスやタイムスタンプのOn/Off程度であれば、こちらの簡易メニューが便利です。範囲指定が終わったらアマレコTVのツールバーにある録画ボタンを押して、いつでも録画することができます。録画の保存先や録画設定(画質など)はアマレコTVの基本的な使い方と共通ですのでアマレコTVのヘルプを見てください。【録画時のエラー】パソコンの性能が低いと、録画開始時に次のメッセージが表示されます。その場合は、アマレコTVのステータスバーに表示されているキャプチャフレームレートを確認し、デスクトップキャプチャのフレームレートを適切な値に設定しましょう。この場合は29.97fps付近が適切な値ですので、「29.97」または、「30.00」に設定します。これはビデオキャプチャカードを使う場合にも当てはまります。キャプチャフレームレートが不安定だったり、設定値とあっていないと様々な誤動作に繋がりますので、カクカクするなどの場合は真っ先にこのキャプチャフレームレートが本来の値になっているか確認することと、設定値とあっているか確認するといいでしょう。PCスペックが十分で、且つ各設定もあっているにもかかわらずキャプチャフレームレートが安定しない場合は、ビデオ信号やビデオキャプチャカードの問題です。アマレコTVなどのビデオキャプチャソフトでどうにかなるものではありません。デスクトップキャプチャモードについて■キャプチャモードキャプチャモードは3つあり、取り込み枠を右クリックして表示されるメニューから選択します。アマレコTVのツールバーを右クリックして表示される簡易メニューから選択することもできます。基本的なキャプチャモードでデスクトップ内の任意の領域を録画します。デスクトップに写っているものがそのまま録画されます。デスクトップコンポジション(Aero)が有効な場合は30fpsに制限されます。左上の□をドラックして選択したウインドウの位置と大きさを元にデスクトップを録画します。録画中にウインドウが移動した場合、自動的に録画範囲も移動するので選択したウインドウを常に録画することができます。ウインドウの大きさが変わった場合は録画中に反映されません。大きさの変更は次回の録画から反映されます。デスクトップに写っているものがそのまま録画されます。デスクトップコンポジション(Aero)が有効な場合は30fpsに制限されます。ウインドウ指定と同じように、指定したウインドウの位置と大きさが反映されます。ウインドウ指定と違う点は指定したウインドウ以外の映像が映りこまないことと、ほかのウインドウに隠れて見えない部分も録画できる点です。デスクトップコンポジション(Aero)が有効でも高フレームレートで録画することができ特徴があります。このモードはWindoes7でデスクトップコンポジション(Aero)が有効な場合にのみ選択可能です。指定したウインドウのみ録画されます。下図はそれぞれのモードによる違いです。3つあるアプリケーションのうち、真ん中に位置する電卓を指定しています。「デスクトップ・キャプチャ」と「ウインドウ指定」モードでは、手前に来るサウンドレコーダーや後ろのメモ帳なども含め見た目がそのまま録画されるのに対し、「ウインドウ・キャプチャ」モードでは電卓のみが録画されます。基本的にほかの画像が映りこむことはありません(下で説明するゴミとしてほかの画像が映ることがある)。取り込み枠の左上にあるウインドウ指定アイコンの上で左ボタンを押すとマウスカーソルが□に変わるので、そのまま録画したいウインドウまで持っていくとウインドウの大きさにぴったり合わせることができます。ウインドウ指定アイコンが2つありますがどちらでも構いません。ウインドウ指定アイコンの上で左ボタンを押して、ボタンを押したままマウスを動かして・・・メモ帳の上で離すと、メモ帳のウインドウにぴったり合わせることができます。ウインドウ指定アイコンが2つありますが、左側はウインドウ全体を選択するときに使います。右側のアイコンはウインドウの内部(クライアント領域と言います)を選択するときに使います。ウインドウ内部にあるウインドウ(子ウインドウと言います)を指定する時は、どちらのアイコンでも構いません。ウインドウ指定アイコンを使ったあと、メニューから「キャプモ:ウインドウ指定」または「ウインドウ・キャプチャ」を選択するとウインドウ指定モードでの動作となります。ウインドウ指定モードでは指定したウインドウの位置が移動した場合に、録画範囲も自動的に移動して常に指定したウインドウを録画することができます。取り込み枠の上部に指定したウインドウの情報が表示され、メモ帳の動きに合わせて録画範囲が自動的に調整されるようになります。左のアイコンを使ってウインドウ全体が選択されています。ウインドウの大きさに合わせて録画範囲が調整されます。クライアント指定アイコンを使って、ウインドウの内部が選択されています。ウインドウの大きさに合わせて録画範囲が調整されます。子ウインドウ(ウインドウ内部に配置されたウインドウ)、または任意の領域が選択されています。録画範囲は自動で調整されません。位置のみ親ウインドウをもとに移動します。■「ウインドウ・キャプチャ」モードのゴミについてウインドウキャプチャモードではDirectXなどによりレンダリングされる部分を正しくキャプチャできません。そのため、ウインドウのタイトル部分などAeroガラスで処理される部分にはゴミが映ります(下図だと電卓のタイトルバー部や閉じるボタンが映っていません)。ウインドウキャプチャモードではウインドウの内部を範囲指定してご利用ください。Vistaから導入されたデスクトップコンポジション(代表的な機能であるAeroが有名なため以下Aeroとします)ですが、アマレココ等のデスクトップキャプチャソフトとの相性が悪く、基本的にデスクトップキャプチャソフトの多くはAeroを無効にして使うようになっています(アマレココの設定でAero有効なまま使うこともできる)。Windows7になったからか、それとも最近のPCの性能の御蔭か今ではAeroが有効なままでも著しくパフォーマンスが低下することは無く、それなりのパフォーマンスでデスクトップキャプチャできるようです。今回私が調査した結果を書きます。以下のドキュメントは私がとったデータから推測したもので完全に憶測です。事実と異なる可能性がある点にご注意下さい。取得する画像サイズの大小にかかわらず2フレーム分待たされる。モニターのリフレッシュレートが60Hz(昨今の大抵の液晶モニターが60Hzです)の場合どんなに頑張っても秒間30コマまでしかキャプチャすることができません。キャプチャ範囲が320x240と小さくても、最大30fpsだし、1920x1080と大きくても最大30fpsが限界となります。ちなみに120Hzモニターであればキャプチャfpsの限界は60fpsとなります。リフレッシュレートの半分がキャプチャfpsの限界と考えればわかりやすいかと思います。複数のアプリケーションがデスクトップキャプチャをする場合、協調的な動作となる。60Hzモニターの場合にアマレココを2つ同時に起動すると、それぞれ30fpsに設定しても個々のアマレココの動作は15fpsが限界となります。2つのアプリケーションの合計が30fpsを超えることはありません。同様に3つのアマレココを同時に起動するとそれぞれ10fps前後での動作となります。このようにAero有効時は他のアプリケーションの影響を受けてしまいますので、もし、キャプチャfpsが30で安定しない場合は他のアプリケーションがデスクトップにアクセスしていないか確認するといいでしょう(どうやってかくにんする?)。APIによる違い基本的にはデスクトップのハンドルからデバイスコンテキストを取得して、そこからBitBlt()関数で画像をキャプチャします。これはアマレココも今回のアマレコTVのデスクトップキャプチャ機能も同じです。昨今では2D画像を扱うためのAPIが多々マイクロソフトから提供されており、その中にデスクトップ画像を取得できるものもあります。BitBlt()なんて古臭いので新しいAPIを一通り試してみましたが、いずれも期待外れに終わり、おそらく新しいAPIにしろBitBlt()にしろデスクトップから画像を取得する処理はOSにより一元管理されていて、その部分がネックなので改善の見込みはありませんでした。サンプルプログラムを作ってみましたが残念ながらWindows7では利用できませんでした。Windows8も持っていないので具体的にどのような動作になるのか確認も取れていません。将来的にはこれがWindows7で使えるようになってデスクトップキャプチャのこの閉塞感を打破してくれることを期待します。結局アマレココから何も変わらないじゃんってことになりますが、ひとつ進展したのが「ウインドウ・キャプチャ」機能です。ウインドウキャプチャはAeroが有効な場合にのみ利用可能で、指定したウインドウの画像のみをキャプチャします。指定したウインドウは他のウインドウの下に隠れていても隠れた部分を含めキャプチャすることができます。特徴は画像をデスクトップからキャプチャするのではなく、指定したアプリケーションのオフスクリーンメモリーからキャプチャすることでパフォーマンスを向上させることができることです(30fpsに制限されない)。■「ウインドウ・キャプチャ」の概要Aero有効時は各アプリケーションの画像を管理するためのオフスクリーンメモリーをOSが用意するらしく、デスクトップコンポジションはそのオフスクリーンの画像を元にDirectXの機能を使って半透明や拡大・縮小、3D変換といった処理を施し最終的にデスクトップ用の画像として合成(レンダリング)します。デスクトップ・キャプチャはレンダリングされた後の画像をキャプチャするのに対し、ウインドウ・キャプチャはレンダリングの元となるオフスクリーンをキャプチャする点が異なります。その違いはパフォーマンスに大きく影響し、デスクトップ・キャプチャはレンダリングが終わるのを待つ必要があるのに対し、オフスクリーンキャプチャ(ウインドウ・キャプチャ)では基本的に待たされません(アプリケーション自体が画像を更新している間は待たされると思う)。Aeroが有効でもサクサク動き、高fpsで録画することが可能となります。弱点は、レンダリングされる前の不完全な画像なので、DirectXなどの処理が反映されないことです。キャプション部などのAeroガラスであったり、DirectXを使ったゲーム、EVRなどを使って表示している動画などもキャプチャできません。BitBlt()などのデスクトップキャプチャ処理がアプリケーションで実行されると、OSはキャプチャ処理を奪い取る。(AeroはDirectXのフルスクリーンモードで動作するためBitBlt()などでは正常にキャプチャできない、アマレココがフルスクリーンのゲームを正常にキャプチャできないのと同じ。OSのキャプチャ処理はデスクトップコンポジションに対しデスクトップ画像をキャプチャ用に欲しいとリクエストを出す。デスクトップコンポジションはリクエストがあると表示用とキャプチャ用の2つのデスクトップ画像をレンダリングする。いまレンダリング中の処理には新しいリクエストは間に合わないので反映されない。キャプチャ用の画像がレンダリングされるのは最短で次のフレームとなる。次のフレームがレンダリングされ、リクエストに応じキャプチャ用の画像がOSのキャプチャ処理へ渡される。OSのキャプチャ処理はデスクトップコンポジションから取得した画像をBitBlt()などを実行したアプリケーションへ送る。ポイントはOSのリクエストが次のレンダリングでないと反映されないことと、OSのキャプチャ処理がシングルタスクで窓口が一つしかなく、複数のアプリケーションがBitBlt()を使うと行列ができてしまう点です。行列ができる状況でも合理的にリクエストを発行することは無く、リクエスト→1フレーム以上待つ→レンダリング結果取得→ひととおり終わってから次のリクエストのサイクルをマイペースでこなすためパフォーマンスが低下してしまいます。次のアマレコTVではデスクトップキャプチャ機能が追加されます。できるだけアマレココと同様の内容になるようデザインしています。アマレココに無い新しい機能として、デスクトップコンポジション(以下Aero)が有効の場合に使える「ウィンドウキャプチャ」機能があります。ウィンドウキャプチャではWEBブラウザなど指定したウインドウの映像だけをキャプチャすることができて、Aero有効のまま高fpsでの録画が可能となります。ちなみに、通常のデスクトップキャプチャだと60HzモニタでAero有効時、最高30fpsとなります。ウインドウキャプチャなら他のウインドウの下に隠れている部分もキャプチャ可能。DirectXなどのハードウエアによりレンダリングされた映像はウインドウキャプチャでは取り込めません。(Aeroグラスなどは不可。ラグナロク・オンラインはなぜか快適にキャプチャできる)アマレココとの違いをまとめると次のようになります。アマレコTVは入力端子で4つのプリセットを選択。アマレコTVはAMVビデオコーデックによるハーフサイズのみ。画像を一度にキャプチャせず分割してキャプチャする機能。ゲーム画面の表示が乱れにくくなる。アマレココでは分散処理と呼んでいた。分割キャプチャと同じ効果、分割キャプチャの効果の方が大きいので廃止。アマレコTVはプリセット毎にOn/Off指定可。録画中もOn/Off変更可。アマレコTVはプリセット毎にOn/Off指定可。録画中もOn/Off変更可。使う人がいないので廃止。アマレコTVでもタイムスタンプを挿入できるようにしました。使う人がいないので廃止。アマレコTVのMP3はあまり使えないので実質PCM一択。Aero有効のまま快適にキャプチャする機能。Aero有効のまま快適にキャプチャする機能(Windows8専用)。現状Windows7非対応のため未実装。アマレココはアマミキ!と併用で可能。アマレコTVは単体で可能。リングバッファに常時録画しておいて、気になるシーンがあったらちょっとさかのぼって再生、動画保存する機能。コマ送り、スロー再生などの簡易編集機能あり。配信ソフトや外部エンコーダーに映像と音声を転送する機能。ffmpegとの併用でMP4などによる録画が可能。アマレコTVでは5秒に1枚や、10秒に1枚など1fps以下の録画が可能。アマレココはNASなどのネットワークドライブを保存先に指定して録画するとドロップフレームが増える。アマレコTVはネットワークドライブでもドロップフレームが生じにくい。公開までもうしばらくお待ちください。0あまラボへようこそこのブログでは自作ソフトの最新情報やtips、PC動画に関する話題を掲載していきます。各記事へは下にあるカテゴリからアクセスして下さい。