使用Intel® CS for WebRTC搭建点对点视频通信服务器
1、下载资源
本次测试的客户端使用Js,但是同时也提供了Android和IOS的SDK。
https://download.****.net/download/qq_32523587/11151675 Peer服务器
https://download.****.net/download/qq_32523587/11151679 Js客户端
https://download.****.net/download/qq_32523587/11151764 Android端
https://download.****.net/download/qq_32523587/11151781 IOS端
2、总体流程图
主要实现的是P2P通信,服务端只起到一个Signaling Server的作用。一旦信令交互完成以后,客户端之间通过RTP协议来直接发送和接收媒体流数据,而不需要经过服务器端,减轻服务器端的压力。
该过程还需要stun/turn服务器,它会检查客户端的网络环境是否可打洞。如果可以,则媒体流直接在客户端之间交互,无需经过服务器。如果不可以的话,则媒体流需要经过turn服务器进行中转。
3、启动
服务端:
进入到下载的文件解压后的路径,输入命令
node peerserver.js
将服务开放给外网,在路由器上设置对外开放端口,包括8095/8096、3478
接下来,安装stun/turn服务器coturn
sudo apt install coturn
bin/turnadmin -a -b "/var/db/turndb" -u zy -r abc.com -p 123456
bin/turnadmin -A -b "/var/db/turndb" -u zy -p 123456 -r abc.com
修改配置
vim /etc/default/coturn
TURNSERVER_ENABLED=1
vim /etc/turnserver.conf
listening-ip=192.168.10.15
relay-ip=192.168.10.15
external-ip=xxx.xxx.xxx.xxx #路由器的外网地址
relay-threads=2
min-port=49152
max-port=65535
fingerprint
lt-cred-mech
user=zy:123456
userdb=/var/db/turndb
realm=abc.com
log-file=/var/tmp/turn.log
mobility
server-relay
启动coturn
service coturn start
启动后进程如下
客户端
接下来是Js的客户端
进入到CS_WebRTC_Client_SDK_JavaScript.v4.1.1\samples\p2p目录下,用编辑器打开peercall.html文件
修改Sigaling Server和stun/turn的地址
再用浏览器打开peercall.html页面,打开两个窗口
一个用x登录,Remote ID设置成y;另一个用y登录,Remote ID设置成x,然后点击Share Camera按钮
提示使用麦克风和摄像头,点击允许
如此一来,两个客户端之间就可以互相音视频通信了。