.setMode メソッド( flash webcamの入力解像度をActionScriptで操作する。)

| | コメント(1) | トラックバック(2)

flashを使ってwebcamで映像を入力するといつも汚くなって困ってしまっていた。
いろいろしらべていたら Camera オブジェクトの .setMode()メソッドで入力解像度を操作できることを知った。

メソッドの使い方は

public setMode([width:Number], [height:Number], [fps:Number], [favorArea:Boolean]) : Void

パラメータ

width:Number (オプション) - 必要なキャプチャの幅 (ピクセル単位)。デフォルト値は 160 です。

height:Number (オプション) - 必要なキャプチャの高さ (ピクセル単位)。デフォルト値は 120 です。

fps:Number (オプション) - 必要なデータキャプチャレート (1 秒あたりのフレーム数)。デフォルト値は 15 です。

favorArea:Boolean (オプション) - 指定要件に合うネイティブモードがカメラにない場合に、幅、高さ、フレームレートをどのように操作するかを指定するブール値。デフォルト値は true で、キャプチャサイズを維持することを示します。このパラメータを使用すると、width 値と height 値に最も近いモードが選択されます。ただし、これによりフレームレートが低下し、パフォーマンスに悪影響を及ぼすことがあります。カメラの高さと幅よりも最大フレームレートを優先するには、favorArea パラメータに false を指定します。

-setMode (Camera.setMode メソッド) より引用。

とあったので、.setMode()メソッドを使った簡単なサンプルをつくって、早速実験してみた。

.setMode()メソッド検証用SWF -- flashplayer8以上,webcam必須
※使用しているWEBCAMによっては最大解像度がそれぞれ違うので、640 x 480 以上は表示できない場合あり。

.setMode()メソッドをつかって、それぞれ 160 x 120 、1280 x 960 の解像度でキャプチャーしてみた。画面の出力は640 x 480 で固定。

webcam_flash_160_120.jpg
flashのデフォルト入力値である160 x 120の解像度のキャプチャー画像。かなり画像が荒い。

webcam_flash_1280_960.jpg
1280 x 960の解像度のキャプチャー画像 画像はきれいになっているがfpsが8まで落ちている。

いろいろ実験してみると、帯域の問題が結構顕著に表れた。
1280 x 960 ではfpsが8までおちてしまいすこしかくかくした感じになってしまう。
960 x 720だと 15fpsくらいで再生できるのでローカルでwebcamの入力を使うときはこのくらいの解像度がベストという気がした。

詳しいメソッドのつかいかたやサンプルソースなどはMacromediaのサイト

トラックバック(2)

このブログ記事を参照しているブログ一覧: .setMode メソッド( flash webcamの入力解像度をActionScriptで操作する。)

このブログ記事に対するトラックバックURL: http://www.hatayan.org/mt/mt-tb.cgi/411

» FlashでのWEBCam入力の解像度の変更方法(映像とその周辺)~のトラックバック

hatayanlog ver0.3 flashを使ってwebcamで映像を入力す... 続きを読む

» 解像度を上げるwith flash media server(en-pr)~のトラックバック

webcamでliveで映像を撮ってすぐに映像の再生を行いたかったので、 fla... 続きを読む

コメント(1)

映像とかを入力しなかった?

コメントする

このブログ記事について

このページは、hatayanが2005年11月20日 16:28に書いたブログ記事です。

ひとつ前のブログ記事は「デジカメの日時設定を間違って写真を撮影したときには」です。

次のブログ記事は「フィルタはややこしい( ColorMatrixFilter()とConvolutionFilter() )」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.01