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 ...
随机推荐
- 【Unity优化】构建一个拒绝GC的List
版权声明:本文为博主原创文章,欢迎转载.请保留博主链接:http://blog.csdn.net/andrewfan 上篇文章<[Unity优化]Unity中究竟能不能使用foreach?> ...
- Android在未来对 Java 8 特性的支持
在谷歌, 我们总是努力做正确的事. 这意味着有时候我们会调整自己的计划. 我们深切地知道开发者社区是多少地关注 Android 能够对 Java 8 良好的支持, 并且我们正在改变自己对 Java 8 ...
- shp文件的读取
http://blog.csdn.net/q_l_s/article/details/41486813
- Ioc在重构代码中的应用
最近lz在写抓工商公式系统(http://www.gsxt.gov.cn/index.html)的爬虫,其中的难点就是在怎么过极验验证码,搞的我不要不要的!如下: 简直是各种坑,被搞的死去活来以后还是 ...
- linux系统和Windows系统共存
最近接触了linux系统,因为对linux系统一直存在一种敬畏之心,所以决定研究研究 那么今天我在这里呢是要和大家分享一下在Windows存在的情况下安装双系统linux 那么第一步呢,就是斤BIOS ...
- javascript 数组的部分常用属性用法
数组 检测数组(返回布尔类型 a. instanceof(); 检测是否是数组对象 console.log(arr instanceof Array) ; b. Array.isArray() ,H5 ...
- Linux之lsof命令
lsof是一个列出当前系统中所有打开文件的工具 lsof filename 显示打开指定文件的所有进程 lsof -c string 显示COMMAND中包含指定字符的进程的所有打开文件 ...
- Spring:利用PerformanceMonitorInterceptor来协助应用性能优化
前段时间对公司产品做性能优化,如果单依赖于测试,进度就会很慢.所以就通过对代码的方式来完成,并以此来加快项目进度.具体的执行方案自然就是要知道各个业务执行时间,针对业务来进行优化. 因为项目中使用了S ...
- WEB开发性能优化--核心定义介绍篇(1)
推荐理由 随着 互联网的蓬勃发展,并且伴随着产品功能的越来越复杂,对于技术人员来说最大的挑战就是如何在保证业务快速发展的同时,也可保证不断复杂的业务对用户体验的影响,其中对用户来说最重要的体验指标是如 ...
- Synchronized的用法
synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码 ...