Kurento和Jitsi是基于WebRTC的开源媒体服务器开发的两大开源框架,乍看到这两个项目,很难知道他们有什么具体区别,本文对这两个框架进行点对点的比较。

如果你仅仅想获得一个简单的类似“项目中应该用Kurento”或者“Jitsi解决所有问题”的结论,无疑这篇文章很难帮助到你。Kurento和Jitsi的选择往往取决与你的项目目标。由于这个问题很多人在不同的场合问过我,所以我觉得有必要分享下我的观点。现在,我来解释下我是如何区分这两个项目的。

Jitsi Videobridge

Jitsi是一个SFU开源框架,由Atlassian维护,被集成到HipChat中。Github上的介绍如下:

Jitsi Videobridge is an XMPP server component that allows for multiuser video communication. Unlike the expensive dedicated hardware videobridges, Jitsi Videobridge does not mix the video channels into a composite video stream, but only relays the received video channels to all call participants. Therefore, while it does need to run on a server with good network bandwidth, CPU horsepower is not that critical for performance.

里面的几个关键点是:

  1. XMPP server component  -被设计为处理XMPP信号流,如果需要处理其他信号,还是算了吧
  2. does not mix the video channels-Jitsi不会解析媒体流细节,仅能处理流整体
  3. only relays the received video-它是个SFU

总的来说,Jitsi是一个处理XMPP信号流的SFU,适用于SIP/XMPP视频通话,会议,聊天,桌面共享,文件传输。如果你不需要SFU或者使用其他信号协议,最好还是使用其他项目。但由于Jitsi项目的简单明了,很多外包供应商很喜欢使用Jitsi,将它集成到自己的项目案例当中。

Kurento

Kurento是一个媒体服务框架,由Kurento Technologies维护。借助Kurento, 你可以构建任何类型的后端媒体处理功能:SFU,MCU,recording,transcoding,gateway等等。这是优势,也是劣势。

如果你能够在实践中使用它,那么这就是优势。但这总是需要比其他目标简单、聚焦的框架付出更多的工作。有很多软件供应商可以帮助你定制和集成Kurento到你的项目中,其中一个就是项目的实际作者和维护者。

你适合哪一个?

这两个框架都非常流行,每个都有超过10年的实际使用和产品验证。因此,从中选择一个并不总是那么容易。如果你只是需要单纯的XMPP的SFU,那么请使用Jitsi.如果你的需求比较复杂,需要做很多集成,那么最好还是使用Kurento。

原文阅读