静止画出力は可能に今は、Ubuntu向けのWebカメラレコーダーを開発中で、今日の時点で、Webカメラからの映像を静止画出力する事は可能になった。動画出力については、TiDesktopRecorder用のコードを、ほぼそのまま利用できるので、明日には、動画出力も、一応は、可能になっている筈だ。数日前に書いたように、Ubuntu用のWebカメラレコーダーは、Webカメラからの映像取得用に、V4L2というAPIを利用しているのだが、このAPIでは、Webカメラのネイティブデータしか取得できない。WebカメラがYUV形式でデータを出力してくれば、その形式でデータを受けとる事になるし、MJPG形式で出力してくれば、その形式で受け取らなければならないのだが、静止画出力だとかAGM形式動画出力する為には、映像データは、基本的には、RGB32形式にしなければならない。AGM形式用の処理コードの中には、YUV形式を受け取れる様にしているものもあるのだが、より自由にデータの加工等を行いたい場合、データは、やはり、RGB32形式になっていた方が扱いやすい訳だ。冒頭に書いたように、今日の時点で、Webカメラからの映像を静止画出力する事が可能になったのだが、Webカメラから取得したデータはRGB24形式に変換してからファイル出力している。正確に書くと、PPM形式で出力しているのだが、この形式は、先頭に単純な文字列ヘッダを付け、後はRGBのバイナリをそのまま書き込むだけで良いので、出力が楽で、かつ、Ubuntu環境では、出力したPPMファイルをダブルクリックすれば、画像ビューアーが立ち上がって画像を表示してくれるので、テスト用には、この形式が便利だった訳だ。言うことで、今日の時点で、Webカメラからの出力映像をRGB形式に変換して出力したPPMファイルの画像が正しい事まで確認できたので、既に、Webカメラがサポートしているフォーマットだとか解像度情報の取り込みも出来ているので、Webカメラレコーダーとしての主要コードは実装できた、という事になる。前述の様に、V4L2では、Webカメラから出力されてきたデータのデコードはアプリ側で行わなければならないのだが、巷のWebカメラレコーダーには、色々な出力フォーマットがある訳だ。全ての形式に対応するのは大変なので、開発中のWebカメラレコーダーでは、最も一般的なYUYVとMJPG形式のみをサポートするつもりなのだが、今日の時点で、双方のデータをRGB形式に変換する事が可能になっている。言うことで、Webカメラレコーダーとしての新しい処理コードについては、問題なく動作する所まで確認できたのだが、まだ、映像のプレビューだとか動画としての録画機能なんかは実装していないので、明日は、そういった部分の実装を行うことになる筈だ。ちなみに、V4L2の仕様を色々と調べたりしていると、API的には、Webカメラの映像取得時には、ピクセルフォーマットと解像度以外に、フレームレートの指定も可能な様なのだが、フレームレートについては、最高レートに固定する事にする。Proに内蔵されているWebカメラのみで、USB接続の他のWebカメラでは、フレームレートは固定だから、という事もあるのだが、UbuntuにプレインストールされているWebカメラ録画ツールである所のCheeseでも、解像度の指定は出来ても、フレームレートの指定は出来ないからだ。逆に、Cheeseでは、画像の明るさ/コントラスト/鮮やかさ/色相の調整が可能なのだが、開発中のWebカメラでは、まだ、そういった調整機能は実装していないので、こちらについては、こちら側にも、実装する事になる筈だ。Adsense)サービスを利用しています。使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。パートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。