Androidのカメラ画像をリアルタイムにパソコンから見られる「WSCamera for Android」を作った
Androidのカメラから取り込んだ画像を、WebSocketでリアルタイムに転送し、パソコンに表示させる「WSCamera for Android」を作った。
実際に動作させた写真がこれ。
実際に動作させた写真がこれ。
ダウンロード
アプリケーション本体とコードはGitHubで公開している。
使い方
・WSCamera for AndroidをAndroid(2.2.x以上)にインストール
・WSCamera for Androidを起動
・「http://[AndroidのIPアドレス]:40320/wscamera/html/index.html」にブラウザからアクセス
・WSCamera for Androidを起動
・「http://[AndroidのIPアドレス]:40320/wscamera/html/index.html」にブラウザからアクセス
仕組み
仕組みは以下の通り。
■キャプチャ機能
・Androidのカメラから、プレビューを取得
・プレビューのデータを、NV21からJPEGに変換
・JPEGを、バイト配列の「画像データ」に変換
■WebSocketサーバ機能
・Android内に、WebSocketサーバを起動
・ポート番号40320で接続待ち
■データ転送機能
・WebSocketの「画像データ」要求メッセージ受信時に、「画像データ」を送信
(現時点では、受信メッセージの判断はしていない)
■画面表示機能
・画面を開いた時に、WebSocketサーバに接続
・WebSocketサーバ接続時に、「画像データ」要求メッセージを送信
・「画像データ」受信時に、「画像データ」をimg要素のsrc属性に設定
・img要素のsrc属性に設定後、WebSocketサーバに接続
■キャプチャ機能
・Androidのカメラから、プレビューを取得
・プレビューのデータを、NV21からJPEGに変換
・JPEGを、バイト配列の「画像データ」に変換
■WebSocketサーバ機能
・Android内に、WebSocketサーバを起動
・ポート番号40320で接続待ち
■データ転送機能
・WebSocketの「画像データ」要求メッセージ受信時に、「画像データ」を送信
(現時点では、受信メッセージの判断はしていない)
■画面表示機能
・画面を開いた時に、WebSocketサーバに接続
・WebSocketサーバ接続時に、「画像データ」要求メッセージを送信
・「画像データ」受信時に、「画像データ」をimg要素のsrc属性に設定
・img要素のsrc属性に設定後、WebSocketサーバに接続