使用WebRTC在Web应用程序中进行视频呼叫工具

时间:2013-10-03 05:24:50

标签: java-ee web-applications audio video webrtc

尝试使用WebRTC在Intranet(JSF和JBoss)上运行的Web应用程序内开发或提供视频通话工具。

现在,我有几个简单的问题: 一个。使用webRTC是否需要在服务器上托管任何类型的应用程序代码。我是否可以在不使用任何类型的服务器的情况下开发应用程序。 湾Intranet上的用户和Internet上的用户是否会使用此WebRTC进行通信。 C。如果流程中的任何地方都没有涉及服务器,那么我如何通知另一个用户他需要访问此URL以便与我沟通。

任何人都可以请一些关于这些的事情让我开始..我有点困惑。已经通过各种文件和链接,但仍然有点困惑......

3 个答案:

答案 0 :(得分:3)

如果您已经使用JBoss,我建议您查看Mobicents SIP Servlets(它在JBoss 7上运行)和WebRTC演示应用程序https://code.google.com/p/sipservlets/wiki/HTML5WebRTCVideoApplication

SIP中使用的信令,当媒体是对等的时候通过服务器

答案 1 :(得分:2)

一个。是的,您需要服务器端功能。什么服务器以及如何做到这一点取决于您。 (例如,你可以使用node.js和websockets) 下面的代码给出了服务器应该能够处理的功能的示例

var mess = JSON.parse(message.utf8Data);
switch(mess.type){
    case "answer":
        allClients.forEach(function (client){
           //Locate the correct client and send the answer to it
        });
        break;
    case "offer":
        allClients.forEach(function (client){
            //Locate the correct client and send the offer to it   
        });
        break;
    case "candidate":
        allClients.forEach(function (client){
            //Locate the correct candidate and send the candidate to it
        });
        break;
}

B中。是。但我确信有防火墙设置会让它变得麻烦。无论如何,webRTC使用ICE来帮助许多这样的情况。您将看到它产生了很多“候选”消息,其中包含有助于建立对等连接的信息。实际上,您的服务器可以将这些候选消息转发给对等方。

℃。好吧,有一台服务器......

答案 2 :(得分:2)

每个WebRTC应用程序都需要一个信令服务,以使对等方能够交换媒体和网络元数据。

为了应对NAT和防火墙,WebRTC应用程序可以使用STUN和TURN服务器,但您可能不需要内联网。

我维护了一个WebRTC resources列表,其中包含指向教程和代码示例的链接。