問題タブ [rtcpeerconnection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - localStream オブジェクトを引数として rtcpeerconnection addtrack メソッドに渡す方法
以下のコードを試しました
しかし、それはこのエラーを返しました
javascript - RTCPeerConnection - MediaStreamTrack を外部ソースから再ストリーミングすると、黒いフレームしか表示されない
私は現在、ある電子ウィンドウから別の電子ウィンドウに を介して送信するライブラリに取り組んでいます。MediaStreamTrack
RTCPeerConnection
私が現在抱えている問題は、リモート トラック以外はすべて正常に動作することです。私のMediaStreamTrack
カメラは localhost で作成され、問題なく送信できますが、外部サーバーから受信しているトラックを送信しようとすると、黒いフレームしか表示されません。
ここと同じ問題だと思います。
私がチェックしたこと
トラックは受信されており (私は をチェックchrome://webrtc-internals
しました)、ビデオ要素は再生中の状態です。コンソールにも webrtc-internals にもエラーは表示されません。さらに、ストリーム/トラックは有効であり、ミュートされていません。captureStream()
ソースウィンドウで使用しても同じ結果になります。
外部ソースを使用したビデオ要素のキャプチャとストリーミングは、問題なく機能しています。
考えられる理由
問題は、最初のストリームがそうではないドメインからのものでlocalhost
あり、そのために再ストリームすることが不可能である可能性があると思います. w3c 標準では、次のように記述されています。
トラックには、アプリケーションがアクセスできないコンテンツが含まれる場合があります。これは、トラックの CORS クロスオリジンを作成する原因である可能性があります。これらのトラックは addTrack() メソッドに提供でき、RTCRtpSender を作成できますが、コンテンツを送信してはなりません。無音 (オーディオ)、黒いフレーム (ビデオ)、または同等の存在しないコンテンツが、トラック コンテンツの代わりに送信されます。
考え
上記の「考えられる問題」が実際の問題であるかどうかはわかりませんが、要求ヘッダーと応答ヘッダーを一致するように書き直すというアイデアがありましたlocalhost
が、うまくいきませんでした。WebRTC 接続には影響しないと思います。
私が使用した電子フック: