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

徐州网站关键词推广中国核工业二三建设有限公司西南分公司

徐州网站关键词推广,中国核工业二三建设有限公司西南分公司,手机网站如何做外链,英雄联盟网页制作素材RTMP#xff08;Real-Time Messaging Protocol#xff09;是一种用于实时音视频和数据传输的协议#xff0c;常见于直播和流媒体应用。 一 RTSP 协商消息 一、消息类型#xff08;Message Types#xff09; RTMP消息分为多种类型#xff0c;通过Message Type ID标识Real-Time Messaging Protocol是一种用于实时音视频和数据传输的协议常见于直播和流媒体应用。 一 RTSP 协商消息 一、消息类型Message Types RTMP消息分为多种类型通过Message Type ID标识主要包括 控制消息Control MessagesType ID 1-7 Set Chunk Size (ID1)设置分块大小。Window Acknowledgement Size (ID5)设置确认窗口大小。Set Peer Bandwidth (ID6)协商带宽限制。 数据消息Data Messages AMF0 (ID18) 或 AMF3 (ID19)传输元数据或命令如onMetaData。 音视频数据 音频数据 (ID8)、视频数据 (ID9)传输原始音视频流。 用户控制消息 (ID4)如流开始/结束事件。 二、元数据Metadata 元数据用于描述流的基本信息通常以onMetaData命令形式通过AMF0/AMF3编码发送。包含字段如 视频宽度、高度、帧率、编码格式。音频采样率、编码类型、时长等。示例AMF0命令格式onMetaData { duration: 60, width: 1280, ... }。 三、消息分块Message Chunking RTMP将消息拆分为多个Chunk传输以提升实时性。分块规则如下 Chunk Header Basic Header1-3字节包含Chunk Stream ID和Chunk Type。Message Header根据Chunk Type0-3决定包含字段时间戳、消息长度、Type ID等。Extended Timestamp可选当时间戳≥0xFFFFFF时启用。 分块示例 若块大小设为128字节300字节的消息会被分为3个Chunk12812844。 四、客户端与服务端协商过程 1. 握手Handshake C0/S0交换版本号通常为3。C1/S1交换随机数据和时间戳。C2/S2确认随机数据完成握手。 2. 参数协商Post-Handshake 握手后通过控制消息协商传输参数 Set Chunk Size (Type1) 双方发送此消息确定Chunk大小默认128字节可设为4096等。 Window Acknowledgement Size (Type5) 设置接收方确认窗口大小流量控制。 Set Peer Bandwidth (Type6) 协商带宽限制接收方需确认模式硬限/动态/软限。 3. 连接与流创建 Connect Command客户端发送连接请求包含应用名称、传输参数等。CreateStream Command创建逻辑流服务端返回Stream ID。发布/播放流传输音视频数据及元数据onMetaData。 五、关键流程示例 客户端发送connect| Chunk Stream ID3 | AMF0 Commandconnect | Transaction ID1 | Applive | ... |服务端响应Window Ack Size和Set Chunk Size| Chunk Stream ID2 | Control Message (Type5, Ack Size2500000) | | Chunk Stream ID2 | Control Message (Type1, Chunk Size4096) |发送元数据onMetaData| Chunk Stream ID4 | AMF0 Data (Type18) | onMetaData { width: 1280, ... } |总结 协商内容块大小、带宽、确认窗口等通过控制消息动态调整。元数据通过AMF数据消息传输描述流属性。分块机制提升传输效率适应网络波动。流程顺序握手 → 参数协商 → 连接 → 流创建 → 数据传输。 通过上述机制RTMP实现了低延迟、自适应的流媒体传输适用于实时性要求高的场景。 RTMP 协议在客户端与服务器建立会话后通过以下机制维护连接的稳定性并在断开时进行相应处理 二 会话维护 一、会话维护机制 1. 心跳机制Keep-Alive RTMP 使用 User Control Messages (Type4) 中的 Ping/Pong 机制作为心跳 Ping (Event6)服务器或客户端主动发送携带时间戳4字节。Pong (Event7)接收方需立即响应返回相同的 Ping 时间戳。作用 检测连接活性若未及时收到 Pong则认为连接已断开。默认间隔通常为 5-10 秒具体由实现决定。 2. 流量控制与确认机制 Window Acknowledgement Size (Type5) 接收方告知发送方可发送的最大未确认字节数例如 2500000 字节。发送方需在达到该阈值后暂停发送直到收到确认Ack。 Acknowledgment (Type3) 接收方定期发送已接收字节数的确认帮助发送方调整传输速率。 作用 避免网络拥塞同时间接检测连接状态若无 Ack 返回可能连接异常。 3. TCP 层保活Keep-Alive 依赖 TCP 协议的 Keep-Alive 机制默认间隔通常较长如 2 小时。RTMP 更多依赖应用层Ping/Pong而非 TCP 保活因后者响应不够实时。 4. 超时检测 服务器/客户端设定 空闲超时时间如 30 秒 若在超时时间内未收到任何数据包或心跳响应则主动断开连接。 二、断开后的处理逻辑 1. 检测断开 主动检测通过心跳超时未收到 Pong或 TCP 连接异常事件如 ECONNRESET。被动检测发送数据时发现写入失败如 Broken Pipe 错误。 2. 客户端处理 自动重连 关闭旧连接重新发起握手C0-C2/S0-S2。重新协商参数Chunk Size、带宽等。重新创建流createStream并发布/播放。 重试策略 指数退避首次立即重试失败后等待 1s、2s、4s… 避免频繁请求。最大重试次数例如 3 次后放弃通知用户。 3. 服务端处理 清理资源 释放与连接关联的流Stream和会话Session资源。通知其他订阅者该流已终止如发送 onStatus 事件。 日志与告警 记录断开原因超时、主动关闭、网络错误等。触发监控告警如大量异常断开。 4. 应用层容错 会话恢复 若支持客户端重连后可尝试恢复之前的流需服务端支持会话续传。例如通过唯一 Session ID 关联旧流非 RTMP 标准需自定义实现。 状态同步 重连后重新发送关键元数据如 onMetaData确保播放端状态一致。 三、示例流程 1. 正常心跳交互 Server - Client: User Control Message (Ping, Time1000) Client - Server: User Control Message (Pong, Time1000)2. 心跳超时导致断开 Server - Client: Ping (Time2000) [Client未响应] Server检测超时30秒- 关闭连接释放资源。3. 客户端重连 1. 客户端检测断开 - 触发重连逻辑。 2. 重新握手C0-C1-C2/S0-S1-S2。 3. 发送 Set Chunk Size、Window Ack Size 等参数。 4. 发送 createStream 创建新流。 5. 重新发布/播放流并发送元数据。四、优化实践 合理配置超时时间 心跳间隔5-10 秒超时时间3 倍间隔如 15-30 秒。 冗余设计 客户端实现断线重连队列缓存未发送的数据如直播推流的最后几秒数据。 快速失败与降级 若多次重连失败切换备用服务器或通知用户检查网络。 服务端负载均衡 使用集群避免单点故障客户端支持故障转移Failover。 总结 RTMP 通过 应用层心跳Ping/Pong、流量控制确认 和 超时检测 维护会话活性。断开后客户端和服务端需协作清理资源并尝试恢复通常需应用层逻辑支持完整重连流程。实际开发中需结合业务场景优化重试策略和容错机制以提升用户体验。
http://www.ho-use.cn/article/10821140.html

相关文章:

  • 做网站海报大学生网页设计实验报告总结
  • 网站关键词提交东莞制作网站
  • 做网站需要哪些栏目互联网推广培训机构
  • 柳市专业网站托管wordpress安装教程视频教程
  • 山东建设工程信息网站凡客陈年
  • 建设论坛网站需要做什么的网站编辑模版
  • 查企业免费的网站东莞网站开发哪里找
  • 论坛网站建设推广优化代理注册公司注意什么
  • 宝坻区建设路小学网站网站建设绩效目标
  • 音响网站模板网站外部链接建设分析
  • 登陆网站空间的后台网页版微信聊天记录会留在电脑里吗
  • 网站开发技术与应用试验报告4应用开发需要学什么
  • 做网站需要什么证件吗外链官网
  • 上海哪些做网站信息流广告怎么投放
  • 响应式网站建设有利于seo网站建设的学习方法
  • dw个人网站制作教程交互式网站是什么
  • 网站编辑建设用ssh做的网站
  • 晚上奖励自己的网站推荐网站建设背景资料
  • 网站托管服务适用于哪种类型的网站搜狗网站提交
  • 外贸网站源码下载公司官网怎样制作
  • 长沙网站建设+个人浦东新区网站推广公司
  • 上海心橙科技网站建设个人如何制作网站源码
  • 想给孩子找点题做 都有什么网站给wordpress网站做ssl卸载
  • 商业网站建设规划范文电脑dw怎么制作网页
  • 北京住房建设官方网站手机网站 后台
  • 做网站业务的怎么找资源如何做介绍一门课程的网站
  • 网站建设行业增长率flash 网站头部
  • cms网站开发网站模板房地产网站 模板
  • 莒县网站建设网推地推
  • 沈阳做网站建设学软件开发需要多少钱