WebRTCピアツーピア接続の基礎となるツールや方法がわかりましたか?WebRTCピアツーピア接続のネットワークトラッキングまたはデバッグ方法
単純な例として、webrtcを使用してビデオチャットを実装している場合、すべての接続(オファー、アンサー、アイスクリーム)は確立されていますが、ビデオストリーミングが見えません。どのようにデバッグして、これらの2人のピア間で何かを送るかどうか
WebRTCピアツーピア接続の基礎となるツールや方法がわかりましたか?WebRTCピアツーピア接続のネットワークトラッキングまたはデバッグ方法
単純な例として、webrtcを使用してビデオチャットを実装している場合、すべての接続(オファー、アンサー、アイスクリーム)は確立されていますが、ビデオストリーミングが見えません。どのようにデバッグして、これらの2人のピア間で何かを送るかどうか
Chromeをお使いの場合は、chrome://webrtc-internals
に移動できます。これにより、オファー、回答、ICE状態、接続に関する統計情報(確立後)が表示されます。
より詳細なデバッグでは、次のフラグでChromeを起動することによって候補者間のすべてのSTUNのpingのログを見ることができます:
--enable-logging --v=4
ログは、ユーザーのデータディレクトリにchrome_debug.log
ファイルになります:http://dev.chromium.org/user-experience/user-data-directory
ビデオがストリーミングされない理由はいくつかあります。
あなたのスタンサーバーは応答していますか?これを確認するには、受信した氷の候補をコンソールに記録します。タイプを確認してください。あなたの気絶サーバーが応答しているならば、ちょうど "ホスト"タイプの氷の候補ではなく、タイプsrflxが表示されます。 chrome:// webrtc-internalsでそれらを探すこともできます。
onstreamでRTCPeerConnectionオブジェクトから返された正しいsrc BLOBをビデオ要素に貼り付けていますか?
リモートビデオストリームを開始するには、JavaScriptから明示的にvideo要素の.play()メソッドを呼び出す必要があります。
基本的な接続状態をデバッグする方法があります。 Webアプリケーションを使用している場合は、ブラウザの統計にナビゲートできます。クロムに関しては、chrome://webrtc-internals
(API structure)。 This threadも参考にすることができます(peerJsを使用)。 firefoxの場合は、about:webrtc
を参照してください。
ネイティブアプリケーションの場合、つまりWindowsの場合は、コンパイラー自体からログを取得しています。 MS Visual Studio 2015では、デバッグ>アタッチプロセス>ネイティブアプリケーションPID、デバッグ>ウィンドウ>出力を試してください。