SIP DB33标准笔记 监控图像获取
实时监控图像的获取:
a) 实时监控图像的获取过程应包括获取实时流、释放实时流。应使用 RFC 3261 中定义的方法INVITE 获取一个摄像机的实时监控视频流。 取消没有完成的连接应采用 CANCEL 方法。 使用 RFC 3261
中定义的方法 BYE 停止接收一个摄像机的实时视频流,并释放相关资源。
b) 实时监控图像的获取过程的主要流程如下:
1) 源联网单元向目的联网单元发送INVITE请求。INVITE请求的消息体应指明是实时监控图像获取(RealMedia)。同时应包含请求用户的权限功能码(Privilege) , 源联网单元支持的码流格式 (Format) 、 视频编码类型 (Video) 、 音频编码类型 (Audio) 、 最高码率 (MaxBitrate) 、接收视频的用户或视频转发代理的IP地址/传输协议/端口号( ReceiveSocket) ;
2) 目的联网单元收到INVITE请求后,在回送成功或失败的应答消息前如需一定的处理时间,可发送临时响应消息100 Tring;
3) 目的联网单元应将同意或拒绝的消息返回给该源联网单元;在同意的确认响应消息的消息体中应包含确定的码流格式 (Format) 、 视频编码类型 (Video) 、 音频编码类型 (Audio) 、
传输码率 (MaxBitrate) 。 码流格式 (Format) 、 视频编码类型 (Video) 和音频编码类型 (Audio)根据INVITE请求消息体相应列表中目的联网单元能支持的排在最前的类型来确定;
4) 源联网单元发送ACK消息前如欲取消本操作,可向目的联网单元发送CANCEL请求消息;
5) 源联网单元收到目的联网单元同意确认消息200 OK,应向目的联网单元发送ACK消息;
6) 目的联网单元收到源联网单元发送ACK消息后,可向源联网单元发送实时监控视频流;
7) 源联网单元欲释放实时流时,向目的联网单元发送BYE请求消息;
8) 目的联网单元收到BYE请求消息后,回送200 OK同意释放消息。

消息示例:
F1:INVITE sip:摄像机地址编码@目的联网单元域名或IP地址 SIP/2.0
Via: SIP/2.0/UDP 源联网单元域名或IP地址
MaxForwards: From: 显示名<sip: 用户地址编码@源联网单元域名或IP地址> ;tag=BK32B1U8DKDrB
To: 显示名<sip: 摄像机地址编码@目的联网单元域名或IP地址>
CallID:
CSeq: INVITE
Contenttype: Application/DDCP
ContentLength: 消息实体的字节长度
<?xml version="1.0"?>
<Action>
<Variable>RealMedia</Variable>
<Privilege>权限功能码</Privilege>
<Format>4CIF CIF QCIF</Format>
<Video>H. MPEG</Video>
<Audio>G.</Audio>
<MaxBitrate></MaxBitrate>
<ReceiveSocket> 210.98.45.234 UDP </ ReceiveSocket >
</Action>
F2:
Via: SIP/2.0/UDP 源联网单元域名或IP地址
MaxForwards:
From: 显示名<sip: 摄像机地址编码@目的联网单元域名或IP地址> ;tag=BK32B1U8DKDrB
To: 显示名<sip:用户地址编码@源联网单元域名或IP地址>
CallID:
CSeq: INVITE
F3:
Via: SIP/2.0/UDP 源联网单元域名或IP地址
MaxForwards:
From: 显示名<sip: 摄像机地址编码@目的联网单元域名或IP地址> ;tag=BK32B1U8DKDrB
To: 显示名<sip:用户地址编码@源联网单元域名或IP地址>
CallID:
CSeq: INVITE
Contenttype: Application/DDCP
ContentLength: 消息实体的字节长度
<?xml version="1.0"?>
<Response>
<Variable>RealMedia</Variable>
<Format>CIF</Format>
<Video>H.</Video>
<Audio>G.</Audio>
<Bitrate></Bitrate>
</Response>
或者:
Via: SIP/2.0/UDP 源联网单元域名或IP地址
MaxForwards:
From: 显示名<sip: 摄像机地址编码@目的联网单元域名或IP地址> ;tag=BK32B1U8DKDrB To: 显示名<sip:用户地址编码@源联网单元域名或IP地址>
CallID:
CSeq: INVITE
F4:ACK sip: 摄像机的地址编码@目的联网单元域名或IP地址 SIP/2.0
Via: SIP/2.0/UDP 源联网单元域名或IP地址
MaxForwards:
From: 显示名<sip:用户地址编码@源联网单元域名或IP地址> ;tag=BK32B1U8DKDrB
To: 显示名<sip: 摄像机地址编码@目的联网单元域名或IP地址>
CallID:
CSeq: ACK
F5:BYE sip:摄像机的地址编码@目的联网单元域名或IP地址SIP/2.0
Via: SIP/2.0/TCP 源联网单元域名或IP地址
MaxForwards:
From: 显示名<sip:用户地址编码@源联网单元域名或IP地址> ;tag=BK32B1U8DKDrB
To: 显示名<sip: 摄像机地址编码@目的联网单元域名或IP地址>
CallID:
CSeq: BYE
ContentLength:
F6:
Via: SIP/2.0/TCP 源联网单元域名或IP地址
MaxForwards:
From: 显示名<sip:摄像机地址编码@目的联网单元域名或IP地址> ;tag=BK32B1U8DKDrB
To: 显示名<sip:用户地址编码@源联网单元域名或IP地址>
CallID:
CSeq: BYE
ContentLength:
历史图像的获取:
a) 历史图像的传输过程包括枚举文件列表、文件名点播、时间段点播、点播释放、点播控制等。通过网络浏览历史图像和通过网络备份历史图像使用相同的报文。
1) 枚举文件列表
应使用方法DO枚举一个指定地址摄像机的历史图像文件列表。
2) 点播历史流
应使用RFC 3261中定义的方法INVITE点播一个指定地址摄像机的一个历史图像文件,可按照文件名或者时间段的方式进行。取消没有完成的点播连接应采用CANCEL方法。
3) 点播释放
应使用RFC 3261中定义的方法BYE停止点播一个指定地址摄像机的历史图像,并释放相关资源。点播释放请求的Call-ID应和点播获取请求的Call-ID相同。
4) 点播控制
应使用RTSP协议对正在播放的一个指定地址摄像机的历史图像进行控制,控制内容包括正常速度播放、暂停、继续、快放、慢放、改变进度、停止等。
b) 历史图像的获取回放过程的主要流程如下:
1) 当源联网单元欲以文件名方式获取历史图像时,应先获取指定地址摄像机的历史图像文件列表。源联网单元可向目的联网单元发送DO消息,在DO消息的消息体中应含权限
功能码 (Privilege) 、 文件类型 (FileType) 、 最多支持接收的文件的个数 (MaxFileNum) 、开始时间(BeginTime)、结束时间(EndTime)等;
2) 目的联网单元收到DO消息后应回送是否同意发送文件列表的响应消息。在同意发送文件列表的200 OK响应消息中应包含枚举后获取的文件个数(RealFileNum)、文件信息
列表(FileInfolist),每项文件信息列表应包含文件的显示名(Name)、文件的创建时间(Creationtim)、文件的最后访问时间(Lastaccesstime)、文件的最后修改时间
(Lastwritetime)、文件长度(Filesize);
3) 源联网单元向目的联网单元发送INVITE请求,可以文件名或者时间段方式获取历史图像。在INVITE请求的消息体中应包含权限功能码(Privilege)、文件类型(FileType)、
开始时间(BeginTime)和结束时间(EndTime)或文件名(FileName)、允许占用的最大带宽(MaxBitrate)等;
4) 目的联网单元收到INVITE请求后,在回送成功或失败的应答消息前如需一定的处理时间,可发送临时响应消息100 Tring;
5) 目的联网单元应将同意或拒绝的消息返回给该源联网单元;
6) 源联网单元在发送ACK消息之前如欲取消本操作, 可向目的联网单元发送CANCEL请求消息;
7) 源联网单元收到目的联网单元的同意确认消息200 OK,应向目的联网单元发送ACK消息;
8) 目的联网单元收到源联网单元发送的ACK消息后,可向源联网单元发送实时监控视频流;
9) 源联网单元向目的联网单元发送符合RFC2326的RTSP控制命令, 对历史图像的回放过程进行控制;
9) 源联网单元欲释放实时流时,向目的联网单元发送BYE请求消息;
10) 目的联网单元收到BYE请求消息后,回送200 OK同意释放消息。

消息示例:
F1:DO sip:摄像机的地址编码@目的联网单元域名或IP地址 SIP/2.0
Via: SIP/2.0/TCP 源联网单元域名或IP地址
MaxForwards:
From: 显示名<sip:用户地址编码@源联网单元域名或IP地址> ;tag=BK32B1U8DKDrB
To: 显示名<sip: 摄像机的地址编码@目的联网单元域名或IP地址>
CallID:
CSeq: DO
Contenttype: Application/DDCP
ContentLength: 消息实体的字节长度
<?xml version="1.0"?>
<Action>
<Query>
<Variable>FileList</Variable>
<Privilege>权限功能码</Privilege>
< FileType ></ FileType >
<MaxFileNum></MaxFileNum>
<BeginTime>10T13::</BeginTime>
<EndTime>10T13::</EndTime>
</Query>
</Action>
F2:
Via: SIP/2.0/TCP 源联网单元域名或IP地址
From: 显示名<sip:摄像机地址编码@目的联网单元域名或IP地址> ;tag=BK32B1U8DKDrB
To: 显示名<sip: 用户地址编码@源联网单元域名或IP地址>
CallID:
CSeq: DO
Contenttype: Application/DDCP
ContentLength: 消息实体的字节长度
<?xml version="1.0"?>
<Response>
<QueryResponse>
<Variable>FileList</Variable>
<Result></Result>
<RealFileNum></RealFileNum>
<SendFileNum></SendFileNum>
<FileInfolist>
<item>
<name>xiaoshan_20051101001.mp4</name>
<creationtime>10T13::</creationtime>
<lastaccesstime>10T13::</lastaccesstime>
<lastwritetime>10T13::</lastwritetime>
<filesize></filesize>
</item>
<item>
<name>xiaoshan_20051101002.mp4</name>
<creationtime>10T13::</creationtime>
<lastaccesstime>10T13::</lastaccesstime>
<lastwritetime>10T13::</lastwritetime>
<filesize></filesize>
</item>
……
</FileInfolist>
</QueryResponse>
</Response >
或:
Via: SIP/2.0/TCP 源联网单元域名或IP地址
From: 显示名<sip:摄像机地址编码@目的联网单元域名或IP地址> ;tag=BK32B1U8DKDrB
To: 显示名<sip: 用户地址编码@源联网单元域名或IP地址>
CallID:
CSeq: DO F3:INVITE sip:摄像机的地址编码@目的联网单元域名或IP地址 SIP/2.0
Via: SIP/2.0/UDP 源联网单元域名或IP地址
MaxForwards:
From: 显示名<sip:用户地址编码@源联网单元域名或IP地址> ;tag=BK32B1U8DKDrB
To: 显示名<sip: 摄像机的地址编码@目的联网单元域名或IP地址>
CallID:
CSeq: INVITE
Contenttype: Application/DDCP
ContentLength: 消息实体的字节长度
<?xml version="1.0"?>
<Action>
<Variable>VODByRTSP</Variable>
<Privilege>权限功能码</Privilege>
<FileType></FileType>
<BeginTime>10T13::</BeginTime>
<EndTime>10T13::</EndTime>
<MaxBitrate></MaxBitrate>
</Action>
F4:
Via: SIP/2.0/UDP 源联网单元域名或IP地址
From: 显示名<sip:摄像机地址编码@目的联网单元域名或IP地址> ;tag=BK32B1U8DKDrB
To: 显示名<sip:用户地址编码@源联网单元域名或IP地址>
CallID:
CSeq: INVITE
Contenttype: Application/DDCP
ContentLength: 消息实体的字节长度
<?xml version="1.0"?>
<Response>
<Variable>VODByRTSP</Variable>
<Result></Result>
<Bitrate></Bitrate>
</Response >
或:
Via: SIP/2.0/UDP 源联网单元域名或IP地址
From: 显示名<sip:摄像机地址编码@目的联网单元域名或IP地址> ;tag=BK32B1U8DKDrB
To: 显示名<sip:用户地址编码@源联网单元域名或IP地址>
CallID:
CSeq: INVITE
F5:ACK sip: 摄像机的地址编码@目的联网单元域名或IP地址 SIP/2.0
Via: SIP/2.0/UDP 源联网单元域名或IP地址
MaxForwards:
From: 显示名<sip:用户地址编码@源联网单元域名或IP地址> ;tag=BK32B1U8DKDrB
To: 显示名<sip: 摄像机的地址编码@目的联网单元域名或IP地址>
CallID:
CSeq: ACK
F6:符合RFC2326的RTSP控制命令
F7:BYE sip:摄像机的地址编码@目的联网单元域名或IP地址 SIP/2.0
Via: SIP/2.0/TCP 源联网单元域名或IP地址
MaxForwards:
From: 显示名<sip:用户地址编码@源联网单元域名或IP地址> ;tag=BK32B1U8DKDrB
To: 显示名<sip: 摄像机的地址编码@目的联网单元域名或IP地址>
CallID:
CSeq: BYE
Contenttype: Application/DDCP
ContentLength:
F8:
Via: SIP/2.0/TCP 源联网单元域名或IP地址
From: 显示名<sip:摄像机地址编码@目的联网单元域名或IP地址> ;tag=BK32B1U8DKDrB
To: 显示名<sip:用户地址编码@源联网单元域名或IP地址>
CallID:
CSeq: BYE
Contenttype: Application/DDCP
ContentLength:
SIP DB33标准笔记 监控图像获取的更多相关文章
- SIP DB33标准笔记 注册/目录发送/心跳
SIP协议扩展中: 在 RFC 3261 基础上定义了一个新方法 DO.方法 DO 的功能包括:控制对方动作.更新对方信息.查询对方状态.历史监控资料查询和回放等.发送方法 DO 的请求报文时,不会创 ...
- sip (db33)信令交互-视频点播与回播
请求视频流: INVITE sip:@ SIP/2.0 Via: SIP/;rport;branch=z9hG4bK178329191 From: <sip:@>;tag= To: < ...
- SIP协议栈基础笔记
//------------------SIP基础------------------------// SIP是基于UDP的协议 UA(user Agent)用户代理 UAC(client)发起SIP ...
- zabbix4.2学习笔记--监控tomcat
zabbix提供了一个java gateway的应用去监控jmx(Java Management Extensions,即Java管理扩展)是一个为应用程序.设备.系统等植入管理功能的框架 环境 主机 ...
- zabbix4.2学习笔记--监控nginx
图解一个客户端连接开源版本的Nginx情况 Accepts(接受).Handled(已处理).Requests(请求数)是一直在增加的计数器.Active(活跃).Waiting(等待).Readin ...
- cassandra权威指南读书笔记--监控&维护
cassandra SLF4J API记录日志,具体采用Logback实现.在终端启动cassandra时,可以向程序输入-f,就能在终端看到这个输出.Java Mangement Extension ...
- Kafka笔记--监控系统KafkaOffsetMonitor
KafkaOffsetMonitor下载链接: http://download.csdn.net/detail/changong28/7930337github官方:https://github.co ...
- MongoDB学习笔记~监控Http请求的消息链
在微服务架构里,你的一个任务可以需要经过多次中转,去多个接口获取数据,而在这个过程中,出现问题后的解决就成了一个大难点,你无法定位它的问题,这时,大叔的分布式消息树就出现了,费话不多说,主要看一下实现 ...
- Zabbix监控系统深度实践
Zabbix监控系统深度实践(企业级分布式系统自动化运维必选利器,大规模Zabbix集群实战经验技巧总结,由浅入深全面讲解配置.设计.案例和内部原理) 姚仁捷 著 ISBN 978-7-121-24 ...
随机推荐
- 某电商网站线上drbd+heartbeat+nfs配置
1.环境 nfs1.test.com 10.1.1.1 nfs2.test.com 10.1.1.2 2.drbd配置 安装drbd yum -y install gcc gcc-c++ make g ...
- 1339 / 1163: [Baltic2008]Mafia
1163: [Baltic2008]Mafia Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 96 Solved: 60[Submit][Statu ...
- Python中闭包、装饰器的概念
1.闭包(Closure)的概念: 内部函数中对enclosing作用域的变量进行引用 1 passline = 60 2 def func(val): 3 print('%x' % id(val)) ...
- 使用git克隆指定分支的代码
今天想学习一下开源中国Android客户端的app源码,源码的Git地址:http://git.oschina.net/oschina/android-app,如下图所示: 由于Master主分支上没 ...
- 搭建ftp服务器实现文件共享
FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务. FTP(File Transfer Protocol ...
- JavaScript数据结构——链表的实现
前面楼主分别讨论了数据结构栈与队列的实现,当时所用的数据结构都是用的数组来进行实现,但是数组有的时候并不是最佳的数据结构,比如在数组中新增删除元素的时候需要将其他元素进行移动,而在javascript ...
- 分享一些自己写的前端库,并骗骗 star(库都是在实际项目中大量运用过的)
最近一两年在一些项目上,通过实际需求出发,编写了一些库在项目中使用,现在将这些项目都稍微整理了一下开源了出来,也许也有刚好能够你也用得上的,顺便也骗一下star.均在项目的README中加了相关的说明 ...
- yii2.0框架where条件的使用
在yii框架中,where条件的使用多种多样,下面就和大家介绍几种常用有效的使用方法 1. ['type' => 1, 'status' => 2] //等于 (type = 1) AND ...
- IOS开发创建开发证书及发布App应用(二)——创建证书
2. 创建证书 证书分为两种,一种是开发者证书,主要是用来真机调试的 另一种就是发布证书,就是用来发布应用的, 最好是两种都要下载,不然编译时候可能报错,我猜想可能苹果怕你没用真机调试 创建证书分为两 ...
- win7下nsis打包exe安装程序教程
下载软件包: NSIS中文版 :https://pan.baidu.com/s/1mitSQU0 装好之后会出现两个软件:Nullsoft Install System 和 VNISEdit 编译环境 ...