WebRTC remoteVideo Элемент бесконечной загрузки - PullRequest
0 голосов
/ 02 октября 2019

Есть идеи, где может быть проблема? Элемент localVideo работает нормально, но все, что я получаю на обоих компьютерах для элемента remoteVideo, это (бесконечный кружок / загрузка) с ...

  • networkState 2 = NETWORK_LOADING - browser is downloading data
  • readyState 0 = HAVE_NOTHING - no information whether or not the audio/video is ready

enter image description here

enter image description here Я проверил все:

✔️ Каждое одноранговое соединение (ПК) имеет правильный remoteSDP , полученный из предложения или ответа другого партнера.

✔️Элемент remoteVideo имеет. ,.

  • Autoplay == true
  • Muted == false
  • Paused == false
  • Disabled == false

✔️ ICE вроде бы получилось, потому что у каждого ПК есть. ,.

  • iceConnectionState: "new"

  • iceGatheringState: "complete"

last Последняя команда в моем коде есть. ,.

  • remoteVideoElement.srcObject = e.streams[0]; (вызвано ранее объявленным pc1.addEventListener('track', gotRemoteStream);)

othing Ничего не происходит, когда я открываю консоль и пытаюсь вручную присоедините remoteStream ПК к видеоэлементу, например так:

  • remoteVideo.srcObject = pc1.getRemoteStreams()[0];

Здесь ниже мои два комбинированных console.log() s:

Деятельность Оферента находится на левом фланге;деятельность Ответчика справа. @Answerer означает, что сообщение отправляется TO Отвечающий.

Offerer(pc1) . . . . . . . . . . . . Answerer(pc2)
``````````````````````````````````````````````````
Requesting local stream
Received local stream
Created local peer connection object pc1
Added local stream to pc1
pc1 createOffer start
-----------------2-----------------Offer, then SDP
2_____PC1_signalingState_____ stable
setLocalDescription complete
2.5_____PC1_signalingState_____ have-local-offer
--3--------------------------------
onOfferSendItToOtherPc()
. . . . . . . . . . . . . . . . . . message: @Answerer SDP-Offer:{"type":"offer","sdp":"v=0\r\no=- 1919269707352669653 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=msid-semantic: WMS 2qzHy5PolwyGALtwc39fuVJT4aGMaOdSJP8d......"}
-------------------------------4---
. . . . . . . . . . . . . . . . . . Requesting local stream
. . . . . . . . . . . . . . . . . . message: @Answerer ICE-Cand
. . . . . . . . . . . . . . . . . . message: @Answerer ICE-Cand
. . . . . . . . . . . . . . . . . . message: @Answerer ICE-Cand
. . . . . . . . . . . . . . . . . . message: @Answerer ICE-Cand
. . . . . . . . . . . . . . . . . . message: @Answerer ICE-Cand:null
. . . . . . . . . . . . . . . . . . Received local stream
. . . . . . . . . . . . . . . . . . Created local peer connection object pc2
. . . . . . . . . . . . . . . . . . Added local stream to pc2
❌PROBLEM HERE? (NO ANSWER YET!). . received remote stream  
. . . . . . . . . . . . . . . . . . setRemoteDescription complete
. . . . . . . . . . . . . . . . . . 4.5_____PC2_signalingState_____ have-remote-offer
----------------------------5------
. . . . . . . . . . . . . . . . . . setLocalDescription complete
--------------------------------6--
 . . .❗ ANSWER SENT HERE! . . . . . onAnswerSendItToOtherPc()
message: @Offerer SDP-Answer:{"type":"answer","sdp":"v=0\r\no=- 4846855406168784799 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=msid-semantic: WMS w2GnbUcp9SIA2ItZwAf9BIH9gBppgNJh4zju......"}
message: @Offerer ICE-Cand
pc1 received remote stream
setRemoteDescription complete
7. Answerer ==================== setRemoteDescription =======================
message: @Offerer ICE-Cand
message: @Offerer ICE-Cand:null

1 Ответ

2 голосов
/ 02 октября 2019

ICE, казалось, сработало, потому что каждый ПК имеет. ,.

iceConnectionState: "new"

Если iceConnectionState все еще новый, то ICE не сработал.

То, что он все еще новый, и даже проверка не предполагает никаких удаленных кандидатов на ледбыли добавлены к соединению. В этом блоге объясняется методология использования chrome: // webrtc-internals для выяснения причины этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...