webrtc是开源项目,目的是实现跨平台实时通信:
https://webrtc.org/
使用SDP协议,p2p通信流程图如下:
ice服务器分为turn和stun(局域网或者本地不需要),负责通信过程信号处理。
1.创建azure app service
2.开启websocket
3. 上传ssl证书,因为链接需要是HTTPS
4. 由于需要部署在公网,所以要注册turn/stun服务器,可以去以下链接注册一个免费的http://numb.viagenie.ca
5. git clone下面这个程序作为模板
https://github.com/lucaslouca/video-conference-webrtc注册完turn服务器以后,在 meeting.js 中添加用户名和密码以及server的url
var _pcConfig = {
'iceServers': [
{ 'url': 'stun:stun.l.google.com:19302' }
{
urls: ["turn:your server "],
username: "xxx",
credential: "xxx",
credentialType: "password"
}
]
};
6. 打开server.js,需要把socket监听端口改成process.env.PORT ,从azure获取默认端口
7. 相应的,在meeting.js中也要改服务器的url,改成你的azure url(注意一定要是https的): Https://xxx.azurewebsites.net
8. 创建一个安卓程序,可以使用web browser控件,打开javascript以及camera,video权限,指向azure 的地址 就可以了。如果直接打开安卓的chrome也可以直接测试。