Webカメラを介して画像をキャプチャし、その上で何らかの処理を行ってから、結果の画像をソケットを介して別のコンピューターのクライアントアプリケーションに送信するCで記述されたアプリケーションがあります。同様のことをしたいのですが、クライアントとしてWebページを使用しています。phpまたはjavascriptを使用してこれを行う方法はありますか?
3 に答える
キャプチャされた画像を受け入れ、httpリクエストを介してそれらを提供する中間サーバーを使用することもできます。(flickr.comまたはphotobucket.comを考えてください)そのサーバーのコードをPHPで記述する必要はなく、任意のサーバー側言語を使用できます。
たまたま、現代の標準は実際には「Websocket」と呼ばれるものを推進しています。
http://en.wikipedia.org/wiki/WebSocket
ただし、処理を伴う単一の画像のみを提供している場合、WebSocketアプローチを実行するのはやり過ぎのように思えます。(あなたは「ビデオ」と言いますが、それから「画像...」を送ることについて話します)
ほとんどの人は歴史的に、利用可能なソケットを備えたフラッシュクライアントを使用してWeb上でビデオを作成していました。
私の理解では、クライアントがブラウザを使用して結果を取得することを望んでいます。PHPは必要ありません。SimpleHTMLで十分です。ファイルのリクエストを処理する非常に単純なhttpサーバー(画像をキャプチャするプログラム)に実装できます。これがCのサンプルです。キャプチャされた画像はローカルディスクに保存され、リクエストに応じて提供されます。または、リクエストが到着するとキャプチャされ、リクエストしているクライアントに提供されます。もちろん、頻繁に画像を取得する必要がある場合は、クライアント側でJavaスクリプトを使用して更新することもできます。
PHPはサーバー側で実行され(したがって、クライアントのカメラにアクセスできないため)、現在、PHPとJavaScriptを使用してこれを完全に行う方法はありません。また、ほとんどのブラウザー*は現在JavaScriptを介してWebカメラを公開していません。
ただし、FlashファイルはWebカメラにアクセスできます。Flashにはネットワークアクセスもあるため、ビデオキャプチャコンポーネントとネットワーク送信コンポーネントの両方をフラッシュに書き込むのが最も理にかなっている場合があります。
*:奇妙な例外はOperaです。しかし、それは重大な例外となるほど広く使用されているわけではありません。