开发者社区> 杨粼波> 正文

RTMFP vs RTMP

简介:
+关注继续查看

实时流媒体协议(RTMFP)是Adobe公司开发的一套新的通信协议,它可以使终端用户在构建于LCCS或基于Adobe AIR架构的多个Adobe Flash 播放器和应用程序之间进行直接通信。 通过RTMFP协议,社区网络和多人游戏等实时通信应用程序就能够提供高质量的实时通信解决方案。 同时,RTMFP协议也实现了终端用户通过电脑上的麦克风和网络摄像头直接互相连接和通信。

RTMFP协议基于用户数据报协议(UDP),而RTMP协议基于传输控制协议(TCP)。 在传递实时流媒体时,基于UDP的协议相对于基于TCP的协议拥有更多的优势,比如更低的延迟和运营成本,以及对丢失包的允许误差也更大一些。 需要用到服务器端连接来建立起客户端之间的初始化连接,也可用来进行服务器端的数据调用或者作为进入其他系统的网关。

RTMP(TCP)采用星型拓扑结构,这一点不适用于实时数据流。 RTMFP在数据传输失败的时候,并不强制音频和视频包的重新传送。 尽管数据不完整了,但它仍能继续进行播放,这意味着在小段包丢失的情况下,数据流可以流畅播放。 RTMFP也支持客户端对客户端的数据传输。 客户端到客户端的数据流不仅免费而且速度更快,这是因为它并不通过LCCS服务来进行传递。 但是,由于大量用户的存在,防火墙或者其他网络环境可能会禁止使用RTMFP,所以LCCS被设计成能够根据网络环境的情况进行自由转换,即如果RTMFP协议可用,那就使用RTMFP协议;如果不可用,就使用RTMP协议。


RTMFP通常是通信协议中的首选协议,如果您使用推荐的Flash Player10 SWC,那么RTMFP协议将是一个很好的选择。 由于LCCS的智能特性,它完全能够根据需要在两种协议之间自由切换。只要有可能,您应该尽量使用高性能的RTMFP协议,而可以将RTMP作为后备协议。

要使用RTMFP协议,需要将您的项目设置为使用Flash Player 10或10.1SWC文件。

RTMFP协议的优点:

  • 1.客户端到客户端的数据流:由于在C2C模式下,从源到目的地之间只有较少的中继数,从而降低了延迟。这对于LCCS服务和您来说都大有益处,服务只需较少的基础设施就可为您获取数据流,而且提高了可靠性。
  • 2.使用Flash Player10解码器Speex:在早期的Flash Player中,Speex是一种比NellyMoser更好的编码解码器。这是因为它的音频编码质量更高,比特率也更低。此外,它能更好地兼容UDP协议,从而更好地处理丢包的问题。
  • 3.减少带宽消耗:RTMFP协议减少了语音和视频聊天、多人游戏等直接实时通信解决方案的带宽消耗。由于RTMFP协议只让数据在用户终端之间流通,而不需经过服务器,从而降低了服务器的带宽消耗。这样,解决方案的成本就会按比例下降。
  • 4.提升数据传输速率:RTMFP协议也能够通过UDP协议提升数据传输速率。因为UDP协议降低了数据包丢失、抛弃或者乱序等造成的影响,所以它是一种更高效(但是可靠性较低)的网际传输语音和视频数据的方式。
  • 5.优越的连接错误恢复能力:RTMFP协议具备两样特性,有助于解决一些连接错误导致的问题:
    • 快速连接修复:连接在短暂掉线的情况下将会快速恢复。例如,当一个无线网络连接掉线了,那么会马上重建连接。一旦重新连接,它将迅速拥有所有的传送能力。
    • IP动态化:即使一个客户转换到新的IP地址,原先处于活动状态的网络peer会话仍然会保持。例如,一台无线网络连接的笔记本接入到有线网络后,会获得一个新IP地址,但它仍然可以继续之前的会话。

RTMFP协议的缺点:

需要安装Flash Player 10。 但这通常会是一个好事情。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
9462 0
使用SSH远程登录阿里云ECS服务器
远程连接服务器以及配置环境
13074 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
20130 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
13747 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
18413 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
33125 0
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
34913 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
18859 0
+关注
杨粼波
网游的老兵
1152
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载