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 ...
随机推荐
- java线程学习(二)
多个线程并发抢占资源是,就会存在线程并发问题,造成实际资源与预期不符合的情况.这个时候需要设置"资源互斥". 1.创建资源,这个地方我创建了一个资源对象threadResource ...
- J2ee技术难点
J2ee技术难点 session/cookie区别联系 jsp/servlet区别联系 filter执行流程 openSessionInView原理 clone与servilizable区别联系 eq ...
- JS入门(二)
关于运算符: js中判断运算符跟数学的运算符基本差不多,就是大于>,小于<,大于等于>=,小于等于<=,等于==,不等于!=,全等于===:可以看出来,跟我们印象中的判断运算符 ...
- 20ms Ac Code
Rectangle Aread C Code #include <stdio.h> int computeArea(int A,int B,int C,int D,int E,int F, ...
- Git-多人协作
声明: 此文参考廖雪峰老师的官方网站知识总结http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017 ...
- Jackson注解学习参考(转)
转:http://wong-john.iteye.com/blog/1753402 以下内容摘录.翻译自https://github.com/FasterXML/jackson-annotations ...
- (转)Linux core 文件介绍与处理
1. core文件的简单介绍 在一个程序崩溃时,它一般会在指定目录下生成一个core文件.core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的. 2. 开启或关闭core文件的生成用以 ...
- 走入PHP-变量、运算符
通过define()定义常量: PHP 5.3.0之后,可以使用const关键字在类定义之外定义常量: 下面是PHP的几个魔术变量: PHP支持一个执行运算符:反引号(``),PHP将尝试将反引号中的 ...
- yii2发送邮件(配置QQ版本)
1:首先在配置文件main-local.php components=>[]里面配置 'mailer' => [ 'class' => 'yii\swift ...
- mariadb 长链接时间限制导致队列消费进程崩溃
项目是一个数据同步项目,线下Android客户端把本地sqllite数据提交到云端队列,php做守护进程消费队列,以同步数据.初测没有问题,可是时不时出现诡异的崩溃,因为设置了错误邮件报警,发现错误代 ...