视频会议服务比较讨论笔记
粗略笔记。
tl;dr
- 如果犹豫,Zoom 是 de facto,所以从 Zoom 开始
- 如果能精查需求,也可以考虑其他服务
- 如果使用 G Suite,Google Meet 不错,值得试试
讨论需求
- 需要多高的安全性
- 参与应该有多轻松
- 通信稳定度要到什么程度(应假设多少参与人数)
- 是否应假设从 mobile 或 tablet app 参与
- 是固定同一团队定期使用,还是总有第一次使用的人
- 是否想录制
关于视频会议系统,有很多服务,简单整理
- Zoom:正在成为事实上的 de facto。可以免费使用。我们公司的 technology team 例会也在使用。最稳定且功能多。反过来说,安装 app、注册账号等麻烦较多。
- Whereby(旧 Appear):只要共享 URL 就能使用。免费也能用。轻松,但安全性也相应偏弱。另外,速度容易不稳定。
- Google Meet:如果使用 G Suite,可以免费使用。能通过共享 URL 参与,进入 room 前有审批,所以一定程度上能保证安全性。线路也稳定,30 人左右参与也没有问题。
虽然不是视频会议,但用于 seminar 配信
- YouTube Live:目前几乎是唯一选择。Zoom 的付费 plan 也可以做 webinar,所以如果已经付费使用 Zoom,也可以作为选项。
作为 chat tool 延伸能进行视频会议的工具(未验证)
- Slack
- Discord
- Microsoft Meet
messaging 系列中支持 video 的工具(未验证)
- Skype
- Facebook Messenger
- Google Duo 或 Google Hangout(注意 Google Meet 是另一个东西)
变种
- https://pragli.com/ 用 avatar meeting
- https://remo.co/conference/ 有 virtual space 的 room,像坐在那里一样参与
- https://tandem.chat/ 假设用于 pair programming
- https://jitsi.org/jitsi-meet/ open source,也可以跑在自己的 server 上
自行实现系
- full scratch
- https://www.twilio.com/
- https://webrtc.ecl.ntt.com/ NTT 系
技术话题(理解技术话题后,也更容易理解服务差异)
- 浏览器中参与的视频会议机制,基本上使用 WebRTC 机制
→ 安装软件的方式自由度更高,所以更容易优化
→ → 也就是说,无需安装的便利性,与通信舒适度和功能丰富度之间存在 trade-off
→ → → 不过即使是安装型,如果没有好好实现,也还是不行
- 关于 mobile,WebRTC API 还不能充分支持
→ 因此需要 app
→ → 如果只是 live 配信,不是 WebRTC,只是观看 video,所以可以观看
- video packet 基本上通过 UDP 发送
→ 所以基本上是发送大量数据的机制
→ → 通信舒适的服务会对这些数据进行优化
→ → → 方法 1 是安装软件,用该软件进行压缩处理
→ → → 方法 2 是使用后述 SFU,通过中间 server 进行优化处理
- WebRTC 的机制有 P2P 和 SFU(Selective Forwarding Unit)
→ P2P 顾名思义,直接连接终端和终端
→ → 随着参与者增加,连接数会指数级增长,所以 4 人以上参与时就会变得困难
→ SFU 是准备中间 server 的方针,client 只和 SFU 通信,所以基本上和 1 对 1 连接没有区别(严格来说 download 数据量会增加,所以多数情况下会限制可显示 video 数量)
→ → 即使是 SFU,也有一定的数据 filtering 空间,所以有开发能力的服务应该会实施优化(猜测)
→ → → 更进一步的道路是 MCU(Multipoint Control Unit),准备实时合成多个地点连接的 server 的方针。Twilio 是 SFU,所以不像用 API 快速实现那样。过去这似乎是 de facto。因为实时合成,所以似乎可以把 100 个视频合成一个再配信。