Safari не присылает ледяных кандидатов

пример не работает в сафари

https://github.com/Kurento/kurento-tutorial-node/tree/master/kurento-one2many-call

В хроме все нормально.

Safary не отправляет ледяных кандидатов в режим просмотра. Режим докладчика в порядке

====================

Обновить

На переднем плане (index.js)

Событие onOfferViewer всегда выполняется

onIceCandidate - никогда не выполнялся

Подключение спереди к узлу

var ws = new WebSocket ('wss: //' + location.host + '/ one2many');

В KMS поворот не включается, но настраивается оглушение. Я могу вести трансляцию из Safari, но не могу смотреть на нем

Взгляните на kurento utils глубже

Выбираются 2 сервера Sturm перед инициализацией WebRtcPeer

iceServers: Array (2) 0 {username: undefined, credential: undefined, url: "stun: stun.l.google.com: 19302", urls : ["stun: stun.l.google.com: 19302"]}

1 {имя пользователя: undefined, учетные данные: undefined, url: "stun: stun.voipbuster.com", urls: ["stun: stun.voipbuster.com"]}

После создания RTCPeerConnection
После выполнения ответа процесса

Я думаю, что следующий шаг должен быть в функции addEventListener

pc.addEventListener('icecandidate', function (event) {…} 

В Chrome в функции addEventListener выполняется обратный вызов, а в Safari - никогда.

Я могу предположить, что кандидаты приходят до того, как проходит подписка, но нет никаких доказательств, и я не понимаю, почему докладчик работает нормально.

деталь

Я начал вещание в режиме докладчика в Safari

Версия Safari - 13604.3.5 (MacOs - 11.0.1)

Параметры Safari

Старый api - включен

Ограничения по льду - отключено

Зависимости Бауэра

"dependencies": { 
    "adapter.js": "v0.2.9", 
    "bootstrap": "~3.3.0", 
    "ekko-lightbox": "~3.3.0", 
    "demo-console": "1.5.1", 
    "kurento-utils": "master" 
 } 

Структура package.json

{ 
  "name": "kurento-one2many-call", 
  "version": "6.7.3-dev", 
  "private": true, 
  "scripts": { 
    "postinstall": "cd static && bower install" 
  }, 
  "dependencies": { 
    "express": "~4.12.4", 
    "minimist": "^1.1.1", 
    "ws": "~1.0.1", 
    "kurento-client": "Kurento/kurento-client-js" 
  }, 
  "devDependencies": { 
    "bower": "^1.4.1" 
  } 
} 

Вывод журналов Safari

Вывод журналов Safari

[Log] Browser does not appear to be WebRTC-capable (adapter.js, line 34) 

[Debug] constraints: {"offerToReceiveAudio":true,"offerToReceiveVideo":true} (kurento-utils.js, line 268) 

[Debug] Created SDP offer (kurento-utils.js, line 270) 

[Debug] Local description set – "v=0 

↵o=- 5811275597248577793 2 IN IP4 127.0.0.1 

↵s=- 

↵t=0 0 

↵a=msid-semantic: WMS 

↵" (kurento-utils.js, line 275) 

"v=0 

o=- 5811275597248577793 2 IN IP4 127.0.0.1 

s=- 

t=0 0 

a=msid-semantic: WMS 

" 

[Log] Senging message: {"id":"viewer","sdpOffer":"v=0\r\no=- 5811275597248577793 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=msid-semantic: WMS\r\n"} (index.js, line 70) 

[Info] Received message: {"id":"viewerResponse","response":"accepted","sdpAnswer":"v=0\r\no=- 3748169328 3748169328 IN IP4 0.0.0.0\r\ns=Kurento Media Server\r\nc=IN IP4 0.0.0.0\r\nt=0 0\r\na=msid-semantic: WMS\r\n"} (index.js, line 70) 

[Debug] SDP answer received, setting remote description (kurento-utils.js, line 320)  

[Debug] Remote stream: – undefined (kurento-utils.js, line 294)

Как узел подключается к KMS

var argv = minimist(process.argv.slice(2), {
    default: { 
        as_uri: 'https://localhost:8443/',      
        ws_uri: 'ws://37.228.89.170:8888/kurento' 
    }
}); 

person вася Злыдень    schedule 09.10.2018    source источник


Ответы (2)


Два варианта:

  1. Только Safari 12 - необходимо включить экспериментальную функцию «Включить MDNS Ice Candidates» в настройках Safari, расширенные, экспериментальные функции.
  2. Safari 11 - вы должны вызвать getUserMedia({video: true, audio: true}) и попросить пользователя принять диалоговое окно, чтобы разрешить видео и аудио на вашей странице. Даже если вы не хотите использовать видео или аудио, это заставляет safari отправлять ледяных кандидатов во время переговоров.
person Mark Ch    schedule 05.02.2019

Этот вопрос расплывчатый и не содержит подробностей. Пожалуйста, предоставьте более подробную информацию о проблеме, с которой вы столкнулись, и о том, что вы сделали, чтобы попытаться исправить / отладить ее.

Вы можете попробовать отключить параметр ограничений кандидатов ICE в меню разработчика и перезапустить Safari, как упоминалось в этом сообщении группы Google. Не зная дополнительной информации, я ничем не могу помочь, кроме этого.

На будущее, пожалуйста, предоставьте более полную и подробную информацию о проблеме и решениях, которые вы пытались найти.

person allieatcsio    schedule 09.10.2018
comment
описание добавлено - person вася Злыдень; 11.10.2018