3

数日後、私は基本的なwebRTCVideochatを構築しようとしています。LAN経由でも、ローカルで実行されているデモがいくつかあります。しかし今、私はいくつかのデモに付属しているそれほど過負荷になることなく、本当に基本的なものを1つずつ構築したいと思っています。

しかし、私はまだ完全なピア接続を取得していません。

例えば。「createSignalingChannel();」ができないため、この例は壊れているようです。w3.org/TR/webrtc/#simple-example

他のいくつかの例(https://webrtc-experiment.appspot.com/)では、スクリプトをリンクする必要がありますが、ピア接続の魔法と2つのブラウザー間でハンドシェイクを取得する方法を理解したいので、これは行いません。 。

また、Google App Engineを使用して例を調べましたが、それは私が望んでいることではありません。

必要最小限のものだけで、本当に簡単なJSとHTMLで実行したいと思います。

これが私のコードです: https ://github.com/mexx91/basicVideoRTC 編集:今すぐ動作するはずです

したがって、ハンドシェイクとピア接続を取得するために何を追加する必要がありますか。たとえば、送信できます。お互いにmediaStream。

どうもありがとう!

4

2 に答える 2

3

createSignalingChannel()は、別のチャネルの存在を示すための疑似コードにすぎません。別のメッセージチャネルを処理する初期接続が必要です。

これは、Pusher、Brightcontext、PubNubなどのホストされたサービスを使用して実現できます。または、socket.ioやSignalRなどのオープンソースプロジェクトを使用して独自のバックエンドをホストすることもできます。

次に、別のチャネルを介してオファー、回答、およびiceCandidatesを送信する必要があります。

リアルタイムサービスのリスト:http://www.leggetter.co.uk/real-time-web-technologies-guide

于 2013-03-20T18:09:10.897 に答える
1

ユーザーAとBが元々Webサーバーからアクセスするビデオ会議Webアプリを想像してみてください。Webアプリがプレゼンスをサポートしているとすると、Webサーバーは現在オンラインになっているユーザーを認識します。UIを使用すると、AはBにビデオ通話を発信できます。たとえばXMLHttpRequest()を介して、Aのブラウザはサーバーにこれが必要であることを通知し、Bのjavascriptは、AがBに電話をかけたいというメッセージをポップアップ表示します。WebRTCはまったく発生していません。まだ。ただし、この段階では、XMLHttpeRequestなどを使用してメッセージを送信することにより、AがBと間接的に通信できます。WebRTCの用語では、これは「シグナリングチャネル」です。したがって、AとBは両方ともICEエージェントと対話して、候補アドレスとSDPの説明を検出し、これらをサーバー経由でこのsignallinhチャネルを介して各他のユーザーに送信できます。例えば AのWebアプリはWebRTCAPIを呼び出してICE候補を取得し、適切と思われる場合はこれらをパッケージ化してBに送信します。Bのリーダーはサーバーからこのメッセージを受信し(WebSocketや長時間のポーリングなど)、これを解凍し、必要に応じてフォーマットして、RTCPeerConnectionオブジェクトを使用してBのICEエージェントに送信します。同様に、SDPオファー/アンサーは2つのアプリ間で送信され、ブラウザーのICE agnetに渡されて、合意されたメディア形式などを取得できます。その段階で、メディア接続はブラウザーによって設定されます(meidaストリームが追加されます)。最初はRTCPeerConnectionに(通信していませんが、コーデックなどを記述するために照会できる属性があり、APIがSDP記述を作成するように求められると、これらの属性を使用してそれを行います)

于 2013-08-09T18:36:05.503 に答える