Webrtc Demo环境搭建

1,web服务器的搭建及注意事项

使用基于浏览器的webrtc应用,需要有web前端页面,由web服务器提供服务,常用的有nginx和apache,这里以ubuntu14.04系统上搭建apache为例。

注意:最新的webrtc仅支持HTTPS安全连接,所以需要支持 ssl,不使用https访问,会出现getUserMedia(获取本地摄像头对象)失败。

         a, apache安装,sudo apt-getinstall apache2,安装方法细节可参考网上资料,安装完成后,配置文件在/etc/apache2/apache2.conf,默认端口为80,如果有冲突可修改/etc/apache2/ports.conf,默认的根目录在/var/www/html,可在本机或者同网络下其它机器浏览器输入(假如IP地址是10.27.105.60)http:// 10.27.105.60,如果有apache页面出来就说明OK了;

         b, 生成ssl所需要证书;参考网上方法,可自己制作也可一些网站上申请。     

                   cd /etc/apache2/

                   sudo mkdir cert

                   cd cert

                   把附件的两个证书放进来(cert.key,cert.crt)。

         c, 配置apache的ssl功能支持模块

cd /etc/apache2/mods-enabled

sudo ln -s ../mods-available/ssl.conf  ssl. conf

sudo ln -s ../mods-available/ssl.load  ssl.load

cd /etc/apache2/sites-enabled

sudo ln -s ../sites-available/ default-ssl.conf  default-ssl. conf

在default-ssl.conf文件中找到SSLCertificateFile和SSLCertificateKeyFile两处,并修改后面的文件路径为/etc/apache2/cert/cert.crt和/etc/apache2/cert/cert.key

完成后,执行sudo/etc/init.d/apache2 restart可能会失败,如下错误:SSLSessionCache: 'shmcb' session cache not supported

 Vi ssl.conf中把相应的行注释掉,这样再 restart应该就OK了

浏览器中输入https://10.27.105.60,默认使用433端口,如有需要,可自行修改端口,注意,有两处需要修改:

第一处:/etc/apache2/ports.conf中ssl_module模块中的Listen,如下,我修改为40443

       Listen 40443

第二处:/etc/apache2/sites-available/default-ssl.conf

修改完成后,重启sudo/etc/init.d/apache2 restart

然后在浏览器中输入https://10.27.105.60:40443

不出问题应该能出来页面。

d, 下载并webrtcdemo.tar.gz解压到/var/www/html目录下:

下载地址:http://download.csdn.net/download/yunjinwang/10037767

sudo tar –zxvf webrtcdemo.tar.gz

sudo mv webrtcdemo webrtc

完成后,在浏览器中输入https:// 10.27.105.60:40443/webrtc

不出问题应该会出现页面,“欢迎使用联彤视频通信”的字样。页面会检测本机的摄像头和麦克设备,如果有这些设备,则本地视频会出现视频内容,如果没有视频设备可安装虚拟摄像头设备。https://pan.baidu.com/s/1dE2yl1Z

 

2,信令服务器的搭建及注意事项

A, 由于DEMO中使用的信令服务端采用js编写,需要安装nodejs到服务器上,版本不同可能会有一些问题,可http://pan.baidu.com/s/1qXNaDIW下载解压后,将node配置到PATH环境使用,配置后执行node–v可查看版本 V6.11.3;

B, 下载附件服务端代码webrtc_server.tar.gz到服务器目录

执行node index.js会打印listen on 40444,这是信令服务端监听的40444端口,可进入index.js中进行修改,记得同时要个性前面webrtcdemo/js/main.js中的相应该位置值;

 

 

这个信令服务端信是一个简易的信令交互系统,可进行扩展。具体过程可参考C/S代码。

3,TURN服务器的搭建及注意事项

环境:Ubuntu 14.04,单网卡

IP地址 10.27.105.60

 

安装方法:

# sudo apt-get install rfc5766-turn-server

启动turnserver

# ./turnserver -c /etc/turnserver.conf

-c后面是指定的配置文件

 

配置说明:

配置文件在/etc/turnserver.conf

 

使能基础的stun功能,需要增加配置项:

external-ip= 10.27.105.60

 

使能TURN的relay功能,开启long-term credential和realm,并且指定静态的用户名密码

明文的用户名密码

user=media1:mediatest1

user=media2:mediatest2

 

 

 

加密的

#turnadmin -k -u media1 -p mediatest1 -r liantong.com

user=media1:0x8499785f1a6c5ae070116302f6c80136

 

设置realm,这个很关键否则client端无法进行注册

realm=liantong.com

 

 

公网映射总结

在入口路由器处做端口映射,整体网络拓扑如下图所示:

 

图1 TURNserver网络拓扑

 

在公网环境下的部署,需要注意:

external-ip配置项写成  public ip/private ip的格式

本例中,该项配置为:

external-ip=218.106.117.18/10.27.105.60

 

 

 

relay-ip项不需要设置,由external-ip的配置服务器自动处理

 

relay端口组,需要设置为端口映射的端口组

本例中,该项配置为:

min-port=59100

max-port=59130

 

4,演示方法

         Web、signaling、Turn服务器搭建好后,找两台有摄像头的PC,安装支持webrtc的浏览器,目前使用最新的chrome\firefox\360极速浏览器是可以的,都验证过。

         在浏览器地址栏输入https://10.27.105.60:40443/webrtc,“当前用户ID”能分配到ID,说明信令服务器工作OK,本地视频有图像说明本浏览器支持webrtc,在另外一台PC上同样输入上面的网址,能分配到另外一个ID,在“请输入对方ID”框中输入对方的ID,点击startàcall就可进行视频通话了,理论上“远程视频”中会出现对方的图像。

 

 

注意:刷新页面如果弹出来“请求摄像头、麦克”等通知,请选择“允许”。

         由于https是的证书过期,可能会出现访问受限,拿不到自己的ID,请baidu下解决。

你可能感兴趣的:(webRTC开发)