浙江大华dh650平台设备接入协议
DH650 平台设备接入协议
1. 概述
DH650 平台设备接入协议(后面简称本协议)描述DH650 平台的设备接入
协议,规定了设备接入DH650 平台进行通信时的命令和数据交互的细节。
本协议引用到的相关规范:
IETF RFC 2616: "Hypertext Transfer Protocol – HTTP/1.1", Fielding R. et
al., June 1999.
"Extensible Markup Language (XML) 1.0 Specification (Second Edition)",
T. Bray, J. Paoli, C. M. Sperberg-McQueen, E. Maler, 6 October 2000.
IETF RFC 2326: "Real Time Streaming Protocol (RTSP)", Schulzrinne H.,
Rao A. and Lanphier R., April 1998.
IETF RFC 2327: "SDP: Session Description Protocol", Handley M.,
Jacobson V. and Perkins C., April 1998.
IETF RFC 3550: "RTP: A Transport Protocol for Real-Time Applications",
Schulzrinne H. et al., January 1996.
IETF RFC 3016: "RTP Payload Format for MPEG-4 Audio/Visual Streams",
Kikuchi Y. et al., November 2000.
IETF RFC 3984: "RTP Payload Format for H.264 Video", Wenger S. et al,
February 2005.
第 1 页 共 31 页
2. 协议整体设计
2.1. 通讯协议组成
通讯协议由一个命令通道和零到多个数据通道组成。
命令通道采用HTTP+XML 的协议格式,保持长连接,所有命令都有应答,
双向都可以主动发起命令,接收应答时需判断是应答还是另一个主动命令请求。
命令的处理必须依次进行,不能乱序。
数据通道采用标准RTSP 、RTP 协议,其中RTSP 协议进行数据传输的控制,
RTP 协议进行具体数据的传输。数据通道传输的内容由RTSP 的URL 控制,此
URL 由相应的命令交互时生成,URL 一般是只能使用一次。
当需要安全传输的时候,可选支持SSL 进行加密,即用HTTPS 连接,传输
的数据格式保持不变。
2.2. 命令基本格式
命令一般使用HTTP 的GET 命令来发起请求,命令的参数附加在URL 上,
整个URL 的格式如下所示:
/svc/?=&=
如果参数太长,也可以改用HTTP 的POST 命令,将参数放入HTTP 的body
中,参数形式不变。具体各命令的参数,见下面命令协议格式中相应命令的描述。
发送命令时以及命令的应答,HTTP header 中需要添加CFL_Asynch 字段,
传输一些固定的基本信息,其格式如下:
CFL_Asynch:version=&operation=&session=&sequenc
e=
第 2 页 共 31 页
每个命令的请求和应答,都需要带此CFL_Asynch 字段信息,当前协议版本
为,操作类型同URL 中的operation,session 的值在登录(Login 命令)
时为0,登录成功后由设备生成并返回给请求者,后续所有命令都必须带此有效
session,sequence 是操作顺序号,从1 开始,每个命令递增,双向各自独立计数。
命令的应答除了带CFL_Async