第7回 走る!マザーボード・ロボ
ライブ中継



静止画か動画か
やはり動かすだけでは面白くありません。 カメラと取り付けて、カメラからの映像を見ながら遠隔操作がしたいというのが当初からの目標でした。 しかしいざやってみるといろいろと問題がありました。

静止画のメリットはCPUの負荷やネットワークのトラフィックが少なく、 どんなクライアントでも見ることができるというメリットがあります。 しかし遠隔操作を行うためにはある程度のリアルタイムさが必要です。 静止画撮影にはListCamという、とても優秀なフリーウェアがあります。 しかしたとえListCamでも最低1秒間隔の撮影となり、更に画像を同期させるために高度な技術が必要です。 そこでこの辺は目的別に使い分け、遠隔操作をする場合は動画で行うことに決めました。

カメラの選択
最近ではビデオチャットの人気のためか、いろいろな種類のPCカメラ(一般にはWebカメラって呼んでるけど、 Webじゃねーだろと突っ込みを入れたくなる(笑))が発売されています。しかしよく見るといくつかの種類の分類されます。

・USB接続 COMSカメラ
・USB接続 CCDカメラ
・IEEE1394接続 CCDカメラ

よく2、3千円で売られているのはCOMSカメラというもので、画質はあまりよくありません。 CCDカメラは高めですが、画質もそれなりにきれいです。 IEEE1394は400Mbpsという高速なインターフェースですが、ほとんど店頭で見ませんね。 USB 2.0対応のカメラも現時点ではほとんど発売されていないようです。 今回は10万画素のCMOSカメラ、通称・田代ま●しカメラと、CreativeのCCDカメラWebCam Plusでテストしました。

田代ま●しカメラは画質が悪いうえ、ドライバの出来が悪いのかかなりCPUに負荷がかかります。 あまりに重すぎて数秒間操作ができなくなることもあり、田代ま●しカメラの使用はあきらめました。 ただフレキシブルタイプのため、ロボット本体を画面内に写すなんて芸当もできます。 画面下にロボット本体が写り景色が変わっていく様は、まさに火星探査ロボットを操作しているかのような気分になります。

CreativeのWbeCam Plusは、Linuxでも使用できるov511チップが載った製品です。 画質も悪くないのでこちらを使用することにしました。ただしでかいです。 USBケーブルは太っとくて邪魔なので、コムサテライトで売っていた極細USBケーブルを使用しました。

ストリーミングサーバーの選択
ストリーミングと言えば、QuickTime、Windows Media、Realなどがあります。 今回は遠隔操作をするため、クライアントに映し出される映像と実際のタイムラグを極力減らさなくてはなりません。 まず手軽にインストールできるのがWindows Media Encorderですが、 映像の遅延は20秒以上もあり、全くの問題外です。

そこでReal Serverを試しましたがとても面倒くさいです。 今はHelix Serverという名前になっています。 まず動画を取り込むHelix Producerというソフトと、動画を配信するHelix Serverが必要です。 Helix ProducerはWindows 98では正常に配信できなかったため、Real Producerを使用しました。 サーバーはHelix Serverです。いずれもBasic版なので無料です。 ダウンロード時のアンケートや、試用版は使用期限が1年間しか使えなかったり、 ライセンスファイルを受信して読み込ませたりと何かと面倒です。 ただHelix ServerはRealだけでなく、Window MediaやQuick Timeの配信もできるため、 ビジネスとして使っていこうと考えている人には便利でしょう。 まあライセンス料もとんでもないな金額になっているので、個人の趣味レベルでは手が出せません。:-)

やっとの思いでセットアップをしてみましたが、それでも遅延は10秒ほどありました。 Windows Media Encorderより早いとはいえ、やはり10秒も遅延があっては円滑な操作もできません。 残念ながらこれも使用できないという判断になりました。

発想の転換
考えてみればライブストリーミングでは、多少遅延が生じていても何ら問題はありません。 問題があるのは…チャット。そうだ、チャットソフトを使ったらどうか!ということでYahooメッセンジャー、 MSNメッセンジャー、Eyeball Chatを試してみることにしました。

まずはじめに試したのがYahooメッセンジャー。操作も簡単でとても便利なソフトです。 しかしYahooメッセンジャーはLAN内でP2Pで通信することができません。 1クライアントにつきグローバルIPアドレス1個+ポート5100番を開けておく必要があります。 同じグローバルIPアドレスにNAT/IPマスカレードで同じポート番号を割り当てることはできませんので、 仕様上Yahooメッセンジャーは使用できないことがわかりました。

そこでMSNメッセンジャーならUPnPに対応しているので、UPnP対応のルーターを使えば、 Yahooメッセンジャーのような問題も起こらないと思いました。 しかし部屋の中だけでなく、インターネットに接続していればどこでも使えるようにしたいという願望もあったので、 残念ながらMSNメッセンジャーも使用できません。

やはり動画は無理なのかな…と半ばあきらめていた矢先、Eyeball Chatならファイアウォールを使っていても大丈夫 という情報を入手しました。Eyeball Chatを使用するには会員登録が必要ですが、 いずれも無料で使用することができます。早速試してみると今度は大成功です。 何でルーターの設定も何もしていないのにLAN内で双方向チャットができるのか不思議でたまりません。 どんな技術を使っているのか…すごいです。でもこれなら思い描いていたことが実現できます。

実際に試してみると、smallサイズの映像で遅延は0.5秒。これなら許容範囲です。 これなら問題なく操作をすることもできます。しかしsmallサイズではあまりに小さくて見づらいです。 そこでnormalサイズにしてみますが、そうすると遅延は1.5秒くらいになります。 フレームレートや画質を下げてもだめでした。CPUへの負担もかなり大きいらしく、 無反応になることもしばしばあります。そこで今回はsmallサイズで我慢することにしました。

メニュー

  1. TOP
  2. はじめに
  3. フレームとバッテリー
  4. 電源回路
  5. モーター
  6. USBコントローラー
  7. 組み立てる
  8. 無線LAN
  9. ソフトウェアの選択
  10. ライブ中継
  11. 遠隔操作
  12. おわりに
  13. [おまけ] コムサテライト・エディション

 


戻る