rstp协议抓包流程分析
1.OPTIONS
客户端向服务器端发现OPTIONS,请求可用的方法。
服务器端回复客户端,消息中包含当前可用的方法。
2.DESCRIBE
客户端向服务器请求媒体描述文件,一般通过rtsp开头的url来发起请求,格式为sdp。
服务器回复客户端sdp文件,该文件告诉客户端服务器有哪些音视频流,有什么属性,如编解码器信息,帧率等。
3.SETUP
客户端向服务器端发起建立连接请求,请求建立会话连接,准备开始接收音视频数据,请求信息描述了期望音视频数据包基于UDP还是TCP传输,指定了RTP,RTCP端口,以及是单播还是组播等信息!
服务器端收到客户端请求后,根据客户端请求的端口号确定发送控制数据的端口以及音视频数据的端口!
4.PLAY
客户端向服务端请求播放媒体。
服务器回复客户端200 OK! 之后开始通过SETUP中指定的端口开始发送数据!
5.GET_PARAMETER
没有相关操作信息,认为是保活使用rtsp流,正常情况下响应为200ok
6.TEARDOWN
结束播放的时候,客户端向服务器端发起结束请求。
服务端收到消息后,向客户端发送200 OK,之后断开连接。
上述的流程基本涵盖了RTSP的流程,当然,RTSP除此之外,还有PAUSE,SCALE,GET_PARAMETER,SET_PARAMETER等参数。