simpleWebRTC安装

simpleWebRTC一种简单的开源网页音视频聊天室解决方案。本文在原博客作者编写的文档上做了细化。


一、环境要求

simpleWebRTC是基于nodejs开发,因此需要先安装nodejs。nodejs的下载地址: http://nodejs.cn/download/nodejs的在window环境的安装比较简单,本文不再介绍。

二、安装

simpleWebRTC的安装的服务软件包括simpleWebRTC和Signalmaster。它们的下载地址如下:

simpleWebRTC: https://github.com/HenrikJoreteg/SimpleWebRTC

Signalmaster: https://github.com/andyet/signalmaster

安装Signalmaster信令服务器

打开命令窗口进入Signalmaster的根目录执行如下命令:

node server.js

注意:在windows下一般会出现启动失败,失败的原因只要是Signalmaster默认监听的8888端口已经被占用。可用如下命令先查看8888端口是否被占用:

netstat -aon|findstr "8888"

如果8888端口被占用,在到Signalmaster安装目录的config目中中修改development.json和production.json中的端口号配置,例如改成8881:

{
  "isDev": false,
  "server": {
    "port": 8881,
    "/* secure */": "/* whether this connects via https */",
    "secure": true,
    "key": "config/sslcerts/key.pem",
    "cert": "config/sslcerts/cert.pem",
    "password": null
  },
  "rooms": {
    "/* maxClients */": "/* maximum number of clients per room. 0 = no limit */",
    "maxClients": 0
  },
  "stunservers": [
    {
      "url": "stun:stun.l.google.com:19302"
    }
  ],
  "turnservers": [
    {
      "urls": ["turn:your.turn.servers.here"],
      "secret": "turnserversharedsecret",
      "expiry": 86400
    }
  ]
}

在windows下修改端口只需要关闭窗口,重新启动一个窗口再执行

node server.js

安装simpleWebRTC

打开命令窗口进入simpleWebRTC解压后的根目录执行如下两条命令:

npm install express
node server.js

若此时,屏幕显示running https on port 8000 and http on 8001,就说明simpleWebRTC已经安装完毕。你可以通过 https://localhost:8000 或者http://localhost:8001 访问

注意: 如果你在安装Signalmaster时更改了信令服务的端口号,则在安装simpleWebRTC之前需要在simpleWebRTC解压后的根目录下找到simplewebrtc.bundle.js,并在改文件中查找

function SimpleWebRTC(opts) {

函数的位置大概处于17904行, 然后找到配置信令服务器url,将端口修改为自己信令服务器的监听端口。

function SimpleWebRTC(opts) {
    var self = this;
    var options = opts || {};
    var config = this.config = {
        //url: 'https://sandbox.simplewebrtc.com:443/',
		url: 'http://localhost:8881',
        //...省略
    };
    //....省略
}

注意:url地址最好改成ip地址或者域名,使用localhost会造成远程访问有问题。

转载于:https://my.oschina.net/u/1760791/blog/974055

网页视频开发 webrtc ;(function () { var logger = { log: function (){}, warn: function (){}, error: function (){} }; // normalize environment var RTCPeerConnection = null, getUserMedia = null, attachMediaStream = null, reattachMediaStream = null, browser = null, webRTCSupport = true; if (navigator.mozGetUserMedia) { logger.log("This appears to be Firefox"); browser = "firefox"; // The RTCPeerConnection object. RTCPeerConnection = mozRTCPeerConnection; // The RTCSessionDescription object. RTCSessionDescription = mozRTCSessionDescription; // The RTCIceCandidate object. RTCIceCandidate = mozRTCIceCandidate; // Get UserMedia (only difference is the prefix). // Code from Adam Barth. getUserMedia = navigator.mozGetUserMedia.bind(navigator); // Attach a media stream to an element. attachMediaStream = function(element, stream) { element.mozSrcObject = stream; element.play(); }; reattachMediaStream = function(to, from) { to.mozSrcObject = from.mozSrcObject; to.play(); }; // Fake get{Video,Audio}Tracks MediaStream.prototype.getVideoTracks = function() { return []; }; MediaStream.prototype.getAudioTracks = function() { return []; }; } else if (navigator.webkitGetUserMedia) { browser = "chrome"; // The RTCPeerConnection object. RTCPeerConnection = webkitRTCPeerConnection; // Get UserMedia (only difference is the prefix). // Code from Adam Barth. getUserMedia = navigator.webkitGetUserMedia.bind(navigator); // Attach a media stream to an element. attachMediaStream = function(element, stream) { element.autoplay = true; element.src = webkitURL.createObjectURL(stream); }; reattachMediaStream = function(to, from) { to.src = from.src; }; // The representation of tracks in a stream is changed in M26. // Unify them for e
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值