LWN:使用Jitsi进行视频会议!

关注了就能看到更多这么棒的文章哦~

Video conferencing with Jitsi

By Jonathan Corbet
March 24, 2020

原文链接:https://lwn.net/Articles/815751/

北半球的春天来了,人们开始思春——哦不,开始思考如何度过宅家的生活了,毕竟许多地方都规定不可以出门。因此能让大家和同事继续交流的远程办公工具热度大增,尤其是视频会议(video conferencing)。市面上有许多视频会议的商业解决方案,而编者打算自己看看自由软件(free-software)领域有哪些方案。确实已经有一些方案了,第一个我们先来看看Jitsi。

Jitsi实际上是一组工具的集合,大部分基于Java(还有JavaScript)语言,基于Apache许可证发布。核心模块是Jitsi Videobridge,它实现了多方的视频会议;还有Jitsi Meet,这是客户端。还有其他一些模块,不过一般人不碰到问题应该也不会去关注。还有一个Jitsi Desktop application,不过现在来看已经过时了,主要用的还是浏览器接口。

Getting it going

高手当然可以直接拉源代码来安装。不过对咱们普通人来说,还是直接用编译好的二进制程序吧,支持Demain和Ubuntu。编者在云上的Debian 10系统中安装的。

安装的时候其实不是那么简单的。仅有的几个文档中说安装包本身会设置好web服务器,不过其实读者还需要自己解决许多细节问题。它可以自动设置好Let's Encrypt证书,不过编者没有尝试。等服务器端设置好之后,就可以用普通的Firefox浏览器来连接这个新建的Videobridge服务了。

直接单人连接到Jitsi server的话,可以好好欣赏一下你自己的美好容颜,不过这还算不上视频会议。不过等到第二个用户练上来之后,两个人的连接都会马上断开,只留给我们那个非常“有价值”的提示信息:something went wrong,服务器端这边会看到另一个“更有帮助的"error 143"信息。搜索了一下,https://community.jitsi.org/t/room-crashed-when-somebody-joined/21857/14 这里有讲到这是因为Debian安装包装服务软件的时候配置不正确,等按照文中建议配置好之后,终于可以正常使用了。

The user experience

标准网页浏览器里面就可以跑得起Jitsi客户端,不需要安装任何插件。在缺省配置下,新用户连上服务器的时候会看到一个提示创建新会议的界面,键入任意会议名,就可以创建这个会议室”了,如果这个名字的会议室早就存在的话就是加入此会议。感兴趣的读者可以看一下Jitsi网站上的demo(https://meet.jit.si/  ),所有人都可以在上面建立一个免费会议。

LWN:使用Jitsi进行视频会议!_第1张图片

加入会议之后,所有操作就跟其他商业软件差不多了。可以看到并列的多个参与者的图像,或者是在当时正在讲话的参与者的图像。有些按钮可以静音或者关闭摄像头,也有一块区域供文字交流,有个“举手”按钮用来唤起别人注意。还有个很好的功能是可以把自己的视频背景模糊化,不过这个效果有点不够真实。

视频音频质量都不错,不过网络质量不佳的时候视频会有些问题。Jitsi声称服务端和客户端之间的所有数据都是加密传输的,不过服务端video bridge内部这些数据是明文传输的。

还有一个共享桌面功能,可以把单个程序窗口或者整个桌面都传送出去,不过如果视频会议本身也在桌面上显示的话,传输整个桌面的效果就看起来很滑稽。网站上说有个“presenter mode"演讲模式,可以把桌面内容和摄像头的视频结合起来,不过目前还没能在稳定版本中发布出来。

第一个进入会议的人会作为会议主持,拥有一些特别权限。比如可以把其他参与者静音,或者把他们踢出会议。还有一个小窗口里显示了每位参与者有多少时间在讲话。此外还可以对会议房间设置密码。不过看起来没法把主持权限转给其他人。

Apps and more

如果在手机上用浏览器访问Jitsi服务器,会看到一个提示说:“You need the Jitsi Meet mobile app to jon the meeting on your phone”。不过如果点击Andriod上Chrome浏览器里面提供的“desktop site”选项,其实完全就可以正常工作了。视频会议系统其实不需要这么大力推广app。如果这个系统今后仍然流行,编者可能会看进去找个方法关闭这个代码逻辑。

不过app还是有它的价值的。这个app也是一个自由软件,可以通过F-Droid安装,也可以用Google Play Store来安装。它提供了大多数网页版本拥有的功能,并且界面排布上更适合触摸操作。还有一个用于Apple设备的app,不过编者没法尝试了。

有一个忠告:加入app拒绝连接到Jitsi服务器,并且弹出一些没什么用的错误信息,那么问题八成是在服务器端的证书上。app似乎比浏览器更加严谨一些,会在需要的地方获取中间证书。毕竟编者这样的高手也没法保证不会在配置时出错啊。

还有许多其他功能我没有去体验。比如说,可以把一个会议视频直接stream到Youtube上去,这样就可以广播给所有人了。“Stream to YouTube”看起来也是一个很适合用来做会议记录的方案。如果同一个服务器上有Etherpad服务(是一个多人文档协作平台)运行的话,Jitsi也可以跟它集成在一起用。还支持集成SIP功能,这样大家就可以通过电话来加入会议了,不过这需要在搭建Jitsi的时候再去进行烦人的SIP环境搭建工作了。

在跟几位参与者进行实验的时候,编者发现服务器的资源占用非常小(当然也不是0占用)——低端云服务器上每位参与者大概占用6~7%的资源。视频会议通常需要很大的带宽,不过这些数据的转发看起来并不需要占用许多CPU时间。不过,网页客户端运行的时候肯定是会让笔记本电脑的风扇也转起来的。

看起来还缺少一个功能——或者是不容易找到——服务器端管理员应该要能看到有哪些会议在进行,以及它们分别占用多少资源。还有就是缺少对传输出去的视频流的中心控制界面,比如可能有些人需要用Jitsi来进行虚拟会议,让大家主要听演讲者的和演讲文稿的混编界面。

虚拟会议当然也是LWN非常感兴趣的功能。如果疫情持续较长时间,那么社区短期内就很难坐下来面对面地聚会了。而我们一直很依赖这些聚会来解决复杂的问题,以及认识对端邮件地址背后的真人。这两个需求都非常重要,因此在能真正回复面对面的会议之前,我们需要能找个方法来代替它。

目前有许多不同的人在寻找这些解决方案。我们的社区作为一个整体,当然更乐于接受基于自由软件的方案。Jitsi看起来哪怕不一定能算是一个完整解决方案,至少也是一个很不错的基础了。编者会在后面几周继续了解其他的可选方案,敬请期待!

全文完

LWN文章遵循CC BY-SA 4.0许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注LWN深度文章以及开源社区的各种新近言论~

你可能感兴趣的:(LWN:使用Jitsi进行视频会议!)