来源:FOSDEM 2022 分享人:Saúl、Emil 内容整理:胡经川 Jitsi 的创始人 Saúl 和 Emil 通过对话,从三个角度讨论了 Jitsi 的发展以及他们在过去 20 年中花费在开源实时通信上吸取的经验和教训 两位创始人分别从 Jitsi 与开放标准的关系、与开源的关系以及与金钱的关系讨论了 Jitsi 的发展历程。 我们最初的商业模式是围绕 Jitsi 项目为客户提供工程服务。 为了不让某一个用户承担整个会议的全部负载,我们研发了 Jitsi 视频桥的功能,从而将负载转移到了服务器上。 图2: Jitsi 最初的视频会议界面 图3: Jitsi 视频桥示意图 WebRTC 就是从这个想法转变而来的,它完全摆脱了客户端的存在,核心仍然放在服务器端,但它提供了一个完整的新前端。
本文来自Jitsi Videobridge SFU的后端开发人员之一Brian Baldino,他过去在思科和Highfive工作过,拥有丰富的视频会议产品研发经验。 他分享了在Jitsi实现自动减少转发视频层,从而降低客户端CPU和带宽使用。LiveVideoStack对原文进行了摘译。 suspending-simulcast-streams/ 对高流量的流控制(来源:usbr.gov) 大多数人可能都熟悉典型的SFU风格的用户界面,该界面最初是在Google Hangouts的消费者市场中推广的,并由Jitsi 但我们还没有在实际的Jitsi调用中尝试它,测试环境是点对点的,并没有使用联播,所以我们不确定它能移植到Jitsi并工作。曾经我们尝试或,我们发现我们没有得到快速上升。 今天就试试看Jitsi Meet,将#config.enableLayerSuspension = true添加到你的URL(只要你使用Chrome v69 +)或查看Jitsi Github中代码。
all Prosody token authentication plugin for Jitsi Meet ii jitsi-meet-turnserver 1.0.4127 -1 all Configures coturn to be used with Jitsi Meet ii jitsi-meet-web :/etc/nginx# tail -f /var/log/jitsi/jicofo.log root@2e5ee1f22bc9:~# tail -f /var/log/jitsi/jvb.log 配置文件 @2e5ee1f22bc9:/etc/jitsi# service jitsi-videobridge2 status root@2e5ee1f22bc9:/etc/jitsi# service jicofo root@meet:/etc/jitsi# ps -ef|grep java jvb 19769 java jitsi-videobridge jicofo 8155
Meet 默认情况下,Jitsi Meet在Ubuntu 18.04默认存储库中不可用。 您可以通过运行以下命令来执行此操作: wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add - sudo sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi.list" 接下来,使用以下命令更新存储库并安装 Jitsi Meet: sudo apt-get update -y sudo apt-get install jitsi-meet -y 在安装过程中,您需要提供您的主机名,如下所示: 提供您的主机名 Links https://jitsi.org/jitsi-meet/
4 jitsi-meet https://github.com/jitsi/jitsi-meet Star 7384 Jitsi是一个开源的,安全(ZRTP加密),高质量的SIP/XMPP视频通话、会议 Jitsi是当最功能最完整的高级通信工具。Jitsi让你可以在同一个软件中连到Facebook、GoogleTalk、XMPP、Windows Live、Yahoo!、AIM和ICQ进行通信。
今天了不起给大家分享一个超酷的开源项目 - Jitsi Meet,最近摸鱼时发现的宝藏,简直是打工人开会、朋友远程唠嗑的神器! 性能特色 全平台支持:不管你是用电脑还是手机,用什么浏览器,Jitsi Meet都能完美兼容。移动端还有专门的应用,方便得很。 安全可靠:作为开源项目,Jitsi Meet的安全性很高。它支持端到端加密,数据传输过程中不会被泄露,大家可以放心用。 可扩展性强:开发人员可以通过SDK将Jitsi Meet集成到自己的项目中,实现个性化功能。比如,企业可以根据自己的需求定制会议界面,或者添加一些特殊功能。 如果你还在为找不到合适的视频会议软件而烦恼,不妨试试Jitsi Meet,相信它会让你眼前一亮。 项目地址:https://github.com/jitsi/jitsi-meet
来自Jitsi团队的Boris Grozev深入描述了级联SFU问题,并展示了他们的方法以及他们遇到的一些挑战。 实现级联SFU 那么我们如何在Jitsi Meet中实现它,以及如何在meet.jit.si上部署它? 信号与媒体 让我们先看看信号。 从一开始,Jitsi Meet就将信令服务器(现在是Jicofo)和媒体服务器/ SFU(jitsi-videobridge)的概念分开。这种分离允许我们相对容易地实现对级联桥的支持。 我们最终得到了两个独立的服务器池——一个jicofo实例池和一个jitsi-videobridge实例池。下图说明了部分内容。 有关设置Octo的文档,请参见此处(https://github.com/jitsi/jitsi-videobridge/blob/master/doc/octo.md)。
1、Jitsi Meet image.png Jitsi Meet 是一个令人印象深刻的开源视频会议服务。你可以在我们关于 Jitsi Meet 的单独报道中轻松找到更多信息。 为了给你一个好的开始,Jitsi Meet 提供免费官方公共实例来测试它,只要你需要,就可以免费使用它。 Jitsi Meet 2、Jami image.png Jami 是一个基于点对点的开源视频会议解决方案。很高兴看到分布式的服务,这意味着不依靠服务器,而只是点对点的连接。
Jitsi有jitsi-hammer,甚至发表了他们的一些研究成果。Jitsi尤其在透明度方面做了大量工作,提供了可靠的数据和足够的信息来重现结果。 最新版本的Jitsi Videobridge(到本文发表时为止)在240个用户时总是变得不稳定。Jitsi团队已经意识到了这一点并正在解决这个问题。 图2:JItsi在240名参与者失败。Kurento / OpenVidu很早就遇到了问题。Janus和mediasoup似乎比Medooze更好。 图3:JItsi在240名参与者失败,Kurento / OpenVidu在50左右出现问题。否则SFU表现出类似的行为。 之前(左)和之后(右)将补丁应用于Janus和Jitsi。我们还添加了mediasoup结果(绿色)。
国外饱受Zoom折磨的网友推荐使用开源软件Jitsi Meet,不仅免费,而且更安全。更重要是让Zoom看看,人家一个免费软件是如何做加密的,Zoom好好学着点。 ? 以上只是官方的一个演示,考虑到浏览器记录可能会泄露你的密钥,Jitsi下一步将考虑使用新的算法处理密钥的交换和管理方式,进一步提高安全性。 Jitsi Meet不是什么跟风之作,而且要说到历史,Zoom也得叫前者一声大哥。 Zoom公司是2011年才创立,而Jitsi Meet早在2003年就有了,最初还是斯特拉斯堡大学在读博士生Emil Ivov的项目。 ? 因为最近的疫情,加上Zoom不给力,Jitsi Meet开源项目又火了起来,短短几天之内GitHub上的活跃度大增。 真是Emil Ivov和一众网友用熟练的技巧教袁征如何做软件。
kurento官网的文档和示例很齐全,对于开发者来说,非常友好) https://github.com/lynckia/licode (官网文档很少,学习曲线略陡峭) https://github.com/jitsi /jitsi (据说性能不错,而且还提供了一个视频会话的子项目jitsi-meet,但是文档仍然不多,得生啃代码) https://github.com/pion/webrtc/ (github上star
Jitsi Meet官网地址:https://jitsi.org架构:SFU,基于java开发协议:webrtc录存:录像要安装插件模块,是基于虚拟chorme一个客户端接入,录屏,性能极差优点:界面很漂亮
Matrix从full mesh迁移到Jitsi[21],最近又迁移到原生SFU[22]。所以对于有些人来说,它的WebRTC历程有些曲折。 下面是商业方面: • Janus、Jitsi、mediasoup和Pion 我曾在《2022 WebRTC发展趋势分析》中详细介绍过这些项目,相关内容可以参见下图。 • Jitsi 可以将Jitsi看作其自己的平台: Jitsi 的核心是Jitsi Videobridge,与周围的其他组件共同组成了Jitsi Meet视频聊天应用程序。 谈钱时刻 几年以前8×8收购了Jitsi,这也说明它没有官方付费选项。 同样,也无法进行付费的定制化开发。 Jitsi生态规模足够大,并且还有其他人为其提供开发服务。 和Matrix(Element 提供付费托管)一样,8×8 JaaS 为Jitsi(CPaaS)提供付费托管。还有Jitsi Meet,它本质上是建立在Jitsi之上的免费托管服务。
目前有很多比较有名的开源流媒体服务器,如 Janus、Medooze、Mediasoup、Licode(OWT)、Jitsi等等。 当然,除了上面我介绍到的几款比较流行的 WebRTC 流媒体服务器外,还有一些其它的流媒体服务器,如 Licode、OWT、Jitsi等也可以选择。 Jitsi 上层是使用 Java 语言开发的,但底层也是使用的 C/C++ 语言。它通过 JNI 来实现Java与 C/C++之间的通信。 在 2018 年有机构做过一次性能评测,当时 Jitsi 表现比较差强人意,不知现在是否已经有了改进。
除了这个不可思议的浏览器,视频工具也是个不可思议的 GitHub 老项目:Jitsi Meet 本周也获得了超过 800 个 star,占据本周 GitHub Trending 周榜。 GitHub 地址 →https://github.com/luruke/browser-2020 2.6 视频工具:Jitsi Meet 本周 star 增长数:800+ Jitsi Meet 是一个安全 GitHub 地址 →https://github.com/jitsi/jitsi-meet 2.7 会议系统:BigBlueButton 本周 star 增长数:400+ BigBlueButton
3.2 Jitsi https://github.com/jitsi/jitsi Jitsi是一个免费的开源音频/视频和聊天通信器,它支持SIP、XMPP/Jabber、AIM/ICQ、IRC和许多其他有用的特性 Jitsi不仅是WebRTC媒体服务器,而且还有一个完整的平台。 Jitsi系列产品包括Jitsi Videobridge(媒体中继,SFU),Jitsi Meet(会议网络客户端),Jicofo(Jitsi Conference Focus),Jigasi(Jitsi Gateway to SIP)和Jitsi SIP Phone。 借助Jitsi我们能在几个小时之内迅速搭建一个完整可用的通信平台。 它还使用Jingle(XMPP)和功能齐全的Web界面实现自己的信令控制。
上期的留言中 @hao 问“有没有web端视频会议的开源组件”,你可以看看 Jitsi Meet https://github.com/jitsi/jitsi-meet,可嵌入 Web 页面也可以单独作为一个客户端来使用
但一对一模式还是较为特殊的应用场景(比方一对一打电话的时候,P2P网络会有优于服务器转发的情况),所以这里同时分析一对一和会议模式下SFU级联场景下的媒体包多路径转发问题,如下只提供一个思路,并非考虑实现; Jitsi 针对跨区域出现的星星拓扑问题,给出的解决方案是SFU级联的方式,详细可以参考文章; 菊风有个专利:CN104410509A_一种基于质量评价的多路径数据传输方法的思路可以延伸jitsi的多路径评价方法
项目效果同类项目介绍Nettu Meet虽然是一个新兴的项目,但在视频会议领域,还有一些其他知名的开源项目,如Jitsi和BigBlueButton,它们也提供了类似的功能和应用场景。 以下是这两个项目的简要介绍:Jitsi:Jitsi是一个开源的多平台语音(VoIP)、视频会议和即时消息应用程序,支持高级通讯功能,如WebRTC兼容的视频通话和低延迟的流媒体。
实现Jitsi SFU自动关闭/启动视频层 本文来自Jitsi Videobridge SFU的后端开发人员之一Brian Baldino,他过去在思科和Highfive工作过,拥有丰富的视频会议产品研发经验 他分享了在Jitsi实现自动减少转发视频层,从而降低客户端CPU和带宽使用。LiveVideoStack对原文进行了摘译。 硬!