转载于: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学习----海康RTSP客户端连接深入分析-LMLPHP

二、研究步骤

来研究一下海康相机的RTSP数据是怎么交互的

rtsp学习----海康RTSP客户端连接深入分析-LMLPHP

(2)打开VLC播放器,输入海康相机RTSP地址

例如:【rtsp://admin:[email protected]:554/MPEG-4/ch2/main/av_stream】

rtsp学习----海康RTSP客户端连接深入分析-LMLPHP

rtsp学习----海康RTSP客户端连接深入分析-LMLPHP

(3)播放几秒后再点击停止播放,退出VLC播放器。 (4)分析Wireshark数据

rtsp学习----海康RTSP客户端连接深入分析-LMLPHP

三、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

2、请求OPTION

【S1-REPLY】

3、无验证请求资源描述DESCRIBE

【S2-REPLY】

4、认证请求资源描述DESCRIBE

5、请求视频资源

6、请求音频资源

7、开始数据接收

8、关闭播放

05-21 09:10