2010/11/29

バージョン1.1βリリース

■新機能
-ビジョンマウス機能特徴的な色を持ったカラーマーカー(色紙などなんでもよい)を仮想カメラ内でのワイプ操作に限りマウスのように扱える機能です。人差し指サイズに色紙で作った細長いキャップなどが適当です。
--使い方
1.メニュー→設定→ビジョンマウスを選択肢「Vision Mouse Setting」ダイアログを開いておき、「ビューにマーカー追従分析情報を表示」にチェックを入れておきます。
2.スクリーン上の好きな領域を最低2つキャプチャーします。
3.片方のワイプの属性で「ビジョンマウスマスタ」にチェックを入れます。このワイプがマーカートラックを行う対象となり、もう片方がそのマーカーで操作される側となります。
4.「ビジョンマウスマウスマスタでないほうのワイプ」をビュー上でクリックし前面に出しておき、編集モードで「Vision Mouse」を選択します。
5.Vision Mouseモードのときにマーカーとして認識する領域をビュー上で随時選択できるようになりますので、ビジョンマウスマスタとなっているワイプにマーカーを映しておき、マーカーとして認識したい部分をドラッグして選択します。 認識した時点で映っているマーカーの形が「待機状態」として認識され、「クリック状態」にも「ドラッグ状態」にもなりません。
6.うまく認識されるとビュー上でマーカーの周りに四角形とその中心に円が表示されます。マーカーから離れたところに表示されてしまう場合はうまく認識されていません。うまく認識させるコツは後述します。
7.指を斜めに傾けるか、前後に倒すことで「クリック状態」にできます。この状態でマーカーを動かすと「ドラッグ」できます。マーカーを「待機状態」に大体近い姿勢に戻すことで「待機状態」となります。このクリック感度やドラッグ感度の調節は1で開いておいた設定ダイアログで行えます。
8.マーカー領域を認識させなおしたい場合は5の手順を行います。 
--マーカーを認識させやすくするコツ
上記1の手順で開いた設定ダイアログにおいて、「ビューにマーカー追従分析情報を表示」にチェックを入れておいた場合、ビュー上に「ビジョンマウスマスタ」となっているワイプの色分析情報がグラフのように表示されます。1段目のグラフがマーカー領域で2段目のグラフが「ビジョンマウスマスタ」となっているワイプ全体の分析情報です。2段目のグラフであまりグラフが高くなっていない色を選択し、マーカーとすることで認識しやすくなります。部屋の光の加減やキャプチャーしている画像の色合いなどによってこのグラフを参考にマーカー色を選択してください。


-顔認識、顔部位追従マスク機能

顔や顔部位を検出し、その部分にほかのワイプをマスクとして追従させられる機能です。 
--使い方
1.最低2つの領域をキャプチャーしておきます。片方は人の顔の特徴に近いものが映った映像がないと認識はされないでしょう(映像によってはされます)。
2.顔認識対象となるワイプを右クリックし、詳細設定ポップアップを開き、「顔認識対象にする」にチェックを入れます。これでこのワイプの画像を元に顔認識が行われます。
3.顔認識対象ワイプ以外のワイプを右クリックし、詳細設定ポップアップを開き、「認識された部位のマスクにする」にチェックを入れ、「顔パーツ割り当て」コンボボックスからパーツを選択してください。 これでその部位を追従するマスクとしてワイプが設定されます。
4.顔認識対象ワイプに顔(の特徴を持った画像)を映し動かして追従することを確認してください。
--コツ
・小さめの顔画像等は認識しづらくなっています。
・顔前面から若干斜めから見た顔が認識されます。横顔は認識されません。


-認証サーバ変更
・このバージョンより前のAK-Camでは認証が行えなくなりました。ご迷惑をおかけいたしますがこのバージョンからお使いください。
・実行ファイルパスに配置されている「authsrv.txt」には認証サーバ情報が記されておりますので削除すると正常に動作しません。サーバ障害発生時などに大体URLなどをこちら側で配布して書き換えることで認証が行えるようなケースも想定して用意されているファイルです。


-フリー版における制限変更
・右上にすかしが表示されるのみとなりました


2010/07/16

AK-Cam バージョン1.0.4 リリース

マイナーアップデートです。
  • 速度向上
  • FPS可変
  • スムージングアルゴリズム変更

2010/07/09

Ustreamの16:9アスペクトレシオについて

Ustreamには16:9の画面比率にする機能がありますが、このときもAK-Camでは4:3の比率で使用してください。なぜならUstreamの16:9は「単にビデオ領域を16:9」にするだけのようだからです。なので特にAK-Camでも16:9にしなくても、レイアウトを調整してやればきれいに放送できるようです。

AK-Cam - UstreamにおけるAdobeFlashMediaLiveEncoderとの兼ね合いについて

現在確認できている現象として(開発者の環境でのみですが)、UstreamにおいてLiveEncoderを使用すると、UstreamデフォルトのBroadcasterを使ったときよりフレームレートががた落ちします。理由はわかっていませんが、Ustreamを使う際にはFlashプレイヤーのインスタンスをいくつか立ち上げることになる場合があり、LiveEncoderと併用するとAK-Camのモジュールがその数だけ読み込まれます。それが原因となっているかどうかはわかりませんが、ニコニコ生放送ではクオリティがあがります。
なので一応現在UstreamではデフォルトのBroadcasterかUstreamが発行している高画質配信用プラグインの使用を推奨します。
Ustreamのライブ再生画面のFlashはなぜだか放送主用でなくても仮想カメラモジュールをリロードするようです。

追記:ニコ生でも放送者用プレイヤーを複数立ち上げた場合には同様のことが起こります。

AK-Cam version 1.0.3 リリース

マイナーアップデートです。
キャプチャーモード時のスクリーンに「Press [ESC] key to exit」という表記を追加。
ダウンロードサイト

2010/07/08

AK-Cam バージョン1.0.2リリース

マイナーアップデートです。
ライブ配信時に、ライブサイトとAK-Camの起動はされているがキャプチャーが何も存在しないという場合の待機画像を「砂嵐画面」から新規画像へ変更いたしました。

このアップデートでは以上です。
ダウンロードサイト

2010/07/04

高速・高画質・高柔軟性を持つライブ配信用キャプチャーソフト(仮想カメラ)

ダウンロードサイト

最新版DirectXラインタイムをインストールしてください

■特徴
・簡単、高速、高画質
Flash Media Live Encoderや配信サイトの設定に自動的にあわせるので、面倒な配信設定は必要ありません。
・Windows(R)7世代のハードウェアアクセラレーションが施された描画機構を使用(Direct2D)
・デスクトップ領域複数同時キャプチャ
・マルチモニター対応
・マルチシーン管理機能
・ダイナミックワイプ編集
移動、拡大縮小、回転、透かし効果(半透明効果)、リアルタイム編集(ライブに即反映)
・ゲームキャプチャー機能(Direct3D 9,10,11対応)
マルチモニター環境において、フルスクリーンゲームをキャプチャーしながらの配信がしやすい操作になっています。
・コメントフロー機能(β)。SkypeAPIとの連携により、Skypeでやりとりされるチャットが描画結果へ流れるコメントとして反映されます。
・クロマキー処理(sRGB、HSV色空間)
よくTVとかで青の背景で撮影してたりするあれ。色は好きに選べます。また、抜き色とその他の部分の境界部分に抜き色との中間色が残ってしまい汚い時などにはワイプ詳細設定からクロマキー閾値を調整することでこれを解消できます。
・ドラッグアンドドロップで画像データをリアルタイムにライブ配信へ追加
画像ファイルをドラッグ&ドロップしてライブ配信中の好きなときに追加できます。
・AdobeFlashMediaLiveEncoder(R)対応
FMLEでライブ配信をすることにより高品質配信ができます。
FMLEでの入力解像度変更を動的に監視し、AK-Camで使用する解像度などを動的に調整します。低解像度のほうが処理が軽くなりますが、コンピュータービジョン機能などを使う際に精度が落ちる他、当然のことながら画質が低下します。
・有名ライブ配信サイトで使用可能
・省スペースUI
・Ustream、Stickam、justin.tv、ニコニコ生放送などでお使いいただけます。

■とりあえず使うには
1.放送サイトの放送画面を表示。FlashMediaLiveEncoder(FMLE)などを配信に用いるときはそれも起動。
2.AK-Camを起動。
2.1.カメラ機能を用いるFlashや FMLEなどはAK-Camをカメラと認識して、AK-Camの仮想カメラモジュールを起動時やサイト表示時に読み込みます。AK-Camを起動しているときにその読み込みが行われると配信画像が乱れたり、初期画像に戻る場合がありますが、その時はAK-Camの「ドライバ再読込」ボタンを押したり、FMLEの再起動やサイトのF5再表示などで対応できます。
3.カメラリストでAK-Camを選択。 画像が乱れていたり、表示されない場合は、簡易コントロール上にある「仮想カメラ再読込」ボタンを押してみてください。 リストに出ない場合はAK-Camモジュールがホストプログラム(FMLEやブラウザ)に読み込まれていません。 AK-Camを起動した状態でホストプログラムを再起動することで再読み込みされます。
4.なんらかのキャプチャーを試してみて、キャプチャ内容が表示されれば成功です。
5.コンピュータビジョン機能についてはこちらをご参照ください。
6.比率設定は、ライブ配信サイトなどで出力画像を単純に16:9などに加工している場合向けのものです。ライブ配信時のアスペクト比が4:3などの場合に16:9などの比率をAK-Camで用いると引き伸ばされた画像が出力されたりしてしまいます。
7.画像ファイルをAK-Camビュー上へドラッグ&ドロップすることでワイプとして追加できます。
8.「カメラワイプ追加」ボタンを押すとカメラデバイス選択ダイアログが表示され、接続されているカメラと登録されている仮想カメラがリストアップされますので、その中から使用するカメラを選択してOKボタンをおすことで、ビュー上にカメラワイプが追加されます。

■Tips
▶ワイプ詳細設定ダイアログ(ワイプ右クックで表示)で出来ること

                          ※ワイプ詳細設定ダイアログは若干半透明で表示されます。

・ワイプ名編集

・配置設定
・スケール設定 
・角度設定
・移動 
・透明度設定

・顔認識設定
「顔認識対象にする」にチェックを入れるとそのワイプに表示されている画像から顔と認識される部分を選び出し、マーカーを表示します。「認識された顔パーツのマスクにする」にチェックを入れると、顔認識対象ワイプが存在する場合、認識されたマーカー部分にマスクワイプを追従させます。

・クロマキー処理設定
AK-Camのビュー横に配置されているワイプ属性でクロマキー処理にチェックが入っているワイプで有効です。クロマキー(抜き色)にはR(赤)G(緑)B(青)要素がありますが、内部的にこれらの要素の値に範囲が設けられており、ワイプ詳細設定ダイアログ上のクロマキー設定でその範囲を調整できます。クロマキーとその他の部分の境界で、望まない色が混じっている場合などに、この範囲を調整することできれいにできる場合があります。 また、透過にする色の範囲をHSV色空間で指定できます。 「-」「+」の枠内のスライダーは、選択されている基本クロマキーからの「広がり」を指定するためのものです、-なら左に、+なら右にスライダーを動かすことで範囲が広がります。スライダー横のエディットボックスに数値を直接入力することでも指定できます。エディットボックス横の矢印ボタンは微調整用に少しずつ値を変える際に用います。
「処理部不透明度」は0から255までの値で、クロマキー範囲に該当するピクセルが透過処理を施される際に、完全な透明ではなく、半透明にする度合いを指定できます。
「閾値範囲内ピクセル描画」にチェックを入れると、透過処理を行う部分を反転させます。 逆クロマキー処理と言ってもいいでしょう。

▶メニュー→コメント→Skypeチャットをコメントとして流す(β)
このメニュー項目を選択すると、AK-Camが起動中でかつログイン済みのSkypeに接続を試みます。正常に接続ができると以下のような通知がSkypeに表示されますので、接続を許可してください(一度許可後に、再度行うとこのメッセージがSkype側で出ないことがありますが、AK-Cam側で特に通知が出ない場合、接続されている場合がほとんどですので、チャットなどを入力してご確認いただけます)。


許可後から、「Skypeのコンタクトリストで現在選択している」コンタクトまたは会議チャットに送られてきたチャットメッセージが、AK-Camのビューと出力画像に流れます。 
流れるコメントの文字の大きさや色、表示時間、フォントなどは メニュー→設定→コメント設定 から設定を行っていただけます。 

チャットの文章には「オプション」を含めることができ、チャットメッセージに以下のようにオプションを付け加えることで、いくつかの効果をコメント描画結果に与えることができます。

(例)
\n \c ff0000 \o 125 hello (Skype名付き、赤色、不透明度125 でhelloというコメントを流す)
\top \c ff00ff \o 255 hello (紫色、不透明度255=不透明 でhelloというコメントを画像上部に表示)
\bottom \c 00ff00 hello    (緑色、不透明 でhelloというコメントを画像下部に表示)

\n : Skype表示名をメッセージの跡に「@name」のように付加する。
\c [rrggbb]  : 色値指定(RGB) 
RGBは各色2桁の16進数表記で10進数にすると0-255の範囲で、 RGBの順で6桁の16進数表記です。
\o [0-255]  : 不透明度指定
\top : 上文字オプション
\bottom : 下文字オプション

通話用(プライマリー)とチャット受信用(セカンダリー、AK-Camコメント機能連携用)でSkypeを多重起動すると使いやすいかと思われます。 多重起動を用いる場合には、プライマリーを以下のように設定して、Skype Accessを無効にしてください。 プライマリーとセカンダリー側でコンタクトがつながっており、チャットのやり取りなどをしない場合は大丈夫ですが、そうでないばあい現行バージョンのAK-Camが落ちます。 過去のバージョンのSkypeではプライバシー設定から「Skype APIアクセスの許可」を設定する項目を変更してください。


Skypeを多重起動するにはDOSやスタートメニューの「プログラムとファイルの検索」欄に以下のコマンドを入力することで行えます。 Skype.exeのパスは環境によって適宜変更してください。

コマンド:"C:\Program Files (x86)\Skype\Phone\Skype.exe" /secondary


2つのPCを用いることが出来る場合や、仮想PC環境でSkypeが動作可能なOS(Windows、Linux等)を動かせる環境では、これらを用いるという手段もあります。

▶ゲームキャプチャー(32bit版Direct3Dキャプチャー)
Direct3Dを用いているゲームのキャプチャーが行えます。 フルスクリーンとウィンドウモードの両方で行っていただけます。 簡易コントロール上のゲームキャプチャーボタンから行えます。

・対応ライブラリ
-Direct3D 9 x86(32bit)
-Direct3D 10 x86(32bit)
-Direct3D 11 x86(32bit)

ゲームキャプチャーボタンを押すとダイアログが表示されるので、「プロセス名」「描画ライブラリ」を指定してください。 プロセス名には「.exe」拡張子をつける必要はありません。 描画ライブラリは、キャプチャー対象ゲームが使用しているライブラリのバージョンを、ゲームの配布元サイトなどの推奨環境欄などで調べられますので、そこに記載されているものを指定してください。 仮に調べられなくても、すべて試せば対応しているバージョンは確認できます。

ゲームのプロセス名を調べる際にはタスクマネージャーの使用をお奨めいたします。(タスクマネージャーの開き方) タスクマネージャー上のプロセスタブでゲームのプロセス名を探してください。

プロセス名と描画ライブラリを指定してOKを押すと、ビュー上に空のワイプが表示されるかと思いますが、この状態のときはまだキャプチャーが開始されていません。 キャプチャーを開始するには、ゲームウィンドウをクリックまたはフルスクリーン化して「アクティブ化」してください。
キャプチャーしている最中にゲームのプロセスを終了すると、そのワイプは使えなくなるため、新たにゲームキャプチャーワイプを上記手順で作成してください。 同じプロセス名で行うと、空ではなく、前回の画像が残ったワイプが表示されている場合がありますが、これは「アクティブ化」されていない状態なので、上記手順のように「アクティブ化」してキャプチャーを開始してください。

要約すると、ゲームキャプチャーワイプを追加→ゲームウィンドウをクリックorフルスクリーン化 という手順を毎回行ってください。

マルチモニター環境であれば、キャプチャー状態を別モニターで確認しつつプレイ配信できます。かなり変わった実装をしてあるDirect3Dアプリケーションでなければ問題なく上記操作が行えます。

フルスクリーンモードのDirect3Dアプリケーションをキャプチャーした場合、フルスクリーン化した後画面に収まるようにできています。
ウィンドウモードのDirect3Dアプリケーションをキャプチャーしている場合、ウィンドウサイズの変化に伴ってワイプサイズが自動的に変更されます。

▶メニュー→設定→ビジョンマウス
ビジョンマウスマスターが存在し、ビジョンマウス処理が行われる際に影響する設定を行うダイアログが表示されます。
ビジョンマウスマスターを用意するには、ワイプ属性でビジョンマウスマスタにチェックを入れます。その後編集モードを「VisionMouse」に変更し、ビジョンマウスマスターワイプでマーカー部分を囲むようにドラッグ&ドロップで選択します。その部分の色情報が解析され、マーカー以外の画素からきわだつ色成分を持つ場合、マーカーとしてうまく認識されます。認識されたマーカーはマウスのポインタのような役割をします。マーカーを認識した時点の姿勢から横や縦に傾けることでクリック状態になります。クリック状態のまま移動させることでドラッグ処理になります。ドラッグ処理中にマーカーが別のワイプ上にある場合、そのワイプが移動します。ビジョンマウスのクリック感度などもここから設定できます。
ビジョンマウス使用時の画像解析情報をビューに表示するかどうかの設定もここで行います。解析情報は編集モードが「VisionMouse」で、マーカー領域が選択されていないと表示されません。ビジョンマウス認識があまりうまくいかない場合、解析情報を表示しながら 「vmin」「vmax」「smin」の値を変え、その変化を見ることである程度ビジョンマウス使用に適した設定を判断できますが、初心者の方には難しいので規定値をお使いいただいてもよろしいかと思われます。最初はsminを変更し、解析情報のマスク(白黒画像)を観察し、マーカー部分がマスクでできるだけ目立つような設定をお探しになられるとよろしいかと思われます。

▶メニュー→設定→顔認識
顔認識対象が存在し、顔認識処理が行われる際に、認識される最小ピクセルサイズ(四方)が変更できます。値を小さくするほど精度の高い認識が行われますが処理が重くなります。

▶画像ファイルをワイプとして追加するには
画像ファイルをAK-Camのビュー上にドラッグ&ドロップしてください。BMP、JPG、PNGなどには対応しております。

▶AK-Camを起動しているのに出力画像が乱れる場合
・仮想カメラデバイスのホストプログラム(FlashMediaLiveEncoderや放送サイトの放送者画面など)を再起動してください。 
・簡易コントロール上の「仮想カメラ再読み込み」ボタンを押し、仮想カメラのリロードを試みてください。

■フリー版における制限
・出力画像右上に透かしが入る