萨福里(Safary)没有派遣冰人候选人

时间:2018-10-09 15:07:06

标签: safari webrtc kurento

在野生动物园中不工作的例子

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

在Chrome中,一切都很好。

探险队不会在查看模式下发送冰候选人。演示者模式还可以

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

更新

位于最前面(index.js)

onOfferViewer事件始终执行

onIceCandidate –从未执行

从正面到节点的连接

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

在KMS上,转弯不会打开,但已配置了电晕。我可以从Safari广播,但不能收看

更深入地了解kurento实用程序

在WebRtcPeer初始化之前选择了2个Sturm服务器

iceServers:阵列(2) 0 {用户名:未定义,凭据:未定义,网址: “ stun:stun.l.google.com:19302”,网址:[“ stun:stun.l.google.com: 19302“]}

1 {用户名:undefined,凭据:undefined,url: “ stun:stun.voipbuster.com”,URL:[“ stun:stun.voipbuster.com”]} < / em>

创建RTCPeerConnection后
处理答案执行后

我认为下一步必须在addEventListener函数中

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

在Chrome的addEventListener函数中,会执行回调,但对于Safari则不会。

我可以假设候选人是在进行订阅之前到达的,但是没有证据,而且我不明白主持人为什么工作得很好。

详细信息

我在Safari中以演示者模式开始广播

Safari版本-13604.3.5(MacOs-11.0.1)

Safari选项

旧api-已启用

冰冻限制-禁用

Bower的依存关系

"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' 
    }
}); 

2 个答案:

答案 0 :(得分:0)

两个选项:

  1. 仅Safari 12-需要在Safari设置中启用实验性功能“启用MDNS Ice Candidates”,高级实验性功能
  2. Safari 11-您必须调用getUserMedia({video: true, audio: true}),并让用户接受对话框以允许页面上的视频和音频。即使您不想使用视频或音频,这也会导致Safari在协商过程中发送冰候选人

答案 1 :(得分:-1)

这个问题含糊不清,没有提供很多细节。请提供有关您遇到的问题的更多详细信息,以及为解决/调试问题所做的工作。

您可能会尝试禁用开发人员菜单中的ICE候选人限制选项,然后重新启动Safari,如in this Google Group post所述。在不了解更多信息的情况下,我无能为力。

为了将来,请提供有关您所尝试的问题和解决方案的更详尽和详细的信息。