搭建自己的聊天服务器(Rocket.Chat下篇)
在各种 Rocket.Chat
的介绍中都有支持语音/视频聊天功能的描述,但是刚安装好的 Rocket.Chat
中是找不到的,需要我们进一步的安装、设置。
要支持视频,有几个选择,一个是 Jitsi Meet
,一个是 RocketChat Meet
,还有一个 BigBlueButton
。之前我们在《在群晖上搭建专属的视频会议》里已经安装过 Jitsi Meet
,所以就先以 Jitsi Meet
为例看看如何设置
Jitsi Meet
网页版进入 管理
模块
左侧菜单项找到 视频会议
,展开 Jitsi
- 首先肯定要启用
- 域名:填入
Jitsi
的域名(有端口要带上端口),当然,如果你并没有自己搭建Jitsi Meet
,也可以用公网的。如果准备用公网的,这项不用做任何修改 - SSL:因为浏览器中要使用音视频必须支持 SSL ,所以不管是你架设的
Jitsi Meet
服务还是公网,都必须启用 - 总是在新窗口打开:建议启用,否则有可能会看不全
- 在频道中启用:建议启用,这样在频道中也可以使用视频会议了
- JWT 认证:不建议启用,但启用了会更安全。如果启用需要在
Jitsi Meet
安装相应的插件并做相应的设置,具体设置过程可以参考文档: https://github.com/jitsi/lib-jitsi-meet/blob/master/doc/tokens.md
JSON Web Token(JWT)是一个开放的标准(RFC 7519),它定义了一个紧凑且自包含的方式,用于在各方之间作为JSON对象安全地传输信息。由于此信息是经过数字签名的,因此可以被验证和信任。
在 Android
客户端,频道中选中一个用户,会发现多了 视频电话
在 Windows
客户端也是一样的
开始视频呼叫
对方会收到一条信息,点击后即可进入视频
呼通之后
BigBlueButton
BigBlueButton
是一款专门为了「老师、学生教学需求」而设计的免费、开源的网络会议系统,支持实时共享音频、视频、幻灯片(带有白板控件)、聊天和屏幕。教师可以使用投票、表情符号、多用户白板和分会议室来远程和学生进行互动。演示者也可以记录和回放内容,供以后与他人共享。
关于 BigBlueButton
的安装使用,简单测试了一下,网上的 Docker 镜像都是2年前的,尝试后发现存在很多错误,未能成功运行,有空再研究。
网页版进入 管理
模块,找到 视频会议
,展开 BigBlueButton
想用 https://demo.bigbluebutton.org
测试,但没有 Shared Secret
,所以启用之后可以看到按钮,但启动 Start Meeting
后没有任何看到任何提示
在管理后台的日志菜单中会能看到 Exception while invoking method bbbJoin Error
这类的错误。
RocketChat Meet
RocketChat Meet
就是 WebRTC
,网页版进入 管理
模块,左侧菜单项找到 WebRTC
,启用后在用户信息会出现 开始视频对话
和 开始音频对话
两个按钮
开始视频对话
对端的手机端没反应,但是网页端会弹出提示
当同一个账号登录多个网页端时,都会收到通话的消息,但是接通只能是一个
接受之后
chrome
浏览器中,屏幕共享需要另外安装插件
而在 Safari
浏览器上并不支持屏幕共享功能
如果是音频对话,本地和远端都是黑框
小结
Rocket.Chat
功能非常强大,能够和很多系统进行整合,而视频只是其中的一项,感兴趣的可以深入研究。
参考文档
官方文档
地址:https://docs.rocket.chat/Video Conferencing
地址:https://docs.rocket.chat/guides/administrator-guides/setting-up-video-conferencingVoice and Video Conferencing
地址:https://docs.rocket.chat/guides/user-guides/voice-and-video-conferencingRocket Chat part 3: Installing Jitsi with JWT for secure video conferencing
地址:https://medium.com/@szewong/rocket-chat-part-3-installing-jitsi-with-jwt-for-secure-video-conferencing-b6f909e7f92c