rtmp协议简介

rtmp协议简介

ID:19605640

大小:560.68 KB

页数:27页

时间:2018-10-04

rtmp协议简介_第1页
rtmp协议简介_第2页
rtmp协议简介_第3页
rtmp协议简介_第4页
rtmp协议简介_第5页
资源描述:

《rtmp协议简介》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、专题报告:RTMP协议目录专题报告:RTMP协议1一:什么是rtmp2二:RTMP消息格式3三:RTMP握手过程7三.协议控制消息15四:消息交换的例子17写在前面红色字体是重点必读,蓝色字体是分点便于区分,绿色字体是次分点便于区分一:什么是rtmpRTMP协议  RealTimeMessagingProtocol(实时消息传送协议协议)实时消息传送协议是AdobeSystems公司为Flash播放器和服务器之间音频、视频和数据传输开发的私有协议。它有三种变种:  1)工作在TCP之上的明文协议,使用端口1935;  2)RTMPT封装在HTTP请求之中,可穿越防火墙;  3)RTM

2、PS类似RTMPT,但使用的是HTTPS连接;  介绍:ØRTMP协议是被Flash用于对象,视频,音频的传输.该协议建立在TCP协议或者轮询HTTP协议之上.ØRTMP协议就像一个用来装数据包的容器,这些数据可以是AMF格式的数据,也可以是FLV中的视/音频数据.Ø一个单一的连接可以通过不同的通道传输多路网络流.这些通道中的包都是按照固定大小的包传输的.RTMP中定义了两种通信单元:消息(message)和消息块(chunk).RTMP消息是协议中实现各种流媒体控制和应用的基本逻辑信息单元,消息从种类上可以分为协议控制消息、用于发送音频数据的音频消息、用于发送视频数据的视频消息、发

3、送用户数据的数据消息、共享对象消息以及命令消息,属于相同逻辑通道的消息组成一个消息流,这个逻辑通道通过消息格式中的“消息流ID”字段来标识。作为应用层协议,RTMP协议架构在TCP层之上,但RTMP消息并不是直接封装在TCP中,而是通过一个被称为消息块的封装单元进行传输。消息在网络上发送之前往往要分割成多个较少的部分,这些较小的部分就是消息块,属于不同消息流的消息块可以在网络上交叉发送。这样做可以保证各个消息流中的高优先级消息块能够严格按照时间顺序达到通信的对端。比如某个较长消息的实时性要求比较低,如果不进行消息块处理,等长消息都发送完毕后再发送实时性要求高的短消息,则会对流媒体的播

4、放质量造成影响。二:RTMP消息格式RTMP消息包含两个部分,包头和有效负载。包头包含时间戳、消息长度、消息类型以及消息流ID。有效负载是包含在消息中的实际数据,例如:它可以是一些音频样本或者压缩的视频数据。(1)、时间戳delta(timestampdelta):消息的时间戳,占3个字节(2)、消息长度(messagelength):3个字节。消息的有效负载的长度,如果消息头不能被省略,他应该包含在长度中,这个字段在消息块包头中。注意这一般和消息块的有效负载长度是不一样的。消息块的有效负载长度是除了最后一个消息块外其他所有消息块都取消息块大小的最大值(通常默认为128字节)。(3)

5、、消息类型id(messagetypeid):1个字节。协议控制消息的类型字段的范围是被保留的,这些传播信息的消息被RTMP消息块和高层协议处理,所有其他的类型ID可被高层协议使用,被RTMP消息块当做不透明的值(4)消息流ID(messagestreamid):4个字节。消息流ID可以是任意值,不同的消息复用成同一消息块流以及解复用都是基于消息流ID。消息分块(1)、在握手以后,连接一个或者多个复用消息块,每个消息块流负载来自消息流中同一类的消息,每一个消息块的产生配有一个唯一的ID,被称为消息块流ID,消息块流在网络上传输。传输的时候每一个消息块在下一个消息块之前必须完全被发送,

6、当接收结束,消息块基于消息块流ID被组装成消息。消息分块允许高层协议的大的消息被分割成小的消息,消息分块也允许小的消息被传送时带有小的包头,消息块的包头包含了信息的压缩表示,否则信息必须在消息自身中包含。(2)、消息块的字节顺序:      RTMP的字节序和大多数网络协议一样是大端序,也有一些字段是小端序的,不过都有特殊的说明。1).RTMP的head组成        RTMP的head在协议中的表现形式是chunkhead,前面已经说到一个Message+head可以分成一个和多个chunk,为了区分这些chunk,肯定是需要一个chunkhead的,具体的实现就把Messag

7、e head的信息和chunkhead的信息合并在一起以chunkhead的形式表现。       一个完整的chunk的组成如下图所示                                                            Chunkbasicheader:1to3该字段包含chunk的streamID和type。chunk的Type决定了消息头的编码方式。该字段的长度完全依赖于streamID,该字段是一个可变长的字段。c

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。