nodejs 安装: nodejs下载地址:https://nodejs.org/dist/v6.11.3/node-v6.11.3-linux-x64.tar.gz wget https://nodejs.org/dist/v6.11.3/node-v6.11.3-linux-x64.tar.gz tar xvf node-v6.11.3-linux-x64.tar.gz vi /etc/profile 在最下面加入 # node (注释作用) export NODE_HOME=/usr/local/src/node-v6.11.3-linux-x64 export PATH=$PATH:$NODE_HOME/bin export NODE_PATH=$NODE_HOME/lib/node_modules :wq (保存并退出) source /etc/profile (使配置文件生效) 你就可以用 node -v 看自己的成果了! apprtc for nodejs 下载地址:https://github.com/MidEndProject/node-apprtc 解压到服务器 需要修改的地方: config/index.js module.exports = { constant: { LOOPBACK_CLIENT_ID: 'LOOPBACK_CLIENT_ID', TURN_BASE_URL: 'http://www.php2.cc', //修改成自己的turnserver配置地址,turn及sturn服务安装方式:http://www.php2.cc/article-2676-1.html TURN_URL_TEMPLATE: '%s/turn', WSS_HOST_PORT_PAIRS: ['www.php2.cc:8089'], //修改成自己的信令服务器地址,下文会写配置 RESPONSE_UNKNOWN_ROOM: 'UNKNOWN_ROOM', RESPONSE_UNKNOWN_CLIENT: 'UNKNOWN_CLIENT', RESPONSE_ROOM_FULL: 'FULL', RESPONSE_DUPLICATE_CLIENT: 'DUPLICATE_CLIENT', }, server: { host: '127.0.0.1', port: process.env.PORT || 4567 } }; controller/common.js var pcConfig = { iceServers: [ //修改成自己的stun服务器地址 {"urls": "stun:stun.php2.cc"}, {"urls": "stun:www.php2.cc"} ], bundlePolicy: 'max-bundle', rtcpMuxPolicy: 'require' }; if (wssTLS && wssTLS == 'false') { return { wssUrl: 'ws://' + wssHostPortPair + '/ws', wssPostUrl: 'http://' + wssHostPortPair } } else { return { wssUrl: 'ws://' + wssHostPortPair + '/ws', //将wss修改成ws wssPostUrl: 'http://' + wssHostPortPair //将https修改成http } } cd node-apprtc 运行安装: npm install 启动方式: nohup node index.js > myLog.log 2>&1 & collider信令服务器 下载地址:https://github.com/webrtc/apprtc collider是Apprtc这个项目配套的一个信令服务器。在我们的Apprtc项目中就已经携带了它的源码。 目录:src/collider 安装Golang colider是一个使用Golang语言编写的项目,因此在安装collider之前,我们必须先安装Golang 下载Golang源码(需FQ) $wget https://storage.googleapis.com/golang/go1.5.3.linux-amd64.tar.gz 解压 $tar -xf go1.5.3.linux-amd64.tar.gz 配置Golang环境变量 Go 二进制版本,假设它们会被安装在/usr/local/go(Windows,c:\Go)中,如果没有安装在该位置,我们需要配置一下环境变量 export GOROOT=<goInstallDir> export PATH=$PATH:$GOROOT/bin GOPATH环境变量用来指定你的工作目录。当我们在开发Golang项目的时候需要指定 GOPATH环境变量用来指定除GOROOT之外包含的Go项目源代码和二进制文件的目录。go install和go工具都会用到GOPATH,作为编译后二进制文件的存放目的地和import包时的搜索路径。 GOPATH是一个路径列表,也就是可以同时指定多个目录。多个目录在Mac和Linux下通过”:”分割;Windows下通过”;”分割。注意,大部分情况下会是第一个路径优先,比如:查找包 mkdir /root/GOWorkPlace cd /root/GOWorkPlace/ export GOPATH=`pwd` $GOPATH 目录约定有三个子目录: src 存放源代码(比如:.go .c .h .s等) pkg 编译后生成的文件(比如:.a) bin 编译后生成的可执行文件(为了方便,可以把此目录加入到 $PATH 变量中,如果有多个gopath,那么使用${GOPATH//://bin:}/bin添加所有的bin目录) 安装colider 第一步将apprtc/src/colider目录下的collider、collidermain、collidertest拷贝到GOPATH/src/下 修改$GOPATH/src/collidermain/main.go 设置我们的房间服务器,防止第三方使用我们的信令服务器 // var roomSrv = flag.String("room-server", "https://appr.tc", "The origin of the room server") var roomSrv = flag.String("room-server", "https://apprtc.www.php2.cc", "The origin of the room server") 安装collidermain项目依赖 $go get collidermain 安装GO环境的websocket包. 如果上面命令失败,那么则用下面这个麻烦的方法 $ cd $GOPATH/src $ wget http://www.golangtc.com/static/download/packages/golang.org.x.net.tar.gz $ tar xvf golang.org.x.net.tar.gz $ go install golang.org/x/net/websocket/ 这样collidermain的项目依赖就安装完了 我们安装collidermain命令服务器程序: $ go install collidermain 启动colider nohup $GOPATH/bin/collidermain -port=8089 -tls=false > go.log 2>&1 & 作者注:apprtc之所以采用了nodejs,是因为Python的room服务器与信令服务器通讯这块,一直没部署成功,最终room服务端采用了nodejs,经测试没有通讯问题,能够正常建立视频连接。 附 Android apprtc源码地址:https://github.com/njovy/AppRTCDemo IOS apprtc 源码地址:https://github.com/ISBX/apprtc-ios 目前存在问题:Android与IOS之间通讯,Android能够正常看到IOS端图像,IOS端看Android端的会比较卡,经常性的卡死。
PHP技术交流QQ群:422137578 除非注明,文章均为 PHP二次开发 原创,转载请注明本文地址:http://www.php2.cc/article-2678-1.html |