Intel WebRTC Collaboration Suite 服务端部署及客户端配置说明

部署环境: Centos 6.4
部署版本:CS_WebRTC_Conference_Server_Peer.v3.5.tgz
客户端版本:CS_WebRTC_Client_SDK_Android.v3.5.zip

Intel WebRTC SDK 包含平台侧 MCU、P2P、Gateway和 客户端SDK(支持Android、iOS、JavaScriptWindows),详细的介绍可以参考 官网。
为调研Intel开放的WebRTC方案的效果,按照文档部署了peer server 和 mcu server,这里使用的是3.5版本,该版本已经剔除了gateway sdk ,需要调研sip网关的可能需要参考之前的版本(如2.8.1和3.0版本)。客户端部署的是Android Sample,支持视屏通话,屏幕分享,文字聊天等功能,具备硬编解、Qos,预留了流处理和图像滤镜接口。


部署配置STUN Server

  1. 使用开放stun 服务器:http://www.cnblogs.com/idignew/p/7341479.html
  2. 开源部署coturn :https://github.com/coturn/coturn

编译安装Peer Server

  1. 安装nodejs npm ,安装n模块,切换node至合适版本
  2. 解压安装peer server
tar –zxvf CS_WebRTC_Conference_Server_Peer.v3.5.tgz
cd PeerServer-Release-3.5
npm install
  1. peer server配置证书
  2. 启动:node peerserver.js
  3. 停止:kill

编译安装MCU Server

  1. 安装nodejs npm ,安装n模块,切换node至合适版本
  2. 升级openssl-1.1.0g
  3. 编译安装libevent-2.0.21-stable
  4. 编译安装glibc-2.14 ,解决libc.so.6: version `GLIBC_2.14’ not found问题,参见http://blog.csdn.net/cpplang/article/details/8462768/
  5. 启动mongodb :service mongod start
  6. 安装intel mcu sdk 【配置选择:软编码,非集群】
    6.1 安装 Cisco OpenH264* Library
    6.2 编译安装 ffmpeg with libfdk_aac
    6.3 非GPU加速安装:
    cd /root/intel-webrtc/MCUServer-Release-v3.5
    bin/init-all.sh

    6.4 启动和停止:
    //启动
    cd /root/intel-webrtc/MCUServer-Release-v3.5
    bin/start-all.sh
    //停止
    bin/stop-all.sh

6.5 验证安装:打开 http://x.x.x.x:3004
6.6 修改配置文件,配置公网访问
7. MCU管理控制台 MCU Management Console 操作说明
7.1 访问验证 http://x.x.x.x:3000/console/
8. MCU Sample Server 安装运行
8.1 切换到目录/root/intel-webrtc/MCUServer-Release-v3.5/extras/basic_example
8.2 安装配置:按照 README.md 说明进行配置 node basicServer.js
8.3 访问验证: http://x.x.x.x:3001 https://x.x.x.x:3004
9. Simple RTMP Server安装运行
项目地址:https://github.com/ossrs/srs
启动 ./etc/init.d/srs start
停止 ./etc/init.d/srs stop
重启 ./etc/init.d/srs restart

问题1 : MCU 占用过大磁盘空间,audio_agent video_agent webrtc_agent recording_agent sip_agent 等目录产生很多core 文件,参见 https://www.cnblogs.com/dongzhiquan/archive/2012/01/20/2328355.html
查看命令: du -ah –max-depth=1 a表示显示目录下所有的文件和文件夹(不含子目录),h表示以人类能看懂的方式,max-depth表示目录的深度。
原因:在一个程序崩溃时,它一般会在指定目录下生成一个core文件。core文件仅仅是一个内存映象(同时加上调试信息)
解决方法:关闭core文件的生成 ulimit -c 0

问题2:node basicServer.js 3001端口占用
查看端口占用进程: netstat -anp|grep 3001
查看进程信息: ps -aux | grep 4994
结束进程 kill pid 4994


Android Sample配置说明

  1. 更新 sample 依赖:
    1.1 替换 以下位置jar包和so为CS_WebRTC_Client_SDK_Android.v3.5\libs 目录下同名文件。
    sample\conferenceSample\libs
    sample\conferenceSample\libs\src\main\jniLibs
    sample\p2pSample\libs
    samples\src\sample\p2pSample\src\main\jniLibs
    sample\utils\libs
    samples\src\sample\utils\src\main\jniLibs
  2. 配置 ICE 服务器:修改SampleActivity下 stunAddr 、turnAddrUDP、turnAddrTCP等变量为可用的 ICE server配置。
  3. 修改signaling server:在Setting 界面填入合适的信令服务器地址,如上如配置正确的Peer Server。

效果预览

  1. p2p 视频通话
    Intel WebRTC Collaboration Suite 服务端部署及客户端配置说明_第1张图片
  2. p2p 屏幕分享
    Intel WebRTC Collaboration Suite 服务端部署及客户端配置说明_第2张图片

参考资料:
Intel SDK首页: https://software.intel.com/en-us/webrtc-sdk
Server安装指南:https://software.intel.com/en-us/documentation/webrtc-conference-server-guide

你可能感兴趣的:(webrtc)