webrtc+janusgateway+streamCapture を使用してストリーミング サービスを構築しています。
これにより、ビデオのストリーミングが開始されます。
public streamVideo() {
var video = $('#video1').get(0);
var stream;
video.onplay = () => {
if (video.captureStream) {
stream = video.captureStream();
} else if (video.mozCaptureStream) {
stream = video.mozCaptureStream();
} else {
alert('captureStream() not supported');
}
console.log(stream);
$("#secondvideoforll").get(0).srcObject = stream;
this.sfutest.createOffer(
{
media: { audioRecv: 0, videoRecv: 0, audioSend: 1, videoSend: 1}, // Publishers are sendonly
stream: stream,
success: (jsep) => {
Janus.debug("Got publisher SDP!");
Janus.debug(jsep);
var publish = { "request": "configure", "audio": 1, "video": 1 };
this.sfutest.send({"message": publish, "jsep": jsep});
},
error: (error) => {
Janus.error("WebRTC111 error:", error);
}
});
}
}
ビデオの再生は完全に機能しますが、オファーを作成しようとすると(さらにaddStream)。次のエラーが表示されます。
WebRTC111 error: DOMException [InternalError: "Cannot create an offer with no local tracks, no offerToReceiveAudio/Video, and no DataChannel."
code: 0
nsresult: 0x0]
同じオファーの作成 (ストリーム パラメーターなし) は Web カメラ ストリーミングには機能しますが、ビデオ ストリーミングには機能しません。
私が見つけた主な違いは、ウェブカメラが:を使用LocalMediaStream
しているのに対し、私streamCapture
は MediaStream を使用していることです。
これに関するアイデアはありますか?