RTMP握手流程(传输层)

74 阅读1分钟

 RTMP(Real-Time Messaging Protocol)

不支持除H.264/AAC之外的标准。

使用TCP,当到达网络拥塞、宽带上限时,传输质量受到影响。

URL格式:

rtmp://host:port/app(名称)/stream(流ID) 默认端口:1935

三次握手

数据块详解

  • C0/S0(版本协商)
    • 1字节,标识RTMP版本(通常为0x03)。
    • 若服务器不支持C0的版本,立即断开连接。
  • C1/S1(时间戳与随机数据)
    • 时间戳:4字节,客户端/服务器的当前Unix时间戳。
    • 零填充:4字节全零(保留字段)。
    • 随机数据:1528字节,用于后续验证(必须为非零随机值)。
  • S2/C2(验证回应)
    • 内容为对方发送的C1/S1的时间戳和随机数据的拷贝,用于确认握手有效性。