小编Sam*_*ast的帖子

为WebRTC应用程序实现我们自己的STUN/TURN服务器

我正在研究webrtc应用程序,必须实现以下TURN服务器.

https://code.google.com/p/rfc5766-turn-server/

我正在学习本教程.

http://www.dialogic.com/den/developer_forums/f/71/t/10238.aspx

它表示在创建RTCPeerConnection的javascript代码中如下引用TURN服务器.

var pc_config = {"iceServers": [{"url": "stun:stun.l.google.com:19302"},
  {"url":"turn:<turn_server_ip_address>", "username":"my_username", "credential":"my_password"}]};

pc_new = new webkitRTCPeerConnection(pc_config);
Run Code Online (Sandbox Code Playgroud)

我有点困惑,为什么我们引用谷歌的公共STUN服务器.我以为RFC5766 TURN服务器里面有STUN.

RFC5766只有TURN服务器吗?而不是STUN服务器?我们不能实现自己的STUN服务器,而不是使用谷歌提供的服务器吗?

抱歉这样天真的问题.我是WebRTC的新手.

谢谢.

stun webrtc rfc5766turnserver turn

27
推荐指数
2
解决办法
3万
查看次数

AngularJS与Express模板或纯HTML?优点和缺点?

Express JS使用模板生成HTML,然后服务器将它们发送给客户端作为响应.可能有几个其他模板可以从中生成HTML.我能发现的是:

在我的应用程序中,我需要同时使用ExpressJS和AngularJs.我是这两种技术的新手.在学习角度时,我不得不在纯HTML中使用它.在学习ExpressJs之后,我意识到,为了使用angularjs,我需要在上述任何模板中使用它们,这些模板在发送给客户端时将转换为HTML.

现在,我想使用expressjs作为我的服务器和angularjs作为我的客户端应用程序.为此,我想我有两个选择.

选项1

我可以完全停止使用模板,并使用我们的NodeJS服务器通过发送简单的HTML文件进行响应.然后,这些HTML文件将包含AngularJS编码.然后,在客户端,AngularJS将充当我们的应用程序.它将从服务器请求其他HTML文档.或者它也可以像AJAX一样使用,我们只能请求信息片段更新页面的一部分而不是刷新整个页面以进行微小的更改.

选项2

我可以在expressjs模板(jade或ejs)中使用angularjs.

请帮助我理解两种选择的利弊.在这种情况下哪一个是您的选择.

ejs node.js express angularjs pug

10
推荐指数
1
解决办法
9874
查看次数

Jade:为什么&&被编译为&amp; 在jade模板中的angularjs中使用?

我在ExpressJS的Jade模板中使用AngularJS.在我的表单验证中,我在jade模板中有以下代码行.

div(ng-show="form.username.$dirty && !signup_form.name.$focused")
Run Code Online (Sandbox Code Playgroud)

呈现Jade模板并将HTML文件发送到客户端时,上面的行转换如下.

<div ng-show="form.username.$dirty &amp;&amp; !signup_form.name.$focused" =>
Run Code Online (Sandbox Code Playgroud)

我尝试用&&玉石代替,&amp;但它翻译成了&amp;amp;.我尝试过\&\&但是它也没用.

请帮助.

node.js express angularjs pug

3
推荐指数
1
解决办法
885
查看次数

WebRTC:在通话期间从视频共享切换到屏幕共享

最初,我有两个不同的网页:

一个是做视频通话,另一个是做屏幕共享

现在,我想在一个页面中完成它们.

这是场景:

在实时通话期间,用户想要停止共享他/她的视频并开始共享屏幕.之后,他/她希望再次关闭屏幕共享并开始视频共享.

为清楚起见,这里有一些我想问的问题:

在来电方面:

1)如何将本地流从视频更改为屏幕,反之亦然?2)完成后,如何将其分配给本地视频元素?

在Callee Side:

1)如果我收到的当前流从视频更改为屏幕,我该如何处理?2)如果我收到的流已停止,我该如何处理?我的意思是,现在我既不接收视频也不接收屏幕(只是音频)

请在这方面帮助我.如果有任何可用的开源代码,请分享他们的链接.

仅供您参考,我试图使用以下代码处理它.(我知道这很天真,不会奏效)

function handleUserMedia(newStream){

        var localvideo = document.getElementById("localvideo");
        localvideo.src = URL.createObjectURL(newStream);
        localStream = newStream;
        sendMessage('got user media');

        if (isInitiator) {
            maybeStart();
        }
     }

     function handleUserMediaError(error){
        console.log(error);
     }        

     var video_constraints = {video: true, audio: true};
     var screen_constraints = {video: { mandatory: { chromeMediaSource: 'screen' } }};

     getUserMedia(video_constraints, handleUserMedia, handleUserMediaError);

     //getUserMedia(screen_constraints, handleUserMedia, handleUserMediaError);

     $scope.btnLabel = 'Share Screen';

     $scope.toggleSelected = function () {

         $scope.selected = !$scope.selected;

         if($scope.selected)
         {
             getUserMedia(screen_constraints, handleUserMedia, handleUserMediaError);
             $scope.btnLabel …
Run Code Online (Sandbox Code Playgroud)

webrtc

3
推荐指数
1
解决办法
2676
查看次数

标签 统计

angularjs ×2

express ×2

node.js ×2

pug ×2

webrtc ×2

ejs ×1

rfc5766turnserver ×1

stun ×1

turn ×1