转载于:http://blog.csdn.net/zhouyongku/article/details/41546789
海康相机RTSP连接代码分析
最近在做海康相机rtsp连接获取音视频的工作,现在介绍一下分析过程和源码。
一、基本原理
RTSP客户端去连接服务器的最基本步骤如下:
(1)分析url中的端口号,创建一个与服务器[S-PORT]端口号的TCP连接用于RTSP命令交互 (2)执行RTSP命令请求,告诉服务器可以连接到本地的端口[C-PORT]进行数据发送 (3)客户端从本地[C-PORT]读取数据
二、研究步骤
来研究一下海康相机的RTSP数据是怎么交互的
(2)打开VLC播放器,输入海康相机RTSP地址
例如:【rtsp://admin:[email protected]:554/MPEG-4/ch2/main/av_stream】
(3)播放几秒后再点击停止播放,退出VLC播放器。 (4)分析Wireshark数据
三、RTSP协议过程分析
1、RTSP协议梗概
就这几个简单的交互命令就能实现RTSP对接,C代表Client S代表Server
例如:C1-客户端发的第一个命令 S1-服务器响应的第一个回复
【C1】OPTIONS rtsp://192.168.1.145:554/MPEG-4/ch2/main/av_stream RTSP/1.0RTSP
【S1】Reply: RTSP/1.0 200 OKRTSP 【C2】DESCRIBE rtsp://192.168.1.145:554/MPEG-4/ch2/main/av_stream RTSP/1.0RTSP 【S2】Reply: RTSP/1.0 401 Unauthorized RTSP 【C3】DESCRIBE rtsp://192.168.1.145:554/MPEG-4/ch2/main/av_stream RTSP/1.0RTSP 【S3】Reply: RTSP/1.0 200 OK, with session descriptionRTSP/SDP 【C4】SETUP rtsp://192.168.1.145:554/MPEG-4/ch2/main/av_stream/trackID=1 RTSP/1.0RTSP 【S4】Reply: RTSP/1.0 200 OK RTSP 【C5】SETUP rtsp://192.168.1.145:554/MPEG-4/ch2/main/av_stream/trackID=2 RTSP/1.0RTSP 【S5】Reply: RTSP/1.0 200 OK RTSP 【C6】PLAY rtsp://192.168.1.145:554/MPEG-4/ch2/main/av_stream/ RTSP/1.0RTSP 【S6】Reply: RTSP/1.0 200 OK RTSP 【C7】GET_PARAMETER rtsp://192.168.1.145:554/MPEG-4/ch2/main/av_stream/ RTSP/1.0RTSP 【S7】Reply: RTSP/1.0 200 OK RTSP 【C8】TEARDOWN rtsp://192.168.1.145:554/MPEG-4/ch2/main/av_stream/ RTSP/1.0RTSP 【S8】Reply: RTSP/1.0 200 OK RTSP