应用程序流程为Android点对点连接?

时间:2014-11-13 09:33:34

标签: android webrtc voip p2p

我正在webrtc上的android中创建一个应用程序,用于视频通话和聊天的点对点连接。

我已经从WEBRTC网站下载了演示代码并成功运行了该代码(只能看到视频,没有语音交换),我在日志中打印了所有响应,无论我有疑问,发现在对话框中输入房间URL后返回一个响应,包含很多细节,比如媒体// iceserver // stun //转// pcconfig等。这里我感到很困惑,就像我需要从移动设备发送到服务器来拨打电话以及我应该期待什么回应来自服务器的其他对等体用于连接。在android我使用libjingle_peerconnection.jar。我也读过关于人行横道和英特尔xdk但我认为它在phonegap上,我需要它完全在android上。我想深入了解网络,但没有找到正确的道路。在APP调用和浏览器之间建立连接是否需要额外的东西?您也可以向我推荐有用的主题。

2 个答案:

答案 0 :(得分:2)

首先,您需要为Android平台编译webrtc代码库。您可以在以下链接中找到编译详细信息: http://www.webrtc.org/native-code/android

编译之后,您将拥有一个libjingle_peerconnection_so.so文件和一个libjingle_peerconnection.jar文件。你应该将它们包含在你的android项目中。

除了编译代码之外,还需要一个能够在对等体之间交换webRTC会话描述对象的信令服务器。会话描述对象由webrtc引擎提供给您的应用程序。您只需将其发送到另一个对等体并将传入的会话对象设置为webrtc引擎。

在信令服务器之后,您可以使用webRTC API(MediaStream和PeerConnection API)进行P2P视频通话 Sam Dutton在html5rocks.com上的webrtc帖子对于理解webrtc结构和流程非常有帮助。

答案 1 :(得分:1)

要设置呼叫,您需要一个信号服务器,以便Android应用与Web浏览器交换消息。客户端1向客户2发送报价。客户2回答了一个答案。客户端1和客户端2获取本地冰候选者,这是关于如何连接到它们的信息,并且彼此交换该信息。一旦每个客户都有SDP(来自并提供或回答),以及冰候选者列表(将p2p连接到另一个客户端的方式列表)。

为了启动实际的p2p视频/音频通信,您需要一台服务器来完成所有这些通信