概述
在传输完元数据onMetaData之后就开始传输音视频数据了,如视频是H.264编码,第一帧视频帧需要是SPS和PPS,后面才是I帧和P帧。
如果是发布端向服务器推流,方向是C->S,如果是播放器向服务器拉流,方向是S->C。
音视频数据包的封装后面的文章在详谈,这里只是讲信令交互。
举例
发布端向服务器推流 C->S
Video Data
RTMP Header
00.. .... = Format: 0
..00 0101 = Chunk Stream ID: 5
Timestamp: 0
Body size: 31
Type ID: Video Data (0x09)
Stream ID: 1
RTMP Body
Control: 0x17 (keyframe H.264)
Video data: 00000000014d401effe1000b674d401e95a0280f69b01001...
Video Data
RTMP Header
01.. .... = Format: 1
..00 0101 = Chunk Stream ID: 5
Timestamp delta: 0
Timestamp: 0 (calculated)
Body size: 14488
Type ID: Video Data (0x09)
RTMP Body
Control: 0x17 (keyframe H.264)
Video data: 010000000000388f00000001674d401e95a0280f69b01000...
Audio Data
RTMP Header
00.. .... = Format: 0
..00 0100 = Chunk Stream ID: 4
Timestamp: 137
Body size: 321
Type ID: Audio Data (0x08)
Stream ID: 1
RTMP Body
Control: 0x86 (G711U 11 kHz 16 bit mono)
Audio data: fffefffffffffffefeffffffffffffffffffffffffffffff...
Video Data
RTMP Header
01.. .... = Format: 1
..00 0101 = Chunk Stream ID: 5
Timestamp delta: 40
Timestamp: 40 (calculated)
Body size: 1383
Type ID: Video Data (0x09)
RTMP Body
Control: 0x27 (inter-frame H.264)
Video data: 010000000000055e0000000106f0023410800000000141e0...
Audio Data
RTMP Header
10.. .... = Format: 2
..00 0100 = Chunk Stream ID: 4
Timestamp delta: 2
Timestamp: 139 (calculated)
RTMP Body
Control: 0x86 (G711U 11 kHz 16 bit mono)
Audio data: 7f7f7fffffffffffffffffffffffffffffffffffffffffff...
播放器向服务器拉流 S->C
Audio Data
RTMP Header
00.. .... = Format: 0
..00 0110 = Chunk Stream ID: 6
Timestamp: 52601
Body size: 321
Type ID: Audio Data (0x08)
Stream ID: 1
RTMP Body
Control: 0x86 (G711U 11 kHz 16 bit mono)
Audio data: ffffffffffffffffffffffffffffffffffffffffffffffff...
Audio Data
RTMP Header
01.. .... = Format: 1
..00 0110 = Chunk Stream ID: 6
Timestamp delta: 43
Timestamp: 52644 (calculated)
Body size: 321
Type ID: Audio Data (0x08)
RTMP Body
Control: 0x86 (G711U 11 kHz 16 bit mono)
Audio data: ffffffffffffffffffffffffffffffff7f7f7fffff7fffff...
Video Data
RTMP Header
00.. .... = Format: 0
..00 0111 = Chunk Stream ID: 7
Timestamp: 56128
Body size: 31
Type ID: Video Data (0x09)
Stream ID: 1
RTMP Body
Control: 0x17 (keyframe H.264)
Video data: 00000000014d401effe1000b674d401e95a0280f69b01001...
Video Data
RTMP Header
01.. .... = Format: 1
..00 0111 = Chunk Stream ID: 7
Timestamp delta: 40
Timestamp: 56168 (calculated)
Body size: 14478
Type ID: Video Data (0x09)
RTMP Body
Control: 0x17 (keyframe H.264)
Video data: 010000000000388500000001674d401e95a0280f69b01000...
Video Data
RTMP Header
01.. .... = Format: 1
..00 0111 = Chunk Stream ID: 7
Timestamp delta: 40
Timestamp: 56208 (calculated)
Body size: 515
Type ID: Video Data (0x09)
RTMP Body
Control: 0x27 (inter-frame H.264)
Video data: 01000000000001fa0000000106f002180e800000000141e0...