UDP协议
丢包与乱序了,也不管。
RTP
是上层协议,既可跑在UDP又可跑在TCP上,主要跑在TCP上,主要用于实时传输协议。
- sequence number:是按包排序,第一个是1,第二个是2.。。。TCP是按字节,TCP是流式的。
- timestamp:数据传输时,会分块,为了表明这些分散的甚至乱序的块块是一次的,用timestamp标记。
- synchronization(同步) source (SSRC) identifier(标识):每一个发送者,都有一个唯一的标识,如果重复,再协商。
- contributing(贡献) source (CSRC) identifiers :做混音时,几个人的声音合为一路音频,这几个人做为共享源,在此记录。
-
V:RTP协议的版本号,占2位,当前协议版本号为2
-
P(padding):填充标志,占1位,如果P=1,则在该报文的尾部填充一个或多个额外的八位组,它们不是有效载荷的一部分。
-
X:扩展标志,占1位,如果X=1,则在RTP报头后跟有一个扩展报头。TLV格式
-
CC:CSRC计数器,占4位,指示CSRC 标识符的个数
-
M: 标记,占1位,不同的有效载荷有不同的含义,对于视频,一帧的结束这位置为1;对于音频,会话的开始置为1。
-
PT(Payload Type): 有效荷载类型,占7位,用于说明RTP报文中载荷类型,如GSM音频、JPEM图像等,在 流媒体中大部分是用来区分音频流和视频流的,这样便于客户端进行解析。