APPRTC是谷歌推出的一个webrtc的服务器demo。里面包括房间服务器和信令服务器。
信令服务器是基于websocket实现的collider信令服务器。
关于APPRTC的详细介绍,之后有时间再写。
一、房间服务器
1、安装工具
$sudo yum install subversion
$svn co https://src.chromium.org/svn/trunk/tools/depot_tools ~/
会在/home/
$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安装成功
三个服务器安装好之后,需要根据自己的环境进行设置。
之后的文章来说这个设置问题。