HTML5 WebSocket を使用した Web ベースのリアルタイム ビデオ チャットの実装

StackOverflow https://stackoverflow.com/questions/4220672

質問

HTML5 WebSocketを使用してWebアプリケーションにVoice/Video over IPを実装する方法を知っている人はいますか?

(残念ながら) 現時点では他のプログラミング言語を知らないため、これを PHP または Python で実装できれば良いのですが。

優れたチュートリアルだけでなく、お金を払って構築済みのソリューションでも十分です。

アップデート 1:
オーディオ/voip関連だけではないため、ビデオを追加しました。

アップデート2:
最初の HTML5 ビデオ会議アプリはすでに作成されています。私自身の答えを見てください

役に立ちましたか?

解決

HTML5 のみを使用したい場合は、 HTMLメディアキャプチャ ドラフト (利用可能 ここ) マイクからの生データにアクセスするため。

このデータを入手したら、ネットワーク経由で送信する必要があります。Websocket は、サーバーとの十分な高速往復 (ローカル オーディオ データの送信とリモート オーディオ データの受信を同時に行う) を実現する HTML5 オプションです。

Pythonについて言及しているので、周りを調べることをお勧めします ねじれた実装 Webソケットの。

すべてのクライアントが発信者 ID を使用して WebSocket サーバーに「登録」できるため、サーバーは特定の発信者 ID を見つける場所を認識できます。

次に、サーバーには、caller1 が caller2 を「招待」する「invite」API が必要になります。

通話が設定され、各クライアントが音声データの送信を開始すると、サーバーはこの音声データを相手に送信できるようになります。

オーディオ データを受信すると、ブラウザは、おそらく HTML5 オーディオタグを使用して、このオーディオ データをスピーカーで再生する必要があります。

これを行うには、「トリック」を使用する必要がある場合があります。WebSocket サーバーに生のオーディオ データをクライアントに転送させる代わりに、2 つの「無限」ファイルをシミュレートする必要がある場合があります。

  1. caller1.wav :caller1 のマイクでキャプチャされたサウンド
  2. caller2.wav :caller2 マイクでキャプチャされたサウンド

caller1 ブラウザは、通話が設定されると、audio.src 属性に caller2.wav を追加します (caller1 には WebSocket 経由でこのイベントが通知されます)。Python サーバーが受信時に生の音声データを caller2.wav に追加すると期待されます。再生が始まるでしょう。

これはあなたがハックアップするクールなプロトタイプのようですね!

旅の幸運を祈ります。

ジェローム・ワグナー

他のヒント

エリクソンが最初の HTML5 ビデオ会議アプリを作成したようです。

彼らが使用したテクニック:

  • デバイス要素とストリーム API を実装しました (デバイス要素の GUI は現在 JavaScript/CSS で書かれています)
  • ストリーム URL をメディア バックエンドの対応するパイプラインにマップする MediaStreamManager を追加しました
  • 関連するメディア処理とトランスポートを制御する MediaStreamTransceiver を追加しました
  • WebSocket プロトコルでのバイナリ データのサポートを追加しました

見る: labs.ericsson.com:


YouTube のビデオ: HTML5 を超えて:会話型音声とビデオのデモ |エリクソンラボ

残念ながらエリクソンは共有したくない device_dialog.js (まだ)。

のWebRTCの答えかもしれません: http://www.webrtc.org/running-the-デモの(MediaStreamのフラグを有効にして、現在、Chromeのみカナリア)

を参照してくださいデモ: https://apprtc.appspot.com を(あなたは適切なブラウザで見てください)そして、コード http://code.google.com/p/ WebRTC-サンプル/ソース/閲覧/トランク/ apprtc /

<時間>

私が書いている理由は、私たちを本当に安いのAndroidタブレットを持って、スカイプもVtokもGoogleの音声intall利用できることができないの外...です。私はオペラモバイル12を実行することができるよとなったように私は、HTML5ベースのソリューションを見つける必要がある http://html5demos.com/正常に動作します。

@仕事/早くしなきゃ

JavaScript を確認してください ユーザーメディアの取得(使ってもいいですか) - API (W3)

のWebRTC今の答えです。

Node.jsのスタックのための

- あなたは http://www.easyrtc.com/ のを見ることができます。 IEはまだのWebRTC作業を行うAPIのサポートを内蔵していないことに注意してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top