搭建自己的聊天服务器(Rocket.Chat下篇)

在各种 Rocket.Chat 的介绍中都有支持语音/视频聊天功能的描述,但是刚安装好的 Rocket.Chat 中是找不到的,需要我们进一步的安装、设置。

要支持视频,有几个选择,一个是 Jitsi Meet,一个是 RocketChat Meet,还有一个 BigBlueButton。之前我们在《在群晖上搭建专属的视频会议》里已经安装过 Jitsi Meet,所以就先以 Jitsi Meet 为例看看如何设置

Jitsi Meet

网页版进入 管理 模块

title

左侧菜单项找到 视频会议 ,展开 Jitsi

title

  • 首先肯定要启用
  • 域名:填入 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对象安全地传输信息。由于此信息是经过数字签名的,因此可以被验证和信任。

title

Android 客户端,频道中选中一个用户,会发现多了 视频电话

title

Windows 客户端也是一样的

title

开始视频呼叫

title

对方会收到一条信息,点击后即可进入视频

title

呼通之后

title

BigBlueButton

BigBlueButton 是一款专门为了「老师、学生教学需求」而设计的免费、开源的网络会议系统,支持实时共享音频、视频、幻灯片(带有白板控件)、聊天和屏幕。教师可以使用投票、表情符号、多用户白板和分会议室来远程和学生进行互动。演示者也可以记录和回放内容,供以后与他人共享。

关于 BigBlueButton 的安装使用,简单测试了一下,网上的 Docker 镜像都是2年前的,尝试后发现存在很多错误,未能成功运行,有空再研究。

网页版进入 管理 模块,找到 视频会议 ,展开 BigBlueButton

title

想用 https://demo.bigbluebutton.org 测试,但没有 Shared Secret,所以启用之后可以看到按钮,但启动 Start Meeting 后没有任何看到任何提示

title

在管理后台的日志菜单中会能看到 Exception while invoking method bbbJoin Error 这类的错误。

title

RocketChat Meet

RocketChat Meet 就是 WebRTC ,网页版进入 管理 模块,左侧菜单项找到 WebRTC,启用后在用户信息会出现 开始视频对话开始音频对话 两个按钮

title

开始视频对话

title

对端的手机端没反应,但是网页端会弹出提示

当同一个账号登录多个网页端时,都会收到通话的消息,但是接通只能是一个

title

接受之后

title

chrome 浏览器中,屏幕共享需要另外安装插件

title

而在 Safari 浏览器上并不支持屏幕共享功能

title

如果是音频对话,本地和远端都是黑框

title

小结

Rocket.Chat 功能非常强大,能够和很多系统进行整合,而视频只是其中的一项,感兴趣的可以深入研究。

参考文档

官方文档
地址:https://docs.rocket.chat/

Video Conferencing
地址:https://docs.rocket.chat/guides/administrator-guides/setting-up-video-conferencing

Voice and Video Conferencing
地址:https://docs.rocket.chat/guides/user-guides/voice-and-video-conferencing

Rocket 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