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 Player和Media 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.
RTMPT是RTMP的变种,能和防火墙一起工作。它工作在80端口,并将RTMP数据封装在HTTP的请求当中。
2. RTMPS (Real Time Messaging Protocol Secure)
RTMPS is again a variation of RTMP which works over secure HTTPS connection.
RTMPS是RTMP的变种,它工作中安全的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轻量,是Adobe将flash用于DRM(内容数字版权加密保护技术)的解决方案。
4. RTMPTE (Real Time Messaging Protocol with Encryption and Tunnel)
RTMPTE is a RTMPE tunneling over HTTP on port 80.
RTMPTE是RTMPE对于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.
原生的基于TCP的RTMP协议在实时连接时要保有一个单一而稳定的链接。为了保证音视频流能流畅地传输,并维护传输大的信息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 Player和Flow 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 Player和Media 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.
RTMPT是RTMP的变种,能和防火墙一起工作。它工作在80端口,并将RTMP数据封装在HTTP的请求当中。
2. RTMPS (Real Time Messaging Protocol Secure)
RTMPS is again a variation of RTMP which works over secure HTTPS connection.
RTMPS是RTMP的变种,它工作中安全的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轻量,是Adobe将flash用于DRM(内容数字版权加密保护技术)的解决方案。
4. RTMPTE (Real Time Messaging Protocol with Encryption and Tunnel)
RTMPTE is a RTMPE tunneling over HTTP on port 80.
RTMPTE是RTMPE对于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.
原生的基于TCP的RTMP协议在实时连接时要保有一个单一而稳定的链接。为了保证音视频流能流畅地传输,并维护传输大的信息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 Player和Flow 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.
相关推荐
消息块流是为 Rtmp协议设计的,他可以处理任何传送消息流的协议,每一个消息包含时间戳 合有效负载类型标示, 消息块流和 一起适用于多样性音视频应用程序,从一对一和一对 多向视频点播服务器直接广播到交互式会议...
《RTMP协议中AMF的定义》,原名《TheAMF》英文版本。 内容简介: The AMF object is used for the sending and receiving of all video/audio data. After the initial handshake, all objects sent use the AMF ...
简介 RTMPCHybirdEngine是为移动端应用量身打造的基于RTMP和RTC混合引擎的连麦互动流媒体直播系统。通过集成本SDK,只需几个简单API调用,便可实现一套完整的连线麦互动直播流媒体应用。包含了流媒体应用中:『采集...
内容简介: This is a legal agreement (“Agreement”) between the user of the Specification (either an individual or an entity) (“You”), and Adobe Systems Incorporated (“Adobe”) (collectively the ...
功能简介: 1.支持usb摄像头推流。 2.支持桌面推流。 3.支持usb摄像头与桌面叠加切换推流。 4.支持rtsp或rtmp摄像头与桌面叠加切换推流。 5.支持不同分辨率输出。 6.支持混音,可以同时推送麦克风及扬声器声音。 7....
1. 简介 1.1. 术语 2. 贡献者 3. 名词解释 4. 字节序、对齐和时间格式 5. RTMP 块流 5.1 消息格式 5.2 握手 5.2.1. 握手顺序 5.2.2. C0 和 S0 的格式 5.2.3. C1 和 S1 的格式 5.2.4. C2 和 S2 的格式 5.2.5....
RtmpPlaySdk简介 一款低延时的极简接口RTMP播放器(Windows版和Android版)。其中Windows版播放器的特性如下: 1、支持Rtmp掉线自动重连。 2、支持非阻塞Rtmp连接,外层可随时中断。 3、支持多实例 4、支持任意AAC...
简介anyRTMPC-HybridEngine-iOS是为移动端应用量身打造的基于RTMP和RTC混合引擎的连麦互动流媒体直播系统。通过集成本SDK,只需几个简单的API调用,即可实现一套完整的连线麦互动直播流媒体应用。包含了流媒体应用中...
rtmp协议的概述、协议流程、协议格式介绍。librtmp、ffmepg推流简介
通过ffmpeg将OpenCV格式的帧数据推送到rtsp/rtmp/udp/udp...项目简介: 代码是通过ffmpeg将cv::Mat(OpenCV)格式的帧数据推送到rtsp/rtmp/udp/udp广播视频流。代码基于Qt,但您可以将功能模块提取到自己的项目中。
简介31.1 术语31. 贡献者32. 定义33. 字节序,对齐,时间格式45.1. 消息格式55.2. 握手55.2.1. 握手顺序55.2.2. C0 和
简介 基于RTMP和RTC混合引擎的在线视频连麦互动直播 Android 直播(网络自适应码率RTMP publisher)、点播播放器(播放器经过专业优化,可实现秒开RTMP Player)、基于RTMP和RTC混合引擎的视频连麦互动(最多支持4人...
桌面共享工具界面优化版(RTMP推流工具、投屏工具、播放工具)EXE,非源码)(水印版,不喜勿下) 功能简介: 1.支持usb摄像头推流。 2.支持桌面推流。 3.支持usb摄像头与桌面叠加切换推流。 4.支持不同分辨率输出。 ...
功能简介: 1.支持usb摄像头推流。 2.支持桌面推流。 3.支持usb摄像头与桌面叠加切换推流。 4.支持rtsp或rtmp摄像头与桌面叠加切换推流。 5.支持不同分辨率输出。 6.支持混音,可以同时推送麦克风及扬声器声音。 7....
一、 简介 实现协议转发服务的管理:新建任务、删除任务、查询任务。 因为与WEB服务同在一个网络,采用UDP通信机制,协议文本为JSON格式。 二、 协议详情 1、 新建任务 action字段:start rtsp字段:rtsp源地址(如果...
简介 Video_Live_Stream是在Linux系统下基于python调用ffmpeg实现的简易推流工具,基本功能如下: * 读取播放列表,按列表顺序循环推流视频至rtmp服务器。 * 添加了`bilibili直播间弹幕模块`,可接收及发送弹幕。 *...
2.3.1 RTMP协议简介 18 2.3.3 RTMFP 简介 19 2.3.4 RTMP VS RTMFP 20 2.4 MPEG-TS 20 2.4.1 MPEG2-TS与MPEG2-PS的区别 20 2.4.2 PES/ES/TS简介 20 2.5 Smooth Streaming 21 2.5 HLS简介 24 2.6 MPEG-DASH 26 2.6.1 ...
对H264、AAC数据数据使用librtmp推流,里面环境均已配置好,可以直接使用。 本工程对单独的H264或者AAC推流到red5服务器,测试均正常。另附工程和flv封 装简介一份。都是一字一字敲出来的
Red5简介 Red5的主要功能和Macromedia公司的FMS类似,提供基于Flash的流媒体服务的一款基于Java的开源流媒体服务器。它由Java语言编写,使用RTMP作为流媒体传输协议,这与FMS完全兼容。它具有流化FLV、MP3文件,...