适用于中小企业呼叫场景的ARCall
什么是 anyRTC ?
anyRTC
是一家全球实时音视频云服务供应商,致力于提供高可用、高质量的实时互动服务,为客户提供安全、可靠的产品及优质的服务体验。
什么是 ARCall ?
ARCall
是anyRTC
仿微信呼叫的示例项目,可实现一对一及多人音视频通话。
什么是 AppID ?
AppID
为应用的唯一标识,即application identification
(应用识别;应用辨识),是用来标记你的开发者账号的。
什么是 RTC ?
RTC
即Real-Time Communication
,能实现语音通话、视频通话、音频互动直播以及视频互动直播等实时通信场景,主要用于传输音视频。
什么是 RTM ?
RTM
即Real-time Messaging
,可用于实现消息发送、呼叫邀请等信令系统功能,主要用于传输文本。
前期准备
注册账号
划重点:每个月有
10000
分钟的免费时长
- 创建一个项目
接下来的 试用通话
可以点 x
跳过
-
项目管理
页面,获取该项目的APP ID
APP ID
一定要保管好,不能泄露,不然可能免费时长也不够用哦
域名和证书
基于浏览器的音视频应用,需要采用 https
协议才能使用本机的音视频设备,因此代码做了处理,用 http
协议是不能登录的
这一点老苏以前强调过很多次了,可以翻翻之前跟音视频相关的文章
老苏没有公网 IP
,用 frp
做的内网穿透,但做了泛域名解析,不了解的可以翻翻老苏以前的文章
构建镜像
如果你不想自己构建,可以跳过,直接阅读下一章节
1 | FROM nginx:1.12-alpine |
replace_appid.sh
用于替换环境变量值
1 |
|
修改 ARCall/Call-web/assets/js/index.js
文件
1 | //配置 |
改为
1 | //配置 |
构建镜像和容器运行的基本命令如下👇
1 | # 拉取源代码 |
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 arcall
,选择第一个 wbsu2003/arcall
,版本选择 latest
。
端口
端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
本地端口 | 容器端口 |
---|---|
3580 |
80 |
环境
可变 | 值 |
---|---|
RTC_APPID |
你的 AppID |
RTM_APPID |
你的 AppID |
运行
在浏览器中输入 http://群晖IP:3580
就能看到主界面
改用我们前面设置的域名 https://arcall.laosu.ml
访问,会弹出申请摄像头,要点 允许
接下来是申请 麦克风
,同样要 允许
之后就会获取到 用户ID
点对点呼叫邀请
在另一台设备上打开 https://arcall.laosu.ml
,授权音视频设备后也会获得 用户ID
在任何一方点击 点对点呼叫邀请
输入对方的 用户ID
后,点 视频呼叫
等待对方同意
接收端会看到呼叫方的 用户ID
接通后会显示双方的图像
多人呼叫邀请
点 多人呼叫邀请
与 点对点呼叫邀请
不同,可以一次输入多个 用户ID
点 发起邀请
同样也需要接收端同意
双击图像可以变大窗口
会议中可以继续邀请,只要带宽足够,最大可以支持到 50
方
其他端
ARCall
开源项目不仅仅只是 Web
端,还有 iOS
、Android
和 uniapp
端,有需要的可以直接下载编译,但是要实现各端的互联互通,必须使用同一个 APP ID
小结
老苏之所以觉得 ARCall
适合中小企业,是因为大企业一般都会自建基于硬件的视频会议系统,需要有专门的硬件设备和会议室,而中小企业不一定有这笔预算
虽然 ARCall
只是个示例,但是已经完成了音视频通讯的基本功能,如果你会写点代码,可以加上白板、文档共享等功能,使之成为真正适合你和你所在企业的专属音视频会议系统
当然 ARCall
能做的绝不仅仅局限于视频会议,如果开发中遇到问题,可以直接联系 anyRTC
,联系方式就在👇下面
参考文档
anyRTC-UseCase/ARCall: 一对一呼叫、邀请呼叫、音视频通话、多人通话,适合陌生人交友、在线教学、在线医疗、智能终端等场景;更能轻松实现腾讯会议,Zoom会议,钉钉课堂等多人音视频交互类场景。一对一音视频,一对多音视频。
地址:https://github.com/anyRTC-UseCase/ARCall文档中心 - anyRTC
地址:https://docs.anyrtc.io/