RTMFP vs RTMP

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 1个月
简介:

实时流媒体协议(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。 但这通常会是一个好事情。

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
目录
相关文章
|
27天前
|
存储 监控 网络协议
什么是RTSP
RTSP,即实时流传输协议,英文全称为Real-Time Streaming Protocol
21 0
|
8月前
|
编解码 开发工具 Android开发
rtmp/rtsp直播播放器选择
相信大家在做rtmp、rtsp直播的时候,最大的困惑就是选个靠谱的播放器,直播的延迟,一定意义上说,90%的取决于播放器的好坏。
194 0
|
7月前
|
网络协议 网络安全 流计算
【流媒体】RTMP、RTSP、HLS、HTTP协议的介绍与对比
【流媒体】RTMP、RTSP、HLS、HTTP协议的介绍与对比
228 0
|
4月前
gstreamer的rtsp转rtmp
gstreamer的rtsp转rtmp
|
8月前
|
存储 网络协议 开发工具
多路RTSP-RTMP转RTMP定制版
大牛直播SDK多路RTMP/RTSP转RTMP转发软件,系原有转发SDK基础上,官方推出的Windows平台定制版。在秉承低延迟、灵活稳定、低资源占用的前提下,客户无需关注开发细节,只需图形化配置转发等各类参数,实现产品快速上线目的。
|
8月前
|
编解码 监控 开发工具
RTMP/RTSP直播播放器的几种选择
播放网络视频,通常解析库我们可以有多个选择,如FFMPEG,Daniulive SDK 或者 vitamio。
184 1
|
8月前
|
存储 编解码 开发工具
RTMP/RTSP推送端和RTMP/RTSP播放端录像设计探讨
好多开发者认为,无论是RTSP/RTMP推送端还是RTSP/RTMP播放端,涉及到录像,只要2个接口足矣:开始录像、停止录像。
|
9月前
|
编解码 网络协议 计算机视觉
ffmpeg推流rtmp指定udp传输
ffmpeg推流rtmp指定udp传输
382 0
|
Web App开发 编解码 移动开发
秒懂流媒体协议 RTMP 与 RTSP
RTMP 与 RTSP 是比较常见的两种流媒体协议,那么什么是RTMP?什么是RTSP?它们两之间有什么区别?使用的时候应该如何选择?
668 1
秒懂流媒体协议 RTMP 与 RTSP
|
编解码 C++
ffmpeg处理rtmp/文件/rtsp的推流和拉流
ffmpeg处理rtmp/文件/rtsp的推流和拉流   本demo演示了利用ffmpeg从服务器拉流或本地文件读取流,更改流url或文件类型名称发送回服务器或存到本地的作用。 由于本程序只写了3个小时,还要忙别的,所以会有一些bug和优化的地方。
5794 0