一对一视频通话软件Call-Me
什么是 Call-Me ?
Call-Me
使你能够直接通过网页浏览器使用WebRTC
技术轻松进行一对一的视频通话。
Call-Me
的主要功能:
- 使用用户名登录。
- 通过输入接收者的用户名进行视频通话。
- 切换视频源的可见性。
- 通话结束时挂断电话。
- 提供
REST API
获取所有连接的用户。
准备
出于安全考虑,浏览器要使用摄像头和麦克风,须要在 https
协议才能开启,或者处于开发模式,使用 localhost
访问
因此有两个方案:
- 方案一:采用惯例,用
npm
反代http://群晖IP:8582
,实现用域名https://vchat.laosu.tech
的访问 ; - 方案二:直接使用
https://群晖IP:8582
。这种方案同样也可以用npm
反代,从而实现可以同时使用IP
或域名访问;
环境变量
将下面的内容保存为 env.txt
文件
1 | # Server |
SSL
:老苏采用了方案二,因此设为true
;DOMAIN
:主机IP
或者域名;PORT
:Web UI
的端口;API_KEY_SECRET
:是用于API
身份验证和安全性的重要组成部分,可以理解为密码;
在 WebRTC
中,STUN
和 TURN
是两种用于 NAT
穿透的技术,它们帮助在复杂的网络环境中实现点对点通信。
在这里Turn
和 Stun
保持默认就可以了。如果只是在局域网中使用,也可以关闭 Stun
,这样可以规避可能遇到的服务器访问不到的问题。
反向代理
这一步是非必须的,因为前面设置了
SSL=true
,所以用https://群晖IP:8582
也是可以的;
假设实际访问地址为: https://vchat.laosu.tech
你必须要用自己的域名,而不是照搬老苏的;
域名 | 局域网地址 | 备注 |
---|---|---|
https://vchat.laosu.tech |
https://192.168.0.197:8582 |
Call-Me 的访问地址 |
在 npm
中的设置
【注意]:因为前面设置了
SSL=true
,所以这里是https
协议,而不是http
,否则会打不开网页。
SSL
都勾选了
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 mirotalk/cme
,选择第一个 mirotalk/cme
,版本选择 latest
。
本文写作时,镜像只有一个
latest
版本,但从日志看,软件版本为1.0.10
;
卷
在 docker
文件夹中,创建一个新文件夹 callme
,将 env.txt
放入根目录
文件 | 装载路径 | 说明 |
---|---|---|
docker/callme/env.txt |
/src/.env |
环境变量文件 |
【注意】:是
添加文件
而不是添加文件夹
端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
本地端口 | 容器端口 |
---|---|
8582 |
8582 |
默认没有对外暴露端口,因为这个端口是根据环境变量 PORT
设定的,如果 PORT
变更了,这里也要跟着变
需要点 +
号自行添加
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
1 | # 新建文件夹 callme |
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
1 | version: '3' |
然后执行下面的命令
1 | # 新建文件夹 callme |
运行
在浏览器中输入 https://群晖IP:8582
或者 https://vchat.laosu.tech
如果是用 IP
,第一次会有提示
点 高级
点 继续前往
进入主界面,而用域名的话,会直接看到主界面
设置一个名字,例如:laosu
第一次会提示权限,必须要点 运行
用域名,第一次也有提示
可以看到用 IP
是不安全的,域名的话就不会
获取到权限后,默认会显示本地视频
三个按钮从左至右依次为
Toggle hide me
:关闭本地视频Call
:发起呼叫Hang up
:挂断或者退出
需要在浏览器中登录另一个进程,比如用户名叫 laoli
,然后在按钮上方文本框中输入对方的名字 laosu
另一端会有铃声提醒
点 Yes
就可以愉快的视频了
参考文档
miroslavpejic85/call-me: 🟢 Call-Me: Your Go-To for Instant Video Calls!
地址:https://github.com/miroslavpejic85/call-meCall-me
地址:https://cme.mirotalk.com/