2010年6月12日土曜日

WebCamを動かしてみる

カーネルの吐き出すdmesgを読んでると、UVC系のカメラドライバやキャプチャドライバがロードされてるのが分かる。
で、実際にWebCamをつないで色々試してたんだけど、どうにも絵が出ない。
画面が固まってアプリ死亡(-m-)ちーん
WM8505はMJPEGのハードウェアデコーダを内蔵してるから処理できると思ったのになぁ~。
デバイスの認識も上手く行ってるので、処理できないのはしょぼいスペックのせいだな。

と、思ってたら、SlateDroidのフォーラムでWebCamを動かしてる動画があった。
む、、、結構、スムーズに動いてる。
やっぱ動くじゃないか。

と言うわけで、知り合いに借りたWebCamで試してみることにした。

Microsoft LifeCam VX-500
最大640x480出力。

とりあえず、M001に刺す。
認識された様子はこんな感じ。
uvcvideo: Probing generic UVC device 1.4
uvcvideo: Found format YUV 4:2:2 (YUYV).
uvcvideo: - 640x480 (30.0 fps)
uvcvideo: - 352x288 (30.0 fps)
uvcvideo: - 320x240 (30.0 fps)
uvcvideo: - 176x144 (30.0 fps)
uvcvideo: - 160x120 (30.0 fps)
uvcvideo: Found a Status endpoint (addr 83).
uvcvideo: Found UVC 1.00 device Microsoft LifeCam (045e:074a)
uvcvideo: Added control 00000000-0000-0000-0000-000000000101/2 to device 1.4 entity 3
uvcvideo: Added control 00000000-0000-0000-0000-000000000101/3 to device 1.4 entity 3
uvcvideo: Added control 00000000-0000-0000-0000-000000000101/6 to device 1.4 entity 3
uvcvideo: Added control 00000000-0000-0000-0000-000000000101/7 to device 1.4 entity 3
uvcvideo: Added control 00000000-0000-0000-0000-000000000101/8 to device 1.4 entity 3
uvcvideo: Added control 00000000-0000-0000-0000-000000000101/9 to device 1.4 entity 3
uvcvideo: Added control 00000000-0000-0000-0000-000000000101/1 to device 1.4 entity 3
uvcvideo: Added control 00000000-0000-0000-0000-000000000101/5 to device 1.4 entity 3
uvcvideo: Scanning UVC chain: OT 2 <- XU 5 <- XU 4 <- PU 3 <- IT 1 uvcvideo: Found a valid video chain (1 -> 2).
input: Microsoft LifeCam as /devices/pci0000:00/0000:00:04.0/usb1/1-1/1-1.4/1-1.4:1.0/input/input4
uvcvideo: UVC device initialized.
特に問題ないっぽい。

で、アプリで激写!
今回使ったのは ToyCam と言う軽量アプリ。複雑なことはできないけど、写すだけならこれでOK。

こんな感じで、、、、



あ、映った。( ・ω・)
(動画の音声は切ってます)

でも、タイミングによってはアプリが固まる。。。。
安定性は正直、いまいち。

で、ご覧の通り、結構スムーズに映ったりして。
このしょぼスペックにおいて、このヌルヌル具合。
ハードウェアデコーダの威力恐るべし。

手持ちのカメラ(300万画素)が動かなかったのは、単に初期解像度が高すぎてストリームがパンクしてたっぽい。
低解像度のUVCカメラならいけそう。

ちなみに、ToyCamでシャッター切ると、なぜか画面一面緑色の画像が撮れた。
なぞが多いぞ、カメラ周り。

5 件のコメント:

  1. ひと昔前の30万画素程度のWEBカムならいけそうですね。
    予想外に画面の描画はスムーズじゃないですか。
    大事に使ってた充電器(爆
    ついに壊れました・・・・まぁ持ったほうでしょ(^^:
    ハブ内臓部品といっしょに買ってこないと。

    返信削除
  2. そうですね、30万画素程度のUVCカメラがいいかもです。
    有志で動作報告とかまとまればいいんですけどね。
    アプリのToyCam側で解像度が変えられなかったので、他のアプリも試してみようと思ってます。

    うちのACアダプタはまだ生きてます。
    中華クオリティは恐ろしいですね(笑)
    本体よりも改造部品代の方が金が掛かるってのも考えもんですが(爆)

    でも、それが楽しい!(馬鹿)

    返信削除
  3. HOでACアダプタ確保してきました。コネクタも付け替え充電もOK...
    なんですが、このACアダプタ、表記には9V1Aとなってますが
    テスターで計ると12V(^^;
    まぁあ無負荷での測定なんで・・・・大丈夫でしょうか(笑

    UMPCなんかについてるカメラってUSB接続でっしょうかね
    あれくらい小型だと内臓できそうな(^^

    返信削除
  4. むはw燃えない程度に(笑)

    ネットブックのカメラのほとんどは内部でUSB接続でしょうね。
    ショップなんかでデバイスマネージャ見れば分かると思いますよ。たぶん、UVCカメラでしょう。

    返信削除
  5. 萌えるかな(爆
    う~~ん、やっぱりまずいでしょうかね。
    その前の日にホームセンターで汎用のマルチACアダプタがあったんですが2Kと高価だったんで・・・
    ちと心配になってきましたよ~(^^;
    適当なハブがまだ手に入らなくって、欲しいときには見当たらないものです。

    返信削除