Adobe 将发布 Flash Platform 使用的实时消息协议(RTMP)规范

  • Dio Synodinos
  • 张龙

2009 年 1 月 23 日

话题:JavaRuby语言 & 开发

Adobe 宣布了实时消息协议(Real-Time Messaging Protocol,即 RTMP)规范的发布计划,该规范用于 Adobe Flash Platform 之间高性能的音频、视频和数据传输。其举动紧跟着AMF 规范的发布并获得了来自于 RIA 社区的不同程度的支持。

RTMP 是由 Adobe Systems 开发的一个私有协议,用于 Internet 上的 Flash player 和服务器之间进行流式的音频、视频和数据传输。它有三种形式:

  1. “普通”的协议运行在 TCP 之上,使用 1935 端口号
  2. 封装在 HTTP 请求中可以穿越防火墙的 RTMPT
  3. 与 RTMPT 类似的 RTMPS,但它使用在安全的 HTTPS 连接之上

设计 RTMP 的最初动机是提供一个针对 Flash 的持久化协议,它还可以用在其他应用中,如 Adobe LiveCycle Data Services ES。

Adobe Platform 的传道者 Ryan Stewart对目前 RTMP 所获得的一切充满了信心,同时也对其发布持乐观态度

Adobe 的数字媒体组已经用 RTMP 实现了一些东西,结果都非常棒。在过去的几年中,他们引入了多种安全的 RTMP 措施,包括叫做 RTMPE 的加密版本的 RTMP,凭借 RTMPE,内容提供者可以在保护其内容的同时又可以让 98% 的拥有 Flash Player 的电脑查看这些内容。这些安全的 RTMP 措施使得类似于Hulu的站点成为可能——因为创建内容的用户既可以对其进行保护又可以向公众开放。

这些安全措施是 Adobe 构建在 RTMP 之上的一些示例,但他们并不是即将发布的核心规范的一部分。大体上,这对于开发者来说是件好事。Adobe 使用了大量人力物力来创建这些,我们认为已经有了很棒的解决方案来保护内容。但对于开发者来说,在开放的 RTMP 规范中并没有具体的规则说明应该如何实现像安全或是点对点等事情——我们将其留给了开发者,让他们决定实现的方式。这扩充了整个 RTMP 生态系统并鼓励大家为最佳的解决方案展开健康的竞争,无疑这对 Adobe 来说是大有裨益的。Flash Platform 的任何用户,从开发者到最终用户,都会从中受益。

今天 Adobe 正通过不断的开放及鼓励创新和健康的竞争来扩充 RTMP 社区。想想 RTMP 带给我们的一切——数据、视频、音频等等,想想第三方和开发者所拥有的广阔天地,能不兴奋吗?它将给 Flash Platform 社区带来创新大爆发的机会。

还有人认为RTMP 的发布会给 Comet 带来挑战

RTMP 是个健壮的协议,它可以让服务器发起数据推动(data push)。除了运行在分配的端口上,它还可以运行在 HTTP 和 HTTPS 上。到目前为止,Comet 是开源和开放标准世界中主要的数据推动实现。现在,它要面临来自 RTMP 的挑战了。

值得注意的是 Adobe 在发布这些新闻前已经宣布支持 Open Screen 项目,该项目得到了众多业界领导者的支持,包括 Cisco、Intel、LG、Marvell、Motorola、Nokia、NTT DoCoMo、Qualcomm、Samsung Electronics Co.、Sony Ericsson、Toshiba 及 Verizon Wireless 等等:

该项目的目标在于跨越电视、个人计算机、移动设备和消费性电子产品而推进富 Internet 体验。

为了对其提供支持,同时也作为 Adobe 正在进行的 Web 创新的一部分,Adobe 将继续开放其 Adobe Flash 技术,加快内容和 RIA 的部署。这些工作包括:

  • 移除对 SWF 和 FLV/F4V 规范的使用限制
  • 为 Adobe Flash Player 发布设备转换层 API
  • 发布 Adobe Flash® Cast™协议和 AMF 协议以实现健壮的数据服务 
  • 免去协议费用——针对设备的 Adobe Flash Player 和 Adobe AIR 的下一个主发布将免费

对于新发布的 JavaFX,只有时间会证明 Adobe 的应对之策能否足以保证其在 RIA 领域的霸主地位。

你可以从 InfoQ 中的富 Internet 技术了解更多信息。

查看英文原文:Abobe to publish the Real-Time Messaging Protocol (RTMP) specification used in Flash Platform

JavaRuby语言 & 开发