首页 > 代码库 > RTMFP是什么鬼?
RTMFP是什么鬼?
做直播的朋友相信对RTMP都非常了解,那说起RTMP直播那什么推流、拉流、RTMP服务器搭建嗖嗖从脑海中飘过,但是今天的主题是要说说这个RTMFP,他到底是什么鬼请容我一一道来。
为啥提到RTMFP,主要是公司在做直播连麦(连线)的功能初期,寻找解决方案的时候不经意之间搜到他,研究的一段时间后选择放弃,中间走过曲折的路就当是历史的记忆,现在需要将他保存下来,防止后人再走之前的老路。
RTMFP是Adobe公司开发的一套新的通信协议,全称Real Time Media Flow Protocol, 该协议可以让使用Adobe Flash Player的终端用户之间进行直接通信。用Adobe AIR框架开发的程序也可以用此协议来发布直播、实时信息,RTMFP是基于UDP协议的解决方案。
通过使用RTMFP, 那些依赖直播、实时通信的应用,比如社区、音视频聊天和多人游戏就有能力来发布高质量的通信解决方案。RTMFP让终端用户可以直接连接并通信,可以使用麦克风和摄象头直接聊天。RTMFP将不支持文件和文档共享。此方案提升了目前Flash Player在网络交互方面的体验。
RTMFP将减少直播、实时聊天方案的带宽消耗,例如音视频聊天和多人游戏。因为RTMFP的数据在终端用户之间流动,而不是和服务器,所以此方案很适合于大范围的部署。RTMFP因为采用了UDP也提升了传送的速度。UDP是Internet上一种更有效传送音频视频的方法,虽然会有一些丢包,错包。RTMFP有两个特性可以帮助解决一些连接错误。
快速连接恢复:连接在意外情况下将快速恢复。例如,一个无线连接掉线了,一旦重连,他将迅速拥有所有的传送能力。
IP动态化:一个活动的网络会话将以PEER来标识,即使他变了一个IP,也可以保持原来的会话。例如,一个笔记本在一个无线网络获得了一个新IP地址,他将立刻继续刚才的会话。
RTMP和RTMFP之间的不同
最基本的确实是他们在网络上采用的协议。RTMFP是基于UDP的,RTMP是基于TCP的。UDP在传送直播数据方面比TCP还是有较多优势的,比如减少延时,对丢包的容忍,虽然在可靠性上有所损失。不象RTMP, RTMFP支持Flash Player直接发送数据给另一个,而不经过Server。服务端连接将被用来初始化并交互一些客户端之间的信息,也可用来进行服务端调用或者作为进入其他系统的网关。FMS也将用来为用户提供地址认证服务和NAT地址转换服务,避免用户陷入混乱。
Adobe提供的Cirrus(Stratus)超级节点服务,以帮助独立的Flash Player节点登录获得P2P迭代网(overlay)的ID,协助穿透防火墙等。用户可以另外构建单独的Tracker服务帮助筛选节点,或者直接使用RTMFP的group服务,采用组播方式进行数据分享。
以上主要来源于BaiDu,从这些信息中我们可以了解到RTMFP的初衷是要解决RTMP延时高的问题,采用RTMFP可以提高直播的实时性,在视频互动直播中应该有他的一席之地,但是就目前市场上来看采用RTMFP协议的方案非常至少,甚至可以说除了Adobe自己其他公司很少玩这一套解决方案,分析其主要原因归类如下:
一,Adobe不咋玩开源,而且RTMFP的协议也比较复杂,自己想搞一套RTMFP的协议栈那得废老劲了 :(
二,实时通讯的可替代方案很多很多,基于UDP的实时通讯网络上到处都是,标准的私有的、开源的闭源的比比皆是,为毛还要搞RTMFP呢?
三,还是Adobe自己,Adobe自己弄了一套这个协议又不咋推广,鬼才鸟你!!!
QQ交流群:580477436
本文出自 “12072981” 博客,请务必保留此出处http://12082981.blog.51cto.com/12072981/1853637
RTMFP是什么鬼?