- 浏览: 1060922 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (695)
- 心情日记 (14)
- AS开发工具 (12)
- 文章转载 (99)
- AIR (5)
- 问题总结 (46)
- SWF格式 (7)
- 测试总结 (10)
- 外文资料 (9)
- 算法技术 (33)
- AS3常用开源库 (43)
- 源码范例 (102)
- FLEX (72)
- FLASH 优化 (33)
- 游戏开发 (49)
- 开发技术 (11)
- 工作应用 (34)
- AS3收集 (140)
- WebBase (0)
- 开发构想 (4)
- 设计模式 (2)
- 框架和框架范例 (19)
- RED5 (3)
- java开发 (3)
- JAVA (1)
- FLASH-3D (23)
- 3D (6)
- 书籍 (10)
- 业界信息资料 (3)
- C# (1)
- JavaScript (12)
- HTML5 (6)
- Flixel (1)
- D5Power RPG网页游戏引擎 (0)
- ColorMatrixFilter - 获得相应颜色的色调 函数 (0)
- Starling (0)
最新评论
-
老顽童203:
字体
水果忍者鼠标跟随特效制作[转载] -
hairball00:
[转] 放出超多的Flash组件源代码 -
he74552775:
flash AS3 RegExp简单功能用法(转) -
hanshuai1232000:
第四点,有利也有弊,等你做了大型的aprg,你就知道了
[转]位图数据内存优化 -
yangfantao:
太感谢
[转] 放出超多的Flash组件源代码
http://bbs.9ria.com/viewthread.php?tid=74497&extra=page%3D1%26amp;orderby%3Ddateline%26amp;filter%3D2592000
Adobe Flash Player 10 和 Adobe AIR 1.5 引入了一个新的通讯协议——Real-Time Media Flow Protocol 即实时媒体流协议,简称RTMFP。它具有低延迟、对等的端到端能力、安全性和可扩展性,尤其适合于开发实时协作的应用,不仅提供优秀的用户体验还降低了操作者的开销。
早期的Flash Player版本采用RTMP并且需要FMS 对于交互式的协作应用(例如:adobe Acrobat Connect Pro)或者音/视频流服务。虽然RTMP是一很优秀的选择,对于流媒体、共享对象或远程操作,限定于实时交互式的音视频通讯需求
为了使用RTMFP,Flash Player终端必须连接到支持RTMFP的服务器,如:代号Cirrus(以前称为Stratus)的服务或FMS4,Cirrus是一个提供集合点服务的主机,并辅助Flash Player终端之间建立通信帐号。不像FMS,Cirrus不支持媒体中继(media relay)、共享对象、脚本等。所以使用Cirrus,只能开发Flash Player终端之间直接通信的应用。
Flash Player已经是WEB在线视频分发市场的领袖。在引入RTMFP和高级媒体压缩技术后,Flash Player成为实时通信领域的领袖。
这篇文章,首先强调了在实时通信应用程序中采用RTMFP的好处。之后,叙述了管理直接端到端RTMFP连接的AS3 API。最后,介绍了VideoPhone 应用样例。
RTMFP的优势:
RTMFP是一个在Flash Player 10 和AIR 1.5 中引入的全新通信协议。与RTMP的主要不同在于:RTMP是基于TCP并专门用于以前的Flash Player版本,而RTMFP建立于UDP之上。
虽然TCP提供了可靠的数据传送(对文件传输、电子邮件等非常适合),但它不能提供丝毫的端到端延迟保证。TCP通过在指定时间内重发丢失数据实现可靠的数据传送。因为实时通信最重要的目标之一是最小化端到端的延迟(100ms的延迟可能致使会话不能使用),TCP并不适合。传送错误适应能力和恢复能力是绝大多数高级音频视频压缩技术的必需的构成部分,例如已经在Flash Player 10中支持的Speex音频和H.264视频编码。因此不需要TCP提供的可靠传输。因此将提供高效而快速的数据传送的UDP,用于严格追求最小化端到端延迟的实时协作应用,是为人所受的。另外UDP优于TCP的地方在于,它让端到端对等,它可以让位于NATs之后的两个客户端直接传送数据。
与RTMP比较,RTMFP在实时通讯方面具有以下优势:
低延迟:由于RTMFP建立于UDP之上,它为实时通信提供了最小的延迟。最重要的是RTMFP同时提供了可靠和不可靠两种传输服务。当在两个Flash Player实例之间发送数据时(如:用NetStream.send()方法),采用可靠传输。当发送Speex音频实例时,采用不可靠传输,提供最小化的延迟。
端到端的媒体传输:不需要通过中转服务器,即可在两个Flash Playerp实例之间发送媒体。RTMP会将所有数据发送到Flash Medai Server,RTMFP不仅最大限度地降低了端到端的延迟,而且还省掉了连接到中间数据转接的环节,以至于具有极强的可扩展部署能力。
优化数据:传送音频数据具有比视频和其他时间非关键数据更高的优先级别。这意味着可以在较紧张的带宽通信上增强用户体验。
较之前版本,这些功能为实时通信带来极大的益处,极大提升了用户体验。
防火墙穿越
RTMFP建立于UDP之上,UDP能让两个客户端直接连接,即使它们位于NAT或防火墙之后。为了能让RTMFP正常工作,你必须允许防火墙的对外UDP传送。大部分用户或SOHO防火墙、多数企业防火墙都关闭了UDP传送功能。
一种解决方案是配置Flash Player用TURN代理。Flash Player支持未经认证的IETF因特网草案。如果网管配置TURN代理为允许外出UDP,可以在mms.cfg中增加一行配置Flash Player。
RTMFPTURNProxy=ip_address_or_hostname_of_TURN_proxy
直接UDP传送总是尝试,TURN代理只是备用:用于UDP传送不能在Flash Player和Cirrus之间或Flash Player终端之间流动时。
即使你的防火墙打开了对外UDP传送,也可能由于综合防火墙不能建立端到端的对等连接。当一个终端位于“均衡防火墙”之后时,也许不能进行端对端通信。(对于分级防火墙,请参阅 )在这种情况下,你可以使用TURN代理辅助防火墙传输。
Cirrus 服务
Flash Player 实例要与另一个实例通信,就必需连接到Cirrus服务(使用rtmfp://p2p.rtmfp.net)。 Cirrus是一个帮助主持Flash Player实例之间进行联系会合的服务,即使它们都位于NATs之后。虽然连接到Cirrus服务非常类似于连接到FMS,但Cirrus不提供任何FMS的特有功能(媒体延迟、共享对象、远程等)。Flash Player终端在通信期间必须保持与Cirrus服务的连接。为了使用Cirrus,需要一个开发key,这个可以在创建Adob Developer ID时生成。
在FMS 4中可以使用RTMFP支持。FMS可以让Flash Player 9 或早期客户端(用RTMP)与Flash Player 10 客户端通信。
安全
RTMFP提供了可靠的终端之间的通信。它采用128位AES加密Key,协商采用Diffie-Hellmann交流方式。不过,它不能提供像SSL或RTMPS一样强的终端身份认证。为了帮助终端身份认证,RTMFP和ActionScript 对应用开发者公开安全随机数。要保证两个通讯的Flash Player终端的随机数相匹配。终端用户可通过校验这些随机数,以确保在传输过程中没有受到攻击。这些随机数也可以用于开发key连续机构。
值得注意的是Flash Player只能将你允许的麦克和摄像头发送到其他的Flash Player终端。
发表评论
-
一个基于STARLING的TOWER塔防游戏
2012-07-24 15:27 0一个基于STARLING的TOWER塔防游戏 -
HttpStatusConfig --一个HTTP 协议返回的 解析说明类
2012-04-18 16:40 0package guwanyuan.qicool.game ... -
水果忍者鼠标跟随特效制作[转载]
2012-03-01 16:06 2394实现这效果其实比较简单,主要是思路~! package ... -
ColorMatrixFilter - 获得相应颜色的色调 函数
2012-02-08 23:03 0/**获得相应颜色的色调的滤镜**/ public sta ... -
[教程] 路点导航(Waypoint Navigation)
2011-12-31 00:51 0前言:这个不难,所以知道的童鞋不要喷,不知道的童鞋也不要怕,要 ... -
Embed绑定XML与txt文本文件
2011-12-28 15:54 4600使用Embed标签可以将图片绑定到swf中并显示,那么我 ... -
弹弹堂测试
2011-12-08 04:21 0弹弹堂测试弹弹堂测试 -
一些DEMO
2011-11-28 17:42 0一些DEMO一些DEMO -
[转]三次贝尔曲线
2011-11-10 01:09 1869http://bbs.9ria.com/viewt ... -
[心得] 完美解决as3在ie中初始化时stageWidth和stageHeight为0的问题
2011-11-03 00:46 2884先看下面的一段脚本,这是比较经典的初始化脚本: pa ... -
五子棋算法详解
2011-10-31 04:14 0五子棋算法详解五子棋算法详解五子棋算法详解 -
[转]服务器端ActionScript语言参考
2011-10-31 00:29 0服务器端ActionScript语言参考 -
2个加载作用
2011-10-24 22:14 1819第一话:加载Base64 encoded string 通过 ... -
[转] 一种完全没有边缘痕迹的渐变AS做法
2011-10-23 00:21 1825http://bbs.9ria.com/viewthread. ... -
[心得] localToGlobal 和 globalToLocal 的理解
2011-10-20 03:10 0http://bbs.9ria.com/viewthread. ... -
翻译: Flash文本引擎, 第二部分: 交互
2011-10-20 02:34 0http://www.riadev.com/flex-thre ... -
翻译: Flash文本引擎, 第一部分: 概述
2011-10-20 02:33 0http://www.riadev.com/flex-thre ... -
珍宝探索 AS3-过关类小游戏
2011-10-13 02:15 0珍宝探索 AS3-过关类小游戏 -
设计模式(23种设计模式.AS3实现)
2011-10-13 02:04 0设计模式(23种设计模式.AS3实现) -
图片相册代码_photo_gallery
2011-10-12 11:17 0图片相册代码_photo_gallery
相关推荐
P2P on the Flash Platform with RTMFP.pdf
Flash P2P流媒体服务器系统(简称P2PS)使用Flash Player客户端和RTMFP协议进行P2P视频直播/点播,极大的节省了服务器昂贵带宽。 工作流程:直播可通过Adobe Flash Media Live Encoder以及其它支持RTMP协议的发布...
sample use of rtmfp between as3 flash and java
P2P的实现原理和步骤详见: http://bbs.csdn.net/topics/390874275
如何搭建视频直播网站.视频直播网站服务器架构(Flash P2P点播,RTMP,RTMFP,FMS,单播,多播,CDN,直播云).zip
flash 实现P2P实用代码 使用RTMFP协议 netGroup,netConnection
rtmfp协议规范.pdf
Adobe’s RTMFP Profile for Flash Communication
flashP2P协议rtmfp解析.docx
关于rtmfp协议的一些分析,非官方文档。
RTMFP 协议文档(rfc7016)
之前上传的代码没有测试代码部分,又删不掉,所以重新上传一下。已经配置好环境,vs下就可以调试。如果在配置的过程中碰到问题,或者有自己的见解想分享
openrtmfp又名Cumulus Server是一个完全开源和跨平台的可扩展的RTMFP服务器脚本。Cumulus Server在GPL 框架下遵循速度、优势、跨平台、轻量和高质量代码。Cumulus Server的每一个版本都是通过严格测试和审核的。可...
基于rtmfp的实时传输视频,对于初学者,有很好的应用参考价值。
提供了用于测试,评估和示例,但它不提供加密,因此不适合在开放Internet上的生产中使用。 如何使用 当前,最完整的API文档位于头文件中。 应用程序将实例化IPlatformAdapter和ICryptoAdapter ,然后实例化...
允许软件连接到RTMFP服务器并发布或接收带有或不带有P2P的媒体流。 同时支持MonaServer和AMS服务器。 librtmfp可以与集成在一起以获得可靠的流媒体体验。 请参阅以获取RTMFP的另一种和最新实施方式(目前为Beta版)...
之前研究 Cumulus Server 代码,从中抠出来一部分代码,然后再自己实现一部分,就可以在vs下调试了,配置上openssl就可以运行,实现了rtmfp的握手,交换密钥,连接的过程,如果在配置的过程中碰到问题,或者有自己的...
RTMFP 详细协议分析,包括命令类型,握手次数等
p2p flash 聊天程序,基于rtmfp协议
基于as3.0开发的p2p点播播放器,服务器要用fms,要开启rtmfp。