0

我正在从 localhost 运行一个 hello-world 客户端示例。
Kurento 媒体服务器安装在 Amazon ec2 实例上。所有 TCP 和 UDP 端口均已打开。对于 kurento google STUN 服务器已配置并且来自 Amazon 的公共 IP 分配给 HttpEndPoint(公布的 IP)我设法建立套接字连接并交换 iceCandidates。

更新 Stun 服务器在 WebRtcEnpoint.conf.ini 中配置如下: stunServerAddress=stun.1.google.com stunServerPort=19302

在这篇文章的时候,这个 STUN 似乎工作正常。

最后两帧总是这样返回:

{"id":26,"jsonrpc":"2.0","result":{"sessionId":"4b9642c4-5d42-41e0-ba61-83698b85552f","value":null}}

{"id":27,"jsonrpc":"2.0","result":{"sessionId":"4b9642c4-5d42-41e0-ba61-83698b85552f","value":null}}

这样该值始终为空。

以下是交换帧的完整列表:

{"id":15,"jsonrpc":"2.0","result":{"sessionId":"4b9642c4-5d42-41e0-ba61-83698b85552f","value":null}}    101 
13:20:50.185
{"id":16,"jsonrpc":"2.0","result":{"sessionId":"4b9642c4-5d42-41e0-ba61-83698b85552f","value":null}}    101 
13:20:50.185
{"id":17,"jsonrpc":"2.0","result":{"sessionId":"4b9642c4-5d42-41e0-ba61-83698b85552f","value":null}}    101 
13:20:50.185
{"id":18,"jsonrpc":"2.0","result":{"sessionId":"4b9642c4-5d42-41e0-ba61-83698b85552f","value":null}}    101 
13:20:50.210
{"id":19,"jsonrpc":"2.0","result":{"sessionId":"4b9642c4-5d42-41e0-ba61-83698b85552f","value":null}}    101 
13:20:50.210
{"id":20,"jsonrpc":"2.0","result":{"sessionId":"4b9642c4-5d42-41e0-ba61-83698b85552f","value":null}}    101 
13:20:50.210
{"id":21,"jsonrpc":"2.0","result":{"sessionId":"4b9642c4-5d42-41e0-ba61-83698b85552f","value":null}}    101 
13:20:50.210
{"id":22,"jsonrpc":"2.0","result":{"sessionId":"4b9642c4-5d42-41e0-ba61-83698b85552f","value":null}}    101 
13:20:50.210
{"id":23,"jsonrpc":"2.0","result":{"sessionId":"4b9642c4-5d42-41e0-ba61-83698b85552f","value":null}}    101 
13:20:50.210
{"id":24,"jsonrpc":"2.0","result":{"sessionId":"4b9642c4-5d42-41e0-ba61-83698b85552f","value":"32d60f30-b7c6-4bba-a626-2af81356641d"}}  135 
13:20:50.211
{"id":25,"jsonrpc":"2.0","result":{"sessionId":"4b9642c4-5d42-41e0-ba61-83698b85552f","value":"v=0\r\no=- 3652338053 3652338053 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 GQCQVoS3xcQNmo4JJyGzwHIL1YzJ8QPZiQP3\r\na=group:BUNDLE audio video\r\nm=audio 1 RTP/SAVPF 111 0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=rtpmap:111 opus/48000/2\r\na=rtpmap:0 PCMU/8000\r\na=setup:active\r\na=mid:audio\r\na=sendrecv\r\na=rtcp-mux\r\na=fmtp:111 minptime=10; useinbandfec=1\r\na=maxptime:60\r\na=ssrc:142379529 cname:user3741506464@host-cb3eed9a\r\na=ice-ufrag:Rk14\r\na=ice-pwd:N8cBI2tYxNA96MBRt33lr/\r\na=fingerprint:sha-256 60:F6:3A:EB:47:7E:01:9C:B1:A8:7A:F2:4A:6A:98:A0:E9:1B:04:64:E9:76:04:AF:2F:19:96:FC:27:38:4D:B7\r\nm=video 1 RTP/SAVPF 100\r\nb=AS:500\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=rtpmap:100 VP8/90000\r\na=rtcp-fb:100 ccm fir\r\na=rtcp-fb:100 nack\r\na=rtcp-fb:100 nack pli\r\na=rtcp-fb:100 goog-remb\r\na=setup:active\r\na=mid:video\r\na=sendrecv\r\na=rtcp-mux\r\na=ssrc:3535835016 cname:user3741506464@host-cb3eed9a\r\na=ice-ufrag:Rk14\r\na=ice-pwd:N8cBI2tYxNA96MBRt33lr/\r\na=fingerprint:sha-256 60:F6:3A:EB:47:7E:01:9C:B1:A8:7A:F2:4A:6A:98:A0:E9:1B:04:64:E9:76:04:AF:2F:19:96:FC:27:38:4D:B7\r\n"}}    1389    
13:20:50.211
{"jsonrpc":"2.0","method":"onEvent","params":{"value":{"data":{"candidate":{"__module__":"kurento","__type__":"IceCandidate","candidate":"candidate:1 1 UDP 2013266431 10.189.139.160 44044 typ host","sdpMLineIndex":0,"sdpMid":"audio"},"source":"a7d787c2-c252-47e5-b576-8923f69886a0_kurento.MediaPipeline/73f8d561-6349-4d1d-b2e6-9e2743e0c8d2_kurento.WebRtcEndpoint","tags":[],"timestamp":"1443349253","type":"OnIceCandidate"},"object":"a7d787c2-c252-47e5-b576-8923f69886a0_kurento.MediaPipeline/73f8d561-6349-4d1d-b2e6-9e2743e0c8d2_kurento.WebRtcEndpoint","type":"OnIceCandidate"}}}    581 
13:20:50.215
{"jsonrpc":"2.0","method":"onEvent","params":{"value":{"data":{"candidate":{"__module__":"kurento","__type__":"IceCandidate","candidate":"candidate:1 1 UDP 2013266431 10.189.139.160 44044 typ host","sdpMLineIndex":1,"sdpMid":"video"},"source":"a7d787c2-c252-47e5-b576-8923f69886a0_kurento.MediaPipeline/73f8d561-6349-4d1d-b2e6-9e2743e0c8d2_kurento.WebRtcEndpoint","tags":[],"timestamp":"1443349253","type":"OnIceCandidate"},"object":"a7d787c2-c252-47e5-b576-8923f69886a0_kurento.MediaPipeline/73f8d561-6349-4d1d-b2e6-9e2743e0c8d2_kurento.WebRtcEndpoint","type":"OnIceCandidate"}}}    581 
13:20:50.215
{"jsonrpc":"2.0","method":"onEvent","params":{"value":{"data":{"candidate":{"__module__":"kurento","__type__":"IceCandidate","candidate":"candidate:1 2 UDP 2013266430 10.189.139.160 46539 typ host","sdpMLineIndex":0,"sdpMid":"audio"},"source":"a7d787c2-c252-47e5-b576-8923f69886a0_kurento.MediaPipeline/73f8d561-6349-4d1d-b2e6-9e2743e0c8d2_kurento.WebRtcEndpoint","tags":[],"timestamp":"1443349253","type":"OnIceCandidate"},"object":"a7d787c2-c252-47e5-b576-8923f69886a0_kurento.MediaPipeline/73f8d561-6349-4d1d-b2e6-9e2743e0c8d2_kurento.WebRtcEndpoint","type":"OnIceCandidate"}}}    581 
13:20:50.215
{"jsonrpc":"2.0","method":"onEvent","params":{"value":{"data":{"candidate":{"__module__":"kurento","__type__":"IceCandidate","candidate":"candidate:1 2 UDP 2013266430 10.189.139.160 46539 typ host","sdpMLineIndex":1,"sdpMid":"video"},"source":"a7d787c2-c252-47e5-b576-8923f69886a0_kurento.MediaPipeline/73f8d561-6349-4d1d-b2e6-9e2743e0c8d2_kurento.WebRtcEndpoint","tags":[],"timestamp":"1443349253","type":"OnIceCandidate"},"object":"a7d787c2-c252-47e5-b576-8923f69886a0_kurento.MediaPipeline/73f8d561-6349-4d1d-b2e6-9e2743e0c8d2_kurento.WebRtcEndpoint","type":"OnIceCandidate"}}}    581 
13:20:50.535
{"id":26,"jsonrpc":"2.0","result":{"sessionId":"4b9642c4-5d42-41e0-ba61-83698b85552f","value":null}}    101 
13:20:50.535
{"id":27,"jsonrpc":"2.0","result":{"sessionId":"4b9642c4-5d42-41e0-ba61-83698b85552f","value":null}}    101 
13:20:50.53
4

1 回答 1

0

您的 KMS 没有生成 STUN 候选者,正如您从这些框架中看到的那样

13:20:50.211
{"jsonrpc":"2.0","method":"onEvent","params":{"value":{"data":{"candidate":{"__module__":"kurento","__type__":"IceCandidate","candidate":"candidate:1 1 UDP 2013266431 10.189.139.160 44044 typ host","sdpMLineIndex":0,"sdpMid":"audio"},"source":"a7d787c2-c252-47e5-b576-8923f69886a0_kurento.MediaPipeline/73f8d561-6349-4d1d-b2e6-9e2743e0c8d2_kurento.WebRtcEndpoint","tags":[],"timestamp":"1443349253","type":"OnIceCandidate"},"object":"a7d787c2-c252-47e5-b576-8923f69886a0_kurento.MediaPipeline/73f8d561-6349-4d1d-b2e6-9e2743e0c8d2_kurento.WebRtcEndpoint","type":"OnIceCandidate"}}}    581 
13:20:50.215
{"jsonrpc":"2.0","method":"onEvent","params":{"value":{"data":{"candidate":{"__module__":"kurento","__type__":"IceCandidate","candidate":"candidate:1 1 UDP 2013266431 10.189.139.160 44044 typ host","sdpMLineIndex":1,"sdpMid":"video"},"source":"a7d787c2-c252-47e5-b576-8923f69886a0_kurento.MediaPipeline/73f8d561-6349-4d1d-b2e6-9e2743e0c8d2_kurento.WebRtcEndpoint","tags":[],"timestamp":"1443349253","type":"OnIceCandidate"},"object":"a7d787c2-c252-47e5-b576-8923f69886a0_kurento.MediaPipeline/73f8d561-6349-4d1d-b2e6-9e2743e0c8d2_kurento.WebRtcEndpoint","type":"OnIceCandidate"}}}    581 
13:20:50.215
{"jsonrpc":"2.0","method":"onEvent","params":{"value":{"data":{"candidate":{"__module__":"kurento","__type__":"IceCandidate","candidate":"candidate:1 2 UDP 2013266430 10.189.139.160 46539 typ host","sdpMLineIndex":0,"sdpMid":"audio"},"source":"a7d787c2-c252-47e5-b576-8923f69886a0_kurento.MediaPipeline/73f8d561-6349-4d1d-b2e6-9e2743e0c8d2_kurento.WebRtcEndpoint","tags":[],"timestamp":"1443349253","type":"OnIceCandidate"},"object":"a7d787c2-c252-47e5-b576-8923f69886a0_kurento.MediaPipeline/73f8d561-6349-4d1d-b2e6-9e2743e0c8d2_kurento.WebRtcEndpoint","type":"OnIceCandidate"}}}    581 
13:20:50.215
{"jsonrpc":"2.0","method":"onEvent","params":{"value":{"data":{"candidate":{"__module__":"kurento","__type__":"IceCandidate","candidate":"candidate:1 2 UDP 2013266430 10.189.139.160 46539 typ host","sdpMLineIndex":1,"sdpMid":"video"},"source":"a7d787c2-c252-47e5-b576-8923f69886a0_kurento.MediaPipeline/73f8d561-6349-4d1d-b2e6-9e2743e0c8d2_kurento.WebRtcEndpoint","tags":[],"timestamp":"1443349253","type":"OnIceCandidate"},"object":"a7d787c2-c252-47e5-b576-8923f69886a0_kurento.MediaPipeline/73f8d561-6349-4d1d-b2e6-9e2743e0c8d2_kurento.WebRtcEndpoint","type":"OnIceCandidate"}}}    581 

这意味着要么你的 STUN 配置不正确,要么配置的 STUN 服务器不工作。您可以查看此公共 STUN 服务器列表,并记住您只能在 KMS 配置中使用 IP,因为 libnice 不接受 CNAME。


旁注:HttpEndPoint配置对 WebRTC 功能没有任何影响


编辑 1

您在 STUN 配置中使用 CNAME,这是不受支持的。请阅读部分文档,了解如何配置 KMS 以使用 STUN/TURN。它应该是这样的

stunServerAddress=173.194.66.127
stunServerPort=19302

确保您使用的服务器正在运行。您可能需要检查其中的几个。

于 2015-10-01T10:05:24.017 回答