0.引言
为了更好理解本篇文章,可以先阅读前面几篇文章,文章列表如下:
详解RTP打包AAC实战分析(1)
详解RTP协议之H264封包和解包实战
详解RTP协议之H264封包细节(1)
详细解析RTSP框架和数据包分析(1)
手把手搭建RTSP流媒体服务器
RTP协议
HLS实战之Wireshark抓包分析
HTTP实战之Wireshark抓包分析
1.RTSP协议传输重要字段说明
(1)Accept:用于指定客户端可以接收的媒体描述信息类型。如下类型:
Accept: application/rtsl, application/sdp;level=2
(2)Bandwidth:描述客户端可⽤的带宽值。
(3)CSeq:指定了RTSP请求回应对的序列号,在每个请求或回应中都必须包括这个头字段。对每个包含⼀个给定序列号的请求消息,都会有⼀个相同序列号的回应消息。
(4)Rang:指定⼀个时间范围,可以使⽤SMPTE、NTP或clock时间单元。
(5)Session:Session头字段标识了⼀个RTSP会话。Session ID是由服务器在SETUP的回应中选择的,客户端⼀当得到Session ID后,在以后的对Session的操作请求消息中都要包含Session ID。
(6)Transport:Transport头字段包含客户端可以接受的传输选项列表,包括传输协议,地址端⼝,TTL等。服务端也通过这个头字段返回实际选择的具体选项。如下所示:
Transport: RTP/AVP;multicast;ttl=127;mode="PLAY",
RTP/AVP;unicast;client_port=3456-3457;mode="PLAY"
2.RSTP协议
2.1 RSTP协议简述
RTSP有一个session概念,是一个文本协议。rtsp传输音视频数据,一种是tcp,一种是Udp方式。本节课主要是讲解udp的方式。这里推荐一个RTSP很详细的文档,如下地址:
htt