基于node.js+Express搭建Agora Web Https服务器
2018.2.24
0、首先,参考下文搭建起基于node.js+Express的Https服务器
基于Node.js Express搭建Https服务器
http://blog.csdn.net/xingyanchao/article/details/79362443
1、下载Agora_Web_SDK
https://www.agora.io/cn/download/ (视频通话+直播SDK)
这里使用的是:Agora_Web_SDK_v2_1_0_FULL.zip
2、解压后,将文件拷贝到project1的不同目录下
(1)将index.html宝贝到views下面,改名为index.ejs(覆盖原来的)
(2)将AgoraRTCSDK-2.1.0.js和vendor下的jquery.js都拷贝到public/javascripts下
(3)将venddor下的bootstrap.min.css拷贝到public\stylesheets下
3、修改index.ejs
主要是修改被引用文件的路径:
<link rel="stylesheet" href="/stylesheets/bootstrap.min.css">
<script src="/javascripts/AgoraRTCSDK-2.1.0.js"></script>
<script src="/javascripts/jquery.js"></script>
4、验证
访问https://localhost:3000/,join后就可以打开本地音视频流了
5、工作流程分析
(1) getDevices()中调用AgoraRTC.getDevices获取设备信息
① 取出其中kind为audioinput和videoinput的
② 分别添加到音视频源下拉列表中(重要的是deviceId而非label)
(2) 点击join按钮后
① 创建客户端:client = AgoraRTC.createClient({mode: 'interop'});
② 初始化客户端:client.init(appId)
③ 初始化成功后,client加入channel:client.join(channel)
④ 加入channel后得到uid,创建本地流:localStream = AgoraRTC.createStream()
⑤ 设置本地流profile:localStream.setVideoProfile('720p_3')
⑥ 初始化本地流:localStream.init()
⑦ 初始化本地流成功后
1) 播放本地流:localStream.play('agora_local');
2) 发布本地流:client.publish(localStream)
(3) 收到stream-added事件后,注册该流:client.subscribe()
① 收到stream-subscribed事件后,播放远程流:stream.play()
(4) 收到stream-removed事件后,停止播放流:stream.stop()
(5) 收到peer-leave事件后,如果peer有流,停止它:stream.stop()
6、在局域网测试过3方视频成功