2

私は現在、ある電子ウィンドウから別の電子ウィンドウに を介して送信するライブラリに取り組んでいます。MediaStreamTrackRTCPeerConnection

私が現在抱えている問題は、リモート トラック以外はすべて正常に動作することです。私のMediaStreamTrackカメラは localhost で作成され、問題なく送信できますが、外部サーバーから受信しているトラックを送信しようとすると、黒いフレームしか表示されません。

ここと同じ問題だと思います。

私がチェックしたこと

トラックは受信されており (私は をチェックchrome://webrtc-internalsしました)、ビデオ要素は再生中の状態です。コンソールにも webrtc-internals にもエラーは表示されません。さらに、ストリーム/トラックは有効であり、ミュートされていません。captureStream()ソースウィンドウで使用しても同じ結果になります。

外部ソースを使用したビデオ要素のキャプチャとストリーミングは、問題なく機能しています。

考えられる理由

問題は、最初のストリームがそうではないドメインからのものでlocalhostあり、そのために再ストリームすることが不可能である可能性があると思います. w3c 標準では、次のように記述されています。

トラックには、アプリケーションがアクセスできないコンテンツが含まれる場合があります。これは、トラックの CORS クロスオリジンを作成する原因である可能性があります。これらのトラックは addTrack() メソッドに提供でき、RTCRtpSender を作成できますが、コンテンツを送信してはなりません。無音 (オーディオ)、黒いフレーム (ビデオ)、または同等の存在しないコンテンツが、トラック コンテンツの代わりに送信されます。

ソース (10.)

考え

上記の「考えられる問題」が実際の問題であるかどうかはわかりませんが、要求ヘッダーと応答ヘッダーを一致するように書き直すというアイデアがありましたlocalhostが、うまくいきませんでした。WebRTC 接続には影響しないと思います。

私が使用した電子フック:

session.defaultSession.webRequest.onBeforeSendHeaders();
session.defaultSession.webRequest.onHeadersReceived();
4

0 に答える 0