“RTMP study notes”的版本间的差异

来自个人维基
跳转至: 导航搜索
(以“Ref: https://www.adobe.com/devnet/rtmp.html Handshaking Sequence ---- uninitialized ---- C0 --> C1 --> <-- S0 必须在 C0或C1 之后 <-- S1 必须在 C0...”为内容创建页面)
 
第5行: 第5行:
 
C0 -->  
 
C0 -->  
 
C1 -->
 
C1 -->
  <-- S0  必须在 C0或C1 之后  
+
<-- S0  必须在 C0或C1 之后  
  <-- S1  必须在 C0或C1 之后     
+
<-- S1  必须在 C0或C1 之后     
 
---- version sent -----     
 
---- version sent -----     
 
C2 -->
 
C2 -->
 
 
C2  必须在 S1之后
 
C2  必须在 S1之后
 
---- Ack sent -----
 
---- Ack sent -----
  <-- s2    必须在C1之后
+
<-- s2    必须在C1之后
 
+
 
---- Handshake Done ----
 
---- Handshake Done ----
 
data -->
 
data -->
第31行: 第29行:
 
  time2[4]:  读取S1/C1的时间
 
  time2[4]:  读取S1/C1的时间
 
  random bytes[1528]: C1/S1的乱数token
 
  random bytes[1528]: C1/S1的乱数token
 +
 +
Chunk:
 +
| Basic Header | Message Header | Extended Timestamp | Chunk Data |
 +
+--------------+----------------+--------------------+--------------+
 +
| |
 +
|<------------------- Chunk Header ----------------->|

2020年4月5日 (日) 17:16的版本

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 ----------------->|