揭开webRTC媒体服务器的神秘面纱——WebRTC媒体服务器&开源项目介绍

揭开webRTC媒体服务器的神秘面纱——WebRTC媒体服务器&开源项目介绍

WebRTC生态系统是非常庞大的。当我第一次尝试理解WebRTC时,网络资源之多让人难以置信。本文针对webRTC媒体服务器和相关的开源项目(如kurento,janus,jitsi.org等)做一些介绍。并且将尝试降低理解WebRTC的业务价值所需要的技术门槛。

何为WebRTC服务器?

自从WebRTC诞生之初以来,该技术的主要卖点之一是它可以进行点对点(browser-to-browser)通信,而几乎不需要服务器的干预,服务器只用来发送信令。WebRTC媒体服务器的概念同p2p相比是相反的。

下面,我将试图说明为什么媒体服务器是有用的,他们通常提供什么类型的功能以及相应的可供用户使用的开源方案有哪些。

视频通话中的多点用户

尽管确实可以使用p2p通信(图1网格体系结构)来让多点用户保持视频通话,但随着用户数量的增加,此方案变的不再实际,因为需要一个用户将他/她的视频/音频流传输给其余每个用户,同时接收其余每个用户的视频/音频流。

事实上,即使在最优的网络条件下,正常的mesh视频通话也不能超过5个用户。这是媒体服务器派上用场的地方,因为它可以减少客户端需要发送的流的数量,同时也能减少客户端需要接收的流的数量,其效果取决于媒体服务器性能。

当一个媒体服务器充当这种中间人的角色时,它通常被称为SFU(单一转发单元 Single Forwarding Unit),这也就意味着它的主要目的是在客户端之间转发媒体流。

还有一个MCU(多点会议单元 Multiponit Conferencing Unit)的概念,这样的服务器不仅仅能够转发媒体流,也能对通过它的媒体流进行处理(例如,将所有视频或音频流混合为一个)。

视频录制

让所有视频流通过媒体服务器(群集)的主要好处之一是可以对媒体流进行出于任何目的的录制和存储,这在mesh架构上很难做到。

同其它通信技术集成

使用媒体服务器的另外一个优点是能够同web系统之外的其它系统进行通信,例如通过SIP中继的PSTN或者通过RTMP进行流传输的服务(像Fackbook直播或者Youtube直播流)。

你可以看到之前博客的一个实例,在此实例中Kurento媒体服务器用来在浏览器和SIP电话之间进行视频通话。

媒体流的处理

一些媒体服务器允许对视频和音频流做底层上的处理,比如能够在视频上运行计算机视觉模型或者将音频流发送到语音识别引引擎,例如google Speech。这些功能将webrtc提升到另外一个层次。依我看来,它提供了更加丰富和创新性的实时交互,为一个普通的通信平台增加了很多价值。

我们之前讨论过此问题,Kurento媒体服务器将人脸识别模型应用到了视频流上,在人的头上戴了一顶帽子。

有哪些OSS开源媒体服务器可供选用??

如前所述,WebRTC生态系统非常庞大,市面上由很多开源项目。

下面是最成熟和受欢迎的:

Jitsi Platform

Jitsi不仅仅是一个WebRTC媒体服务器,而是围绕者webrtc构建了一整个平台。 Jitsi系列产品包括Jitsi Videobridge(媒体中继,SFU),Jitsi Meet(会议web客户端),Jicofo(Jitsi Conference Focus),Jigasi(Jitsi Gateway to SIP)和Jitsi SIP Phone。 Jitsi平台最吸引人的特性是它包含了在数小时内启动和运行的通信平台的所有功能。它还使用Jingle(XMPP)和功能齐全的Web interface实现了自己的信令。遗憾的是,它没有一个稳固易用的媒体录制功能实现。

Kurento Media Server

这是最通用的解决方案之一。它也不仅仅是一个媒体服务器,而是构建了一个工具包。
Kurento的主要优点是通过引入媒体工作流(meidia workflow)的概念实现了多功能性,它允许在代码中定义媒体流以何种方式传输以及传到到哪里。这就允许WebRTC开发者将非常有趣的功能进行集成,例如计算机视觉(例如识别QR码,面部检测),实时媒体修正和与RTP(VoIP)服务的互操作。 Kurento还可以在单个实例中配置成SFU或MCU(或者同时使用)。

Janus WebRTC Gateway

虽然它的描述中没有提到“meidia server”,但Janus可以很容易地将SFU设置为SFU。其最显着的特征之一是其插件架构,可以增强服务的核心功能。有一个演示页面,显示了一些有趣的Janus用例,例如SIP Gateway,屏幕共享等。

mediasoup

一个相对较新且有趣的媒体服务器,它与其他媒体服务器的不同之处在于它被设计为一个Library(用于Node),允许它集成到更大的应用程序中。

原文链接

原文地址:https://www.cnblogs.com/harlanc/p/9261484.html

时间: 2024-08-03 23:30:37

揭开webRTC媒体服务器的神秘面纱——WebRTC媒体服务器&开源项目介绍的相关文章

黑客是什么?揭开郭盛华的神秘面纱,讲解他不为人知传奇故事

今天小编给大家揭开白帽黑客.知名网络安全专家.东方联盟创始人郭盛华的神秘面纱和他不为人知的传奇故事.他不但电脑技术高超,还很爱国.直到今天,郭盛华品格的形成仍具有强大的影响力. 那么黑客到底是指什么?黑客技术.编写计算机代码的艺术和操纵计算机硬件一直是男人们在这个领域中的最高位置,这就是为什么许多年轻人向往的职业. 作为一个出身卑微的人,郭盛华没有任何贵族社会的条件.他唯一可以倚仗的只是自己出类拔萃的扭转不利局面的才华,这是一个网络专家和企业家必备的素质.正是关键时的一次心灵燃烧使他赢得了别人包

揭开观察者设计模式的神秘面纱,手把手教你写监听器

我们在写代码的时候,遇到最常用的就是监听器了.那么实际中,我们也要进行事件的监听.而有些事件是业务逻辑需要实现的,跟随事物变化动态变化的.假如说我们要实现一个事件,有位置的监听,有颜色的监听,有坐标的监听,有速度的监听,那么这么多监听的事件.那么我们就需要这么多个监听器.这些监听器如何被管理呢.我们可以创造一个类似管理员身份的神秘角色,这个角色就是一个监听器池说一个监听器池,可以移除和增加监听器.当我们触发某一事件的时候,需要这些监听器全部执行监听. 现在我们来模拟一下按钮Button的实现.

微软“小冰”网络机器人揭开了人工智能的神秘面纱

对国人而言,人工智能是很神秘的东西.现在,微软利用多年积累的相关技术,从人脑思维活动中提取"纯粹智能",然后再赋予网络机器人"小冰",使其在互联网上"撒欢儿",热闹非凡.为什么? 大家知道,在微软"必应"搜索中,有一项"网典"选项,类似维基网站,积累了一个庞大的知识库.说实话,这个知识库是7亿中国网民的真实智慧的结晶,不属于任何个人.问题是,对于这个巨大无比的知识库,怎么"提纯"处理(大

揭开Java 泛型类型擦除神秘面纱

泛型,一个孤独的守门者. 大家可能会有疑问,我为什么叫做泛型是一个守门者.这其实是我个人的看法而已,我的意思是说泛型没有其看起来那么深不可测,它并不神秘与神奇.泛型是 Java 中一个很小巧的概念,但同时也是一个很容易让人迷惑的知识点,它让人迷惑的地方在于它的许多表现有点违反直觉. 文章开始的地方,先给大家奉上一道经典的测试题. List<String> l1 = new ArrayList<String>();List<Integer> l2 = new ArrayL

静态分析揭开Joanap木马的神秘面纱

近期,出于对索尼电影的崇拜之心,本打算分析分析当年入侵索尼,造成索尼数十仇美金损失的木马样本,找到赛门铁克家报的名字为"Backdoor.Destover"的样本, Destover家族可是公开的当年攻击索尼影业的样本家族名字,谁知天不遂人意,发现我找到这个样本并不是传说中的Backdoor.Destover家族成员,而是更类似于微软报的Joanap家族木马,在网上对Joanap家族的木马的分析也并不多见,因此形成本文分析,权当记录之用. 木马在报毒截图如下: 木马的执行流程图如下:

揭开少年黑客的神秘面纱 业界评说是非褒贬不一

随着计算机网络的不断发展,全球信息化已成为人类发展的大趋势,但也由于计算机网络存在形式多样性.终端分布不均匀性和网络的开放性.互连性等特征,致使网络易受非法授权用户的攻击,再加上政治因素的不断介入.商业敏感数据.信息容易遭到黑客攻击并泄密,这让我们的数据防护工作愈发的艰辛. 面对如此严峻的国际形式,我们该如何做好信息与数据的防护工作呢? 从个人角度着手:发挥主观能动性 老话说的好,求人不如求己,虽然从自身来看,寻找数据安全防护的方法看似单薄,但这确是整个防护的关键.因为主观能动性是一切的基础,只

揭开AutoRun功能的神秘面纱

有很多光盘放入光驱就会自动运行,它们是怎么做到的呢?光盘一放入光驱就会自动被执行,主要依靠两个文件,一是光盘上的AutoRun.inf文件,另一个是操作系统本身的系统文件之一的Cdvsd.vxd.Cdvsd.vxd会随时侦测光驱中是否有放入光盘的动作,如果有的话,便开始寻找光盘根目录下的AutoRun.inf文件:如果存在AutoRun.inf文件则执行它里面的预设程序.   比如插入一张Windows安装光盘,用不了几秒钟,你就会看到Windows欢迎屏幕,关闭这个窗口,然后按住Shift键双

揭开“流量劫持”的神秘面纱

明明打开的是A网站,莫名其妙却被跳转至B网站:明明想下的是A软件,下载安装后却是B软件:打开一个App,弹出的广告让人心乱如麻,同时也不胜其 烦--你以为电脑手机中毒了?错!或许你真的错怪了病毒,因为你的互联网流量很可能被劫持了.在互联网的世界里,流量劫持并不是件新鲜事.所谓流量劫持, 是指通过一定技术手段,控制用户的上网行为,让你打开不想打开的网页,看到不想看的广告,而这些都会给劫持者带去源源不断的收入. 尽管早已存在,但在"用户是绵羊"的环境下,流量劫持始终"野火烧不尽&

揭开SQL注入的神秘面纱PPT分享

    SQL注入是一个老生常谈但又经常会出现的问题.该课程是我在公司内部培训的课程,现在分享出来,希望对大家有帮助.     点击这里下载.