其他技术RTMP协议.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
其他技术RTMP协议

RTMP协议 RTMP协议封包 由一个包头和一个包体组成,包头可以是4种长度的任意一种:12, 8, 4, 1 byte(s).完整的RTMP包头应该是12bytes,包含了时间戳,AMFSize,AMFType,StreamID信息, 8字节的包头只纪录了时间戳,AMFSize,AMFType,其他字节的包头纪录信息依次类推 。包体最大长度默认为128字节,通过chunkSize可改变包体最大长度,通常当一段AFM数据超过128字节后,超过128的部分就放到了其他的RTMP封包中,包头为一个字节. 完整的12字节RTMP包头每个字节的含义: 用途大小(Byte)含义 Head_Type1包头 TiMMER3时间戳 AMFSize3数据大小 AMFType1数据类型 StreamID4流ID 一、Head_Type 第一个字节Head_Type的前两个Bit决定了包头的长度.它可以用掩码0xC0进行与计算: Head_Type的前两个Bit和长度对应关系: BitsHeader Length 0012 bytes 018 bytes 104 bytes 111 byte Head_Type的后面6个Bit和StreamID决定了ChannelID。 StreamID和ChannelID对应关系:StreamID=(ChannelID-4)/5+1 参考red5 ChannelIDUse 02Ping 和ByteRead通道 03Invoke通道 我们的connect() publish()和自字写的NetConnection.Call() 数据都是在这个通道的 04Audio和Vidio通道 05 06 07服务器保留,经观察FMS2用这些Channel也用来发送音频或视频数据 例如在rtmp包里面经常看到的0xC2, 就表示一字节的包头,channel=2. 二、TiMMER TiMMER占3个字节纪录的是时间戳,音视频流的时间戳是统一排的。可分为绝对时间戳和相对时间戳。 fms对于同一个流,发布的时间戳接受的时间戳是有区别的 publish时间戳,采用相对时间戳,时间戳值等于当前媒体包的绝对时间戳与上个媒体包的绝对时间戳之间的差距,也就是说音视频时间戳在一个时间轴上面.单位毫秒。 play时间戳,相对时间戳,时间戳值等于当前媒体包的绝对时间戳与上个同类型媒体包的绝对时间戳之间的差距, 也就是说音视频时间戳分别为单独的时间轴,单位毫秒。 flv格式文件时间戳,绝对时间戳,时间戳长度3个字节。超过0xFFFFFF后时间戳值等于TimeStamp 0xFFFFFF。 flv格式文件影片总时间长度保存在onMetaData的duration属性里面,长度为8个字节,是一个翻转的double类型。 三、AMFSize AMFSize占三个字节,这个长度是AMF长度,可超过RTMP包的最大长度128字节。如果超过了128字节,那么由多个后续RTMP封包组合,每个后续RTMP封包的头只占一个字节。一般就是以0xC?开头。 四、AMFType AMFSize占三个字节,这个长度是AMF长度,可超过RTMP包的最大长度128字节。 AMFType是包的类型 0×01Chunk Sizechanges the chunk size for packets 0×02Unknown 0×03Bytes Readsend every x bytes read by both sides 0×04Pingping is a stream control message, has subtypes 0×05Server BWthe servers downstream bw 0×06Client BWthe clients upstream bw 0×07Unknown 0×08Audio Datapacket containing audio 0×09Video Datapacket containing video data 0x0A-0x0EUnknown 0x0FFLEX_STREAM_SENDTYPE_FLEX_STREAM_SEND 0x10FLEX_SHARED_OBJECTTYPE_FLEX_SHARED_OBJECT 0x11FLEX_MESSAGETYPE_FLEX_MESSAGE 0×12Notifyan invoke which does not expect a reply 0×13Shared Objecthas subtypes 0×14Invokelike remoting call, used for stream actions too. 0×16StreamData这是FMS3出来后新增的数据类型,这种类型数

文档评论(0)

jiulama + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档