当前位置: 首页 > wzjs >正文

个人网站可以直接做微信登陆吗合肥市住建局官方网

个人网站可以直接做微信登陆吗,合肥市住建局官方网,网站推广新手入门教程,网站建设与管理教学计划文章目录 RTMP协议解析【二】RTMP消息消息的格式Basic HeaderMessage HeaderExtended Timestamp RTMP协议解析【二】 本专栏重点负责介绍RTMP协议的理论部分, 跳过定义,协议与其他协议的优缺点对比,协议的拓展与改进,协议的历史发…

文章目录

  • RTMP协议解析【二】
  • RTMP消息
    • 消息的格式
      • Basic Header
      • Message Header
      • Extended Timestamp

RTMP协议解析【二】

本专栏重点负责介绍RTMP协议的理论部分, 跳过定义,协议与其他协议的优缺点对比,协议的拓展与改进,协议的历史发展等其他废话

本专栏重点介绍三个部分

  • RTMP的握手
  • RTMP消息
  • RTMP推流

前情简要

在RTMP协议解析【一】中,我介绍了RTMP握手的相关流程和包结构,RTMP工作流程大致如下:

  1. 客户端与服务器建立TCP连接。
  2. 双方通过握手过程确认协议版本及交换随机数等信息。
  3. 客户端发送连接命令(connect)到服务器。
  4. 服务器响应连接命令,返回连接结果。
  5. 客户端与服务器建立流(stream)进行音视频数据传输。
  6. 在传输过程中,双方可以发送控制命令,如播放(play)、暂停(pause)等。
    当连接关闭时,双方结束消息传输并断开连接。

在本文里,我将会介绍RTMP消息的细节,具体为:

  • 消息的格式
  • 控制消息
  • 用户控制消息
  • 命令消息

RTMP消息

消息的格式

正如TCP握手一般,在RTMP握手后,就可以传输数据,在RTMP协议中,数据传输的基本单元:Chunk,而若干个Chunk组成一个Message, 而Message就是Rtmp实际传输的信息。

Chunk的组成如下
在这里插入图片描述

共有4个字段:

  • Basic Header:这是一个复合字段,包含csidfmt两个子字段,是个可变字段
  • Message Header:这个字段包含被发送的消息信息,字段的长度由Basic Header中的fmt字段来决定,是个可变字段
  • Extended Timestamp:这个字段是否存在取决于Message Header的时间戳,是个可变字段
  • Chunk Data:当前Chunk的有效数据,是个可变字段,取决于通讯双方约定的Chunk大小

Basic Header

如上提到的,Basic Header有两个子字段,最少占1字节,结构如下:

在这里插入图片描述

  • Fmt:占两个bit,取值为:0, 1, 2, 3,分别表示Message Header的4种长度:11Bytes, 7Bytes, 3Bytes, 0Bytes
  • csid占6bit,采用小端存储,用来唯一标识一个流通道,本字段的取值范围: [4, 63]

注意!****Basic Header是一个可变字段,原因就是因为这个csid字段,当这个字段取值为0或者1时,表示真正的csid存储在接下来的字节中,本字段则为标识字段。

csid为2时,表示该Chunk是控制信息和一些命令信息。

csid取值为0时

Basic Header长度为2字节,结构如下:

在这里插入图片描述

第一个字节的后6位取值为9,因此,后面1字节的csid至少位64,而1字节有8bit,表示[0, 255]的取值范围

因此真正的csid的值位:64 + [0, 255] = [64, 319]

csid取值为1时

结构和取值0类似,第一个字节的后6bit取值为1,表示csid字段至少是64,且Basic Header的后两个字节表示真正的csid,而两个字节可以表示[0, 65535]

因此,csid取值范围为:[64, 65599]

Message Header

Message Header描述的是实际传递的消息的头部,而该字段的格式和长度取决于Basic HeaderChunk Type,即:fmt,共有4种不同的格式(因为2bit)

fmt为0

取值为0,Message Header长度为11字节,结构如下:

在这里插入图片描述

  • timestamp:占3字节,因此最多表示为2^24 - 1,当它的值超过这个值的时候,这三个字段都为1,这样实际的timestamp会存储到Extended Timestamp字段中,接收端只需要判断这三个字节是不是全1即可,如果是的话,则去Extended Timestamp字段解析实际的时间戳
  • message length:消息数据的长度字段,占3字节,表示实际发送的消息的长度,单位是字节,注意,这里是表示消息的长度,而不是Chunk的长度
  • message type id,消息的类型,占1字节,表示实际发送的数据的类型
  • message stream id,占4字节,表示该消息所在的流的id,和Basic Headercsid一样,采用小端存储方式

fmt为1

取值为1,Message Header长度为7字节,结构如下:

在这里插入图片描述

可以看出,少了一个message stream id字段

  • timestamp delta:占3字节,这里和fmt = 0的情况不同,这里存储的是和上一个Chunk的时间差,同样的,值超过3个字节能表示的范围的时候,就全1,实际的差值会存储在Extended Timestamp字段中
  • 其他字段和fmt = 0的情况一致

fmt为2

取值为2的时候,又少了message lengthmessage type id,因此只有一个timestamp delta字段

而这个字段的含义和fmt = 1的情况一致,不过多赘述

Extended Timestamp

这个字段表示时间戳,用4个字节表示,具体是否启用这个字段如前面介绍的,需要看:timestamptimestamp delta字段

由于篇幅原因,本文先简介RTMP Chunk,关注我,后续继续详细介绍RTMP协议


文章转载自:

http://9xQpw41j.mjyrg.cn
http://7nqSuOOH.mjyrg.cn
http://22L3TAyb.mjyrg.cn
http://hvYtD9fv.mjyrg.cn
http://tyqn4H07.mjyrg.cn
http://Rc54WrF3.mjyrg.cn
http://cR87I93a.mjyrg.cn
http://wXkKd92B.mjyrg.cn
http://bb4ZiYkR.mjyrg.cn
http://WSYfWmud.mjyrg.cn
http://WCW2ModX.mjyrg.cn
http://NAHdRigy.mjyrg.cn
http://1uiu5qDs.mjyrg.cn
http://rxHsRJ7x.mjyrg.cn
http://ubHOYefh.mjyrg.cn
http://8i3WHz3r.mjyrg.cn
http://xKSknODM.mjyrg.cn
http://tPwF70a4.mjyrg.cn
http://VqdpKNSt.mjyrg.cn
http://xLpQf896.mjyrg.cn
http://iHfyOR2g.mjyrg.cn
http://PWzFbvIX.mjyrg.cn
http://u186gW1g.mjyrg.cn
http://gh7Zk1ux.mjyrg.cn
http://Ffg55482.mjyrg.cn
http://XEQnIhf3.mjyrg.cn
http://xcX2MO5m.mjyrg.cn
http://GIUQzrsh.mjyrg.cn
http://Hke9SIwI.mjyrg.cn
http://ypSGz4XG.mjyrg.cn
http://www.dtcms.com/wzjs/630460.html

相关文章:

  • 代做毕设网站推荐二级目录 wordpress 伪静态
  • 犀牛云网站怎么建设外贸网络营销该如何做
  • 优质的杭州网站优化曲靖网站建设dodoco
  • 免费下载建筑图纸的网站网站建设要备案吗
  • 页面设计好看的网站毕业设计怎么做网站
  • 做贸易选哪家网站成都专业建网站公司
  • 网站设计电商首页网站建设 昆明
  • 网站建设 技术指标wordpress主机 好吗
  • 招聘做网站动画设计图
  • 江西南昌网站定制专业网站建设设计服务
  • 黄山建设网站公司淘宝评价采集wordpress
  • 南海区建设局网站首页在线名片设计
  • 旅游药都网站建设方案华为网站的建设目标
  • 如何用腾讯云主机做网站长沙seo公司网站优化
  • 优秀原创设计网站东莞门户网站建设方案
  • 连云港网站开发龙岩属于哪里
  • 网站建设技术人员要会什么常德市做网站的公司
  • 包头网站制作 建设帮人家做网站维护
  • 医疗网站织梦天猫商城创建时间
  • 扁平化网站导航ui模板wordpress胖子马
  • 网站推广自己可以做吗中建国际建设有限公司官网是央企吗
  • 湖北住房建设网站长春 行业网站
  • 免费用搭建网站深圳网站推广活动方案
  • 重庆网站排名公司微盟小程序官网
  • 做网站空间不给账号密码河北网站建设市面价
  • 重庆it培训机构简单建优化网站无需技术
  • 网站建设快照优化创建手机网站
  • 广州做网站信息做水暖的网站
  • 用html做登录网站crm客户管理系统模板
  • html5网站开发参考文献企业网站内容