流媒体转发服务器为什么有二个宽带
背景
随着全民直播时代的到来,以及最近疫情的爆发,在线教育行业又变的炙手可热,成为了新的风口。这两者的背后都是依靠着 CDN 以及视频云等基础服务,而这些基础服务的底层又依靠着流媒体服务器这种有着“悠久历史”的特殊服务器软件。为什么说特殊呢,因为这种服务器软件的架构和传统的 Web 服务器有很大的差别。
在直播系统或者视频会议系统中,有 三大件 构成:
推流器——采集、编码、协议封包
流媒体服务器——协议解包封包、转发
播放器——协议解包、解码、渲染
这三大件有着不同的技术领域,而今天的主角就是其中的流媒体服务器,他的主要职责就是转发。现在让我们看看这位在幕后默默付出的角色的发展历程以及最新的架构设计思想。
流媒体服务器 10
本人的第一份工作就是和它打交道,当时它叫 FCS,全称 Flash Communication Server。那时候 Flash 还属于 macromedia 公司。我在一家小公司上班,产品就是用 Flash 开发的视频会议系统以及后来的培训系统,今天看来还是比较超前的。从 FCS,到后来的 FMS(全称 Flash Media Server)现在叫 AMS(Adobe Media Server)基本的架构没有变化。(FCS、AMS 后面统称 FMS)
在这个架构一下面,推流和播放都由 FlashPlayer 承担,FlashPlayer 可以嵌入到网页中,也可以做成独立的 exe。后来官方专门制作了一款用于推流的软件 FMLE(全称:Flash Media Live Encoder)。这 FlashPlayer 和 FMS 之间通过 RTMP 协议进行通讯,这个协议一直到现在还在广泛使用(虽然 Flash 已经被淘汰)。在 FMS 端还可以通过编写服务器脚本进行业务逻辑开发,可以非常方便的实现房间里面的状态同步,这个得益于 RTMP 协议可以传输一些 AS(action script)的指令,包括 RPC、共享对象等。当然如今 RTMP 人们只是用来传输音视频,其他功能都已经被忽略了。
(这里补充一点:微软也有一套流媒体服务器,但使用不是很广泛,就不做赘述了)
流媒体服务器 15
简单说吧,web服务器主要用于网站网页访问,它是以http方式运行的,ftp服务器是用于下载。
而你说的fms有两种,一种是以flash为基本的音频、视频应用服务,FlashMediaServer,比如视频聊天室、视频会议系统、视频播放等,这种也是属于网站网页访问类型中的一种;另外一种fms是FoxmailServer,它是属于邮件系统服务器。
Adobe的FMS(Flash Media Server)是Adobe提供的基于Flash的多媒体应用平台的服务器端,在FMS平台上,用户/运营商可以提供诸如视频点播、视频直播、视频通讯等多种应用,并可在此基础上进行二次开发,提供更为繁多和特定的应用模式给客户。
FMS流媒体视频技术目前已经达到了电信运营级水平,具有实时多点语音、视频、数据通讯综合应用能力的系统。在现有的网络环境下,就可以轻松地进行音频、视频及数据等不同方式的实时通讯,可广泛用于企业的远程办公管理、在线会议、市场推广和销售、商务谈判、在线购物、远程教育、远程医疗、网上路演和新闻发布、产品演示和推介、以及企业的远程客户支持与服务等多个领域。
FMS本身就是一个二次开发平台,用户可以在这个平台上进行各种二次开发工作。但对于视频会议二次开发应用而言,Adobe的FMS存在一些问题,例如成本较高、接口较为封闭、服务器部署繁琐、针对复杂网络环境的适用性较差等,因此,很多期望在Flash平台上进行视频会议、视频通讯、网络培训等应用的二次开发用户,会期望除了FMS之外,还有更多其它的选择。
一般有以下两个选择:
1、使用开源组织提供的Flash Media Server,例如著名的Red5
2、使用其他专业厂商提供的平台化FMS,国内比较领先的为北京鑫诺软讯科技的UBI Meeting二次开发平台
与Red5相比,UBI Meeting的服务器端为C++服务器,相比较Red5的Java体系,效率更高,底层更开放。客户端开发平台支持C++和Flex,给客户更多的应用选择,适合大规模部署,支持H263和H264视频编码,CD音质,支持反馈抑制、噪声消除、自动增益等多种音频算法。非常适合各类定制应用、二次开发项目。
开源流媒体软件中有2种比较出名:Red5和 Darwin Streaming Server
它们都是核心的流媒体软件,可以配合认证,网页apache,CDN等多种形式组成灵活多样的流媒体播放系统。
0条评论