




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
RTMP协议介绍RTMP协议RTMP中定义了两种通信单元:消息(message)和消息块(chunk) message类型 协议控制消息 音频数据 视频数据 命令消息 共享对象消息等 message标识 消息流ID Chunk的用处 将message分割成等长的小块,默认128字节。 不同的message就可以交叉传递,比如优先传递音视频数据。 一个chunk一般小于路由器的mtu(最大传输单元),tcp无需拆包,能快速的传递一个完整的chunk块。 消息格式 Chunk块格式 Chunkdata通常默认为128字节Chunkbasicheader:1to3 fmt占两个bit用来标识紧跟其后的chunkMsgHeader的长度,csid占六个bit。 chunkstreamID3~63 64~319(第二个byte+64); 64~65599((第三个byte)*256+ 第二个byte+64)两位的fmt取值为0~3,分别代表的意义如下:case0:chunkMsgHeader长度为11;case1:chunkMsgHeader长度为7;case2:chunkMsgHeader长度为3;case3:chunkMsgHeader长度为0; ChunkMsgHeader:0,3,7,11 Timestamp:3bytes messagelength:3bytes(3不包含) messagetypeid:1byte(3不包含) messagestreamid:4bytes(7不包含) RTMP握手 C0和S0包长8个字节 C1和S1的数据包有1536个字节 C2和S2数据有1536字节 命令消息(RPC) 除了连接、播放、发布等命令外,客户端与服务器之间可以通过自定义命令来执行远端过程调用。 AMF(ActionMessageFormat)编码。 二进制 除了常规数据类型的支持,内建flash的内置对象Object,Array,Date,XML的序列化和反序列化。 AMF3比AMF0更有效率。AMF3能将int和uint对象作为整数(integer)传输,并且能序列化ActionScript3.0才支持的数据类型,比如ByteArray,XML。 命令消息Connect命令 Call命令 Publish命令Play命令流程

xf****65
实名认证
内容提供者


最近下载