`

RTMP 简介

 
阅读更多

Introduction of RTMP(Real Time Messaging Protocol)

January 22, 2010 by admin  
Filed under Web Hosting Reviews 
Leave a Comment

Fund - © playerdiy blog

What exactly is RTMP and its classifications?

RTMP (Real Time Messaging Protocol)

RTMP is a TCP based aptness protocol developed by Adobe System for the function of streaming Audio/Video data between Flash Player and media server.

RTMP是由Adobe开发的基于TCP的应用层协议,应用于音/视频流数据在Flash PlayerMedia Server 之间的传输

 

1.       RTMPT (Real Time Messaging Protocol with Tunnel)

RTMPT is a variation of RTMP which works behind the firewall as well. It works on Port 80 and encapsulate the RTMP data in HTTP request.

RTMPTRTMP的变种,能和防火墙一起工作。它工作在80端口,并将RTMP数据封装在HTTP的请求当中。

 

2.       RTMPS (Real Time Messaging Protocol Secure)

RTMPS is again a variation of RTMP which works over secure HTTPS connection.

RTMPSRTMP的变种,它工作中安全的HTTPS连接之上。

 

3.       RTMPE (Real Time Messaging Protocol with Encryption)

RTMPE is a new 128 bit encrypted protocol developed by Adobe systems for securing the stream data between flash client and server. It’s lightweight than SSL. It’s a DRM solution from Adobe for flash.

RTMPE是用于保护flash客户端和服务端之间的流数据的一个新的128比特封装的协议,它比SSL轻量,是Adobeflash用于DRM(内容数字版权加密保护技术)的解决方案。

 

4.       RTMPTE (Real Time Messaging Protocol with Encryption and Tunnel)

RTMPTE is a RTMPE tunneling over HTTP on port 80.

RTMPTERTMPE对于HTTP 80端口的隧道协议

 

MRTMP (Multiplex Real Time Messaging Protocol)

Multiplex RTMP is a protocol between edge and origin, developed by Red5 for clustering of stream data using Terracotta

MRTMP是由Red5开发的用在edge and origin之间的多路复用RTMP协议,它主要用于使用Terracotta业收集流数据

How does RTMP run?

The raw TCP-based RTMP maintains a single persistent connection and allows real-time communication. To guarantee smooth delivery of video and audio streams, while still maintaining the ability to transmit larger chunks of information, the protocol may split video and data into fragments. The size of the fragments used can be negotiated dynamically between the client and server, and even disabled completely if desired, although the default fragment sizes are 128 bytes for video and most other data types, and 64-bytes for audio data.

原生的基于TCPRTMP协议在实时连接时要保有一个单一而稳定的链接。为了保证音视频流能流畅地传输,并维护传输大的信息chunk的能力,该协议将切分音视频数据成片断。片断的大小可由客户端和服务端来动态协商。尽管默认的片断大小是128bytes的视频和其它数据,64byte的音频数据,但是有要求时,片断大小是可以完全为零的。

Fragments from different streams may then be interleaved and multiplexed over a single connection. With longer data chunks, the protocol would then only carry a one-byte header per fragment, thus incurring very small overhead. In practice but, party fragments are not typically interleaved. Instead, the interleaving and multiplexing is done at the packet amount, with RTMP packets across several different active channels being interleaved in such a way to ensure that each channel meets its bandwidth, latency, and other quality of service requirements. Packets interleaved in this make are treated as indivisible, and are not interleaved on the fragment amount.

来自不同流的片断允许在同一个链接中交错和混合。对于大的数据chunk来说,该协议将会为每个片断增加一个字节的头,因此,导致了很小的负载增加。但是,在实际应用中,成组的片断一般不交错。这种交错和混合主要是用在分组交换中,当RTMP的分组通过不同的多个激活的链路时,这种方式的交错能确保匹配每个链路的带宽,时延和其它的QoS。这种方式的交错可以视为是不可见的,对于片断来说是透明的。

The RTMP defines several channels on which packets may be sent/received, and which run independently of each other. During a typical RTMP session, several channels may be active simultaneously at any given time. When RTMP data is packetized, a packet header is generated. The packet header specifies, among other things, the id of the channel that it is to be sent on, the timestamp at which is was generated (if necessary), and the size of the packet payload. This is then followed by the packet payload, which is fragmented according to the currently agreed-upon fragment size before it is ongoing over the connection. The packet header itself is never fragmented, and its size does not count towards the data in the packet’s first fragment. In other words, only the actual packet payload data is subject to disintegration.

当分组将要被传送/接收时,RTMP为它定义了多个彼此独立的链路。在一个典型的RTMP会话中,在任何时刻都会有多个通道会被同时激活。当RTMP数据被分组时,会有一个组头产生,这个组头定义了将要发送的通道ID号,分组生成时的时间戳,分组负载的大小等等,然后后面紧跟着的是分组负载---- 它是依据在链接前协商好大小的数据片断。分组头本身是不能分组的,并且它的大小是不计入分组的每一个片断的大小的。换句话来说,只有实际的分组负载数据被分析。

 

What players support RTMP?

The most well-known RTMP client is Adobe’s Flash Player which can stream video and audio from RTMP servers. Besides, the open fund media player XBMC has bought preliminary support for playing RTMP streams in its SVN version. Recently, Moyea Web Player version 2.0 with the RTMP Stream Plugin supports the playback of live streaming videos, SMIL presentations, and streaming videos from RTMP servers. Besides, JW Player and Flow Player supports RTMP as well.

支持RTMP的播放器:Adobe’s Flash Player, XBMC, Moyea Web Player, JW PlayerFlow Player

What is RTMP server software?

Currently, the only full implementation RTMP servers are the Adobe Flash Media Server, Onlinelib VCS Video Communication Server (including iPhone Support), Wowza Media Server and WebORB Integration Server (free and available for .NET, Java and ColdFusion) both commercial and closed fund implementations.

There is a reverse engineered open fund project called Red5 which aims to produce a feature-complete implementation written in Java. As of October 2007, the majority of the functionality is implemented, although the project is still in the beta stage. OneTeam Media Server has also been announced by ProcessOne.

支持RTMP服务端的软件:

Adobe Flash Media Server.

Onlinelib VCS Video Communication Server (including iPhone Support)

Wowza Media Server

WebORB Integration Server (free and available for .NET, Java and ColdFusion)

Red5

Some related news?

On 20 January 2009 Adobe announced it will publish the RTMP specification. On 21 May 2009 Adobe filed a DMCA removal request on a Sourceforge-hosted implementation of the protocol. On Monday, June 15, 2009 Adobe released the RTMP Specification, which is calculated for high-performance transmission of audio, video, and data between Adobe Flash Platform technologies.

The project is dedicated to driving rich Internet experiences across televisions, personal computers, mobile devices, and consumer electronics. To support this mission, and as part of Adobe’s ongoing commitment to enable Web innovation, Adobe will continue to open access to Adobe Flash technology, accelerating the deployment of content and rich Internet applications (RIAs). This work will include:

Removing restrictions on use of the SWF and FLV/F4V specifications.
Publishing the contrivance porting layer APIs for Adobe Flash Player.
Publishing the Adobe Flash® Cast™ protocol and the AMF protocol for robust data services.
Removing licensing fees – making next major releases of Adobe Flash Player and Adobe AIR for devices free.

Sources are from Wikipedia.

Introduction of RTMP(Real Time Messaging Protocol)

January 22, 2010 by admin  
Filed under Web Hosting Reviews 
Leave a Comment

Fund - © playerdiy blog

What exactly is RTMP and its classifications?

RTMP (Real Time Messaging Protocol)

RTMP is a TCP based aptness protocol developed by Adobe System for the function of streaming Audio/Video data between Flash Player and media server.

RTMP是由Adobe开发的基于TCP的应用层协议,应用于音/视频流数据在Flash PlayerMedia Server 之间的传输

 

1.       RTMPT (Real Time Messaging Protocol with Tunnel)

RTMPT is a variation of RTMP which works behind the firewall as well. It works on Port 80 and encapsulate the RTMP data in HTTP request.

RTMPTRTMP的变种,能和防火墙一起工作。它工作在80端口,并将RTMP数据封装在HTTP的请求当中。

 

2.       RTMPS (Real Time Messaging Protocol Secure)

RTMPS is again a variation of RTMP which works over secure HTTPS connection.

RTMPSRTMP的变种,它工作中安全的HTTPS连接之上。

 

3.       RTMPE (Real Time Messaging Protocol with Encryption)

RTMPE is a new 128 bit encrypted protocol developed by Adobe systems for securing the stream data between flash client and server. It’s lightweight than SSL. It’s a DRM solution from Adobe for flash.

RTMPE是用于保护flash客户端和服务端之间的流数据的一个新的128比特封装的协议,它比SSL轻量,是Adobeflash用于DRM(内容数字版权加密保护技术)的解决方案。

 

4.       RTMPTE (Real Time Messaging Protocol with Encryption and Tunnel)

RTMPTE is a RTMPE tunneling over HTTP on port 80.

RTMPTERTMPE对于HTTP 80端口的隧道协议

 

MRTMP (Multiplex Real Time Messaging Protocol)

Multiplex RTMP is a protocol between edge and origin, developed by Red5 for clustering of stream data using Terracotta

MRTMP是由Red5开发的用在edge and origin之间的多路复用RTMP协议,它主要用于使用Terracotta业收集流数据

How does RTMP run?

The raw TCP-based RTMP maintains a single persistent connection and allows real-time communication. To guarantee smooth delivery of video and audio streams, while still maintaining the ability to transmit larger chunks of information, the protocol may split video and data into fragments. The size of the fragments used can be negotiated dynamically between the client and server, and even disabled completely if desired, although the default fragment sizes are 128 bytes for video and most other data types, and 64-bytes for audio data.

原生的基于TCPRTMP协议在实时连接时要保有一个单一而稳定的链接。为了保证音视频流能流畅地传输,并维护传输大的信息chunk的能力,该协议将切分音视频数据成片断。片断的大小可由客户端和服务端来动态协商。尽管默认的片断大小是128bytes的视频和其它数据,64byte的音频数据,但是有要求时,片断大小是可以完全为零的。

Fragments from different streams may then be interleaved and multiplexed over a single connection. With longer data chunks, the protocol would then only carry a one-byte header per fragment, thus incurring very small overhead. In practice but, party fragments are not typically interleaved. Instead, the interleaving and multiplexing is done at the packet amount, with RTMP packets across several different active channels being interleaved in such a way to ensure that each channel meets its bandwidth, latency, and other quality of service requirements. Packets interleaved in this make are treated as indivisible, and are not interleaved on the fragment amount.

来自不同流的片断允许在同一个链接中交错和混合。对于大的数据chunk来说,该协议将会为每个片断增加一个字节的头,因此,导致了很小的负载增加。但是,在实际应用中,成组的片断一般不交错。这种交错和混合主要是用在分组交换中,当RTMP的分组通过不同的多个激活的链路时,这种方式的交错能确保匹配每个链路的带宽,时延和其它的QoS。这种方式的交错可以视为是不可见的,对于片断来说是透明的。

The RTMP defines several channels on which packets may be sent/received, and which run independently of each other. During a typical RTMP session, several channels may be active simultaneously at any given time. When RTMP data is packetized, a packet header is generated. The packet header specifies, among other things, the id of the channel that it is to be sent on, the timestamp at which is was generated (if necessary), and the size of the packet payload. This is then followed by the packet payload, which is fragmented according to the currently agreed-upon fragment size before it is ongoing over the connection. The packet header itself is never fragmented, and its size does not count towards the data in the packet’s first fragment. In other words, only the actual packet payload data is subject to disintegration.

当分组将要被传送/接收时,RTMP为它定义了多个彼此独立的链路。在一个典型的RTMP会话中,在任何时刻都会有多个通道会被同时激活。当RTMP数据被分组时,会有一个组头产生,这个组头定义了将要发送的通道ID号,分组生成时的时间戳,分组负载的大小等等,然后后面紧跟着的是分组负载---- 它是依据在链接前协商好大小的数据片断。分组头本身是不能分组的,并且它的大小是不计入分组的每一个片断的大小的。换句话来说,只有实际的分组负载数据被分析。

 

What players support RTMP?

The most well-known RTMP client is Adobe’s Flash Player which can stream video and audio from RTMP servers. Besides, the open fund media player XBMC has bought preliminary support for playing RTMP streams in its SVN version. Recently, Moyea Web Player version 2.0 with the RTMP Stream Plugin supports the playback of live streaming videos, SMIL presentations, and streaming videos from RTMP servers. Besides, JW Player and Flow Player supports RTMP as well.

支持RTMP的播放器:Adobe’s Flash Player, XBMC, Moyea Web Player, JW PlayerFlow Player

What is RTMP server software?

Currently, the only full implementation RTMP servers are the Adobe Flash Media Server, Onlinelib VCS Video Communication Server (including iPhone Support), Wowza Media Server and WebORB Integration Server (free and available for .NET, Java and ColdFusion) both commercial and closed fund implementations.

There is a reverse engineered open fund project called Red5 which aims to produce a feature-complete implementation written in Java. As of October 2007, the majority of the functionality is implemented, although the project is still in the beta stage. OneTeam Media Server has also been announced by ProcessOne.

支持RTMP服务端的软件:

Adobe Flash Media Server.

Onlinelib VCS Video Communication Server (including iPhone Support)

Wowza Media Server

WebORB Integration Server (free and available for .NET, Java and ColdFusion)

Red5

Some related news?

On 20 January 2009 Adobe announced it will publish the RTMP specification. On 21 May 2009 Adobe filed a DMCA removal request on a Sourceforge-hosted implementation of the protocol. On Monday, June 15, 2009 Adobe released the RTMP Specification, which is calculated for high-performance transmission of audio, video, and data between Adobe Flash Platform technologies.

The project is dedicated to driving rich Internet experiences across televisions, personal computers, mobile devices, and consumer electronics. To support this mission, and as part of Adobe’s ongoing commitment to enable Web innovation, Adobe will continue to open access to Adobe Flash technology, accelerating the deployment of content and rich Internet applications (RIAs). This work will include:

Removing restrictions on use of the SWF and FLV/F4V specifications.
Publishing the contrivance porting layer APIs for Adobe Flash Player.
Publishing the Adobe Flash® Cast™ protocol and the AMF protocol for robust data services.
Removing licensing fees – making next major releases of Adobe Flash Player and Adobe AIR for devices free.

Sources are from Wikipedia.

分享到:
评论
1 楼 liuyuanhui0301 2013-04-11  
   

相关推荐

    rtmp拉流.pdf

    ### RTMP简介 RTMP(Real-Time Messaging Protocol)是一种由Adobe Systems开发的协议,主要用于音视频数据的实时传输。它最初是为了实现在Flash播放器上流畅播放流媒体而设计的,但现在也被广泛应用于各种实时音...

    rtsp rtmp拉流和推流工具

    **RTSP与RTMP简介** 1. **RTSP(Real-Time Streaming Protocol)**:是一种应用层协议,主要用于控制媒体数据的实时传输。它允许客户端请求服务器开始、停止或暂停媒体流,提供对播放速率的控制,适合于需要低延迟且...

    基于智慧教室-无纸化会议的新选择:RTMP解决方案.docx

    ##### RTMP简介 RTMP是一种由Adobe Systems开发的协议,主要用于音视频流的传输。它支持实时传输音视频数据,并能够提供较低的延迟,这使得RTMP成为在线直播、远程教学等应用场景的理想选择。与市面上其他流媒体传输...

    rtmpServer-master_nettyrtmp_rtmp推流_netty开发rtmp_rtmpServer-master

    1. **RTMP协议简介** RTMP是Adobe Systems公司开发的一种协议,主要用于音视频数据的实时传输。它支持低延迟的流媒体,常用于在线直播服务。RTMP协议包括推流(publishing)和拉流(playing)两个过程,使得客户端...

    RTMP概論 用最淺顯的方式講述RTMP協定與應用

    #### 一、RTMP简介 **RTMP**(Real-Time Messaging Protocol)是一种用于实时音视频传输的协议,主要用于流媒体服务,如在线直播、视频会议等场景。该协议最初由Macromedia公司开发,并在Adobe Flash Player中得到...

    rtmp实时流格式分析

    #### 一、RTMP简介 RTMP(Real-Time Messaging Protocol)是一种由Adobe Systems开发的协议,主要用于传输音频、视频和数据等多媒体数据流。RTMP广泛应用于在线直播、视频点播等领域,尤其在低延迟传输方面具有明显...

    h5 rtmp播放demo

    2. **RTMP协议简介:** RTMP由Adobe Systems开发,主要用于实时音频、视频和数据的传输。它允许服务器将内容推送至客户端,适合直播场景。但是,H5原生的`<video>`标签并不支持RTMP,所以我们需要寻找替代方案。 3...

    nginx-rtmp模块源码包nginx-rtmp-module-master

    **一、Nginx 简介** Nginx 是一款高性能的 HTTP 和反向代理服务器,以其轻量级、高并发处理能力而闻名。它被广泛应用于 Web 服务器和负载均衡解决方案中。Nginx 通过事件驱动的非阻塞 I/O 模型,能够在处理大量并发...

    rtmp协议原版介绍

    #### 二、RTMP协议简介 RTMP协议最初在2003年由Macromedia公司开发,并随着该公司被Adobe Systems收购后得到了进一步的发展和完善。该协议主要应用于音视频内容的实时传输,包括但不限于在线直播、点播等场景。RTMP...

    rtmp 传输协议code

    **一、RTMP协议简介** 1. **协议类型**:RTMP是一种基于TCP的应用层协议,属于连接型协议,即在数据传输前需要建立连接。 2. **数据类型**:RTMP支持多种数据类型,包括音频、视频、元数据和控制命令。 3. **应用...

    nginx-rtmp-module-master源码

    RTMP 协议简介** RTMP 是一种专为在线流媒体设计的协议,广泛应用于视频直播、游戏直播等场景。它允许客户端与服务器之间进行音频、视频和数据的实时交互。Nginx-RTMP 模块的引入使得 Nginx 服务器能够处理 RTMP 流...

    web直播rtmp视频流

    一、RTMP协议简介 RTMP是由Adobe Systems开发的,主要用于音频、视频数据的实时传输。它允许内容发布者将流媒体数据发送到服务器,然后由服务器分发给多个客户端。RTMP支持低延迟,一般在1-3秒之间,非常适合直播...

    rtmp视频流播放器

    1. RTMP协议简介: - RTMP协议是基于TCP的,用于在客户端和服务器之间实时传输音视频数据。 - 它提供了一种高效的数据传输机制,允许快速启动流媒体内容,适合直播或点播服务。 - RTMP支持多种数据格式,如FLV...

    qt_ffmpeg_rtsp.zip

    **RTSP和RTMP简介** 1. **RTSP**:这是一种应用层协议,用于控制多媒体数据的传输。它允许客户端向服务器发送指令,如播放、暂停、快进等,使服务器能够实时地传输数据。 2. **RTMP**:主要用于Flash平台上,用于将...

    Rtmp协议中文介绍

    消息块流是为 Rtmp协议设计的,他可以处理任何传送消息流的协议,每一个消息包含时间戳 合有效负载类型标示, 消息块流和 一起适用于多样性音视频应用程序,从一对一和一对 多向视频点播服务器直接广播到交互式会议...

    nginx-rtmp-module-1.2.1.tar.gz

    ### RTMP 协议简介 RTMP 是由 Adobe Systems 开发的一种协议,主要用于在互联网上传输音视频数据。它广泛应用于在线直播平台,如 YouTube Live 和 Wowza Streaming Engine。RTMP 支持实时传输,能提供较低的延迟,...

    nginx+rtmpmodule

    Nginx简介 Nginx是由Igor Sysoev开发的一款开源Web服务器,以其高效的并发处理能力和低内存占用著称。它采用事件驱动的异步非阻塞模型,可以同时处理大量连接,非常适合高流量网站和应用程序。Nginx不仅支持静态...

    nginx-rtmp模块

    **一、RTMP协议简介** RTMP是Adobe Systems开发的一种用于音频、视频数据传输的协议,常用于在线直播流媒体服务。它允许客户端(如Adobe Flash Player)与服务器之间建立连接,实现实时数据传输,包括音频、视频和...

    nginx-rtmp-module

    一、Nginx-RTMP-Module 简介 Nginx-RTMP-Module 是由 Lavf57 开发的一个开源项目,其核心功能是添加对 RTMP 协议的支持,使得 Nginx 可以作为 RTMP 服务器接收来自编码器的音视频流,同时也可以将这些流推送到其他 ...

    nginx-rtmp-module-1.2.1.zip

    **一、RTMP 协议简介** RTMP 是一种用于音频、视频数据传输的协议,由 Adobe Systems 开发,常用于在线直播服务。它支持实时传输,并且可以实现低延迟的流媒体播放。Nginx RTMP 模块允许服务器接收来自 RTMP 客户端...

Global site tag (gtag.js) - Google Analytics