RTMP study notes

来自个人维基
2020年4月5日 (日) 17:16free6d1823讨论 | 贡献的版本

跳转至: 导航搜索

Ref: https://www.adobe.com/devnet/rtmp.html
Handshaking Sequence


uninitialized ----

C0 -->
C1 -->
<-- S0 必须在 C0或C1 之后
<-- S1 必须在 C0或C1 之后


version sent -----

C2 -->
C2 必须在 S1之后


Ack sent -----

<-- s2 必须在C1之后


Handshake Done ----

data -->
data必须在S2之后

  <-- data 必须在c2 之后

C0-> RTMP version 8 bits (=3)

 <- S0 RTMP version 8 bit (=3)

C1,S1 1536 bytes

time[4]:   stream 的参考基准时间
zero[4]:0
random bytes[1528]  乱数token

C2,S2 1536 bytes

time[4]:   C2: S1 的时间; S2: C1 的时间
time2[4]:  读取S1/C1的时间
random bytes[1528]: C1/S1的乱数token

Chunk:
| Basic Header | Message Header | Extended Timestamp | Chunk Data |
+--------------+----------------+--------------------+--------------+
| |
|<------------------- Chunk Header ----------------->|