CentOS6.5搭建APPRTC服务器

APPRTC是谷歌推出的一个webrtc的服务器demo。里面包括房间服务器和信令服务器。

信令服务器是基于websocket实现的collider信令服务器。

关于APPRTC的详细介绍,之后有时间再写。


一、房间服务器

1、安装工具

$sudo yum install subversion


$svn co https://src.chromium.org/svn/trunk/tools/depot_tools ~/

会在/home/下面将depot_tools工具checkout出来


$sudo yum install git


$sudo yum install


$sudo yum install ant

$sudo yum install npm

$sudo npm -g install grunt-cli


2、下载apprtc源码

$ sudo git clone https://github.com/webrtc/apprtc ~

此步骤会在~/下生成apprtc目录文件


3、编译

$ cd ~/apprtc

$ npm install 

$ sudo grunt build

 如果一切OK,则会在apprtc目录下生成out目录,Out目录下面还有app_engines和chrome**(名字记不清楚了)两个目录文件。我们之后用的是app那个。


4、启动

需要下载google_app_engines,这个需要


$  wget https://cloud.google.com/appengine/downloads#Google_App_Engine_SDK_for_Python

$ unzip Google_App_Engine_SDK_for_Python ~

会在~目录下生成google**目录文件。


$~/google_appengine*/dev_appserver.py --host 0.0.0.0(也可以换成你安装服务器的IP)  ~/apprtc/out/app_engine


整个流程就是这样子。我这边出现的问题,会另外文章汇总。


二、信令服务器搭建

1、安装工具

apprtc的信令服务器collider是用go语言写的。

$ sudo yum install go


2、信令服务器的源码

在apprtc中

$ mkdir  -p ~/collider/src

$ ln -s ~/apprtc/src/collider/{collider,collidermain,collidertest} ~/collider/src/

此时会在~/collider/src/下面生成3个连接文件,分别指向~/apprtc/src/collider/下面的三个目录。


3、设置go编译环境

$ export GOPATH=~/collider/


4、编译

$ cd ~/collider/src

$ go get collidermain

$ go install collidermain


顺利的话,则会在~/collider目录中生成bin目录,里面的collidermain表示生成的可执行文件。


5、启动

$ sudo ~/collider/bin/collidermain -port=8089 -tls=false

其中的port表示信令服务器监听端口,tls表示是否使用tls加密通信,此处为false,则之后客户端进行通信的时候,服务器需要是http开头。如果tls选项为true,则客户端通信时,服务器地址需要是https。


安装信令服务器中出现的问题,另外文章汇总。

 

三、转发及穿透服务器搭建 

转发服务器作用是在客户端无法P2P时,服务器对客户端媒体流进行转发。

穿透服务器则是用来打洞,使得处于不同网络环境的客户端之间可以直接通信,即所谓的P2P。当然还是需要信令服务器的。

我这里用的是turn服务器。它兼具转发和打洞的功能。具体之后介绍。


1、下载源码

$ wget http://turnserver.open-sys.org/downloads/v4.2.3.1/turnserver-4.2.3.1-CentOS6.5-x86_64.tar.gz


解压

$ tar -xvzf  turnserver-4.2.3.1-CentOS6.5-x86_64.tar.gz ~


2、安装

$ cd turnserver-4.2.3.1-CentOS6.5-x86_64(即上一步的文件名)

$./install


一切顺利则turnserver安装成功


三个服务器安装好之后,需要根据自己的环境进行设置。

之后的文章来说这个设置问题。


你可能感兴趣的:(webrtc,apprtc)