video не воспроизводит удаленный поток WebRTC
Пытаюсь связать видео потоки между 2мя браузерами Chrome друг с другом при помощи WebRTC. Есть сигнальный сервер на localhost работающий на сокетах и успешно производящий обмен offer-answer. RTCPeerConnection на вызывающей и принимающей сторонах получают удаленные потоки но связать их с обьектом VIDEO html все равно не удается.
Вот код вызывающей стороны при вызове абонента : function initiate_call(friend_id) { callerPeerConn = new RTCPeerConnection(peerConnCfg); callerPeerConn.ontrack = function (event) { remoteVideo.srcObject = event.streams[0]; } video = document.querySelector("#me_video"); navigator.mediaDevices.getUserMedia({ audio: true, video: true }) .then(function (stream) { video.srcObject = stream; for (const track of stream.getTracks()) { callerPeerConn.addTrack(track, stream); } return callerPeerConn.createOffer(); }) .then( function (offer) { var off = new RTCSessionDescription(offer); callerPeerConn.setLocalDescription( new RTCSessionDescription(off), function () { // signaling console.log('send offer +'); }, function (err) { console.log(err.message); } ) }); } Вот код принимающей стороны : function accept_send_answer(offer) { calleePeerConn = new RTCPeerConnection(peerConnCfg); calleePeerConn.ontrack = function (event) { remoteVideo.srcObject = event.streams[0]; } video = document.querySelector("#me_video"); calleePeerConn.setRemoteDescription(offer) .then(function () { navigator.mediaDevices.getUserMedia({ audio: true, video: true }) .then(function (stream) { video.srcObject = stream; for (const track of stream.getTracks()) { calleePeerConn.addTrack(track, stream); } return calleePeerConn.createAnswer(); }) .then(function (answer) { // sending answer console.log("answer was send"); }) .catch(function (err) { console.log(err.message); }); }) } И наконец - функция вызывающей стороны при получении ответа : function got_ansfer(answer) { callerPeerConn.setRemoteDescription( new RTCSessionDescription(answer), function () { conso()le.log("caller got answer"); }, function (err) { console.log(err.message); } ) } В итоге не у вызывающего не у вызываемого не начинается видео, при том что getRemoteStreams() функция на обоих сторонах не null. В чем может быть дело ? |
Часовой пояс GMT +3, время: 02:25. |