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 ...
随机推荐
- lab1-Junit&Eclemma
Software Testing, Lab 1 March 10. 2016, by 赵国佺(3014218108) 一. environment setup Firstly, I downl ...
- 1821: [JSOI2010]Group 部落划分 Group
1821: [JSOI2010]Group 部落划分 Group Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 1308 Solved: 627[Su ...
- Java 开机启动
1.授权: <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED">< ...
- Druid连接池配置(java无框架)
连接池是一个对数据库连接进行管理的东西,当一个线程需要用 JDBC 对 数据库操作时,它从池中请求一个连接.当这个线程使用完了这个连接,将它返回到连接池中,这样这就可以被其它想使用它的线程使用,而不是 ...
- 【转载】扩展Robot Framework,实现失败用例自动再执行(失败重跑)
使用自动化脚本进行测试,经常受环境影响等各方面导致本能成功的脚本失败,下面介绍了RFS框架下,失败重跑的方法: 通过改写RobotFramework源代码增加--retry选项,实现test级别的失败 ...
- 初用Linux, 安装Ubuntu16.04+NVIDIA387+CUDA8.0+cudnn5.1+TensorFlow1.0.1
因为最近Deep Learning十分热门, 装一下TensorFlow学习一下. 本文主要介绍安装流程, 将自己遇到的问题说明出来, 并记录自己如何处理, 原理方面并没有能力解释. 由于本人之前从来 ...
- 使用shape来定义控件的一些显示属性
Android中常常使用shape来定义控件的一些显示属性,今天看了一些shape的使用,对shape有了大体的了解,稍作总结 先看下面的代码: <shape> <!-- 实心 -- ...
- SQL Server从远程服务器导入数据
语法 insert inot user select * from opendatasource('sqloledb','server=192.168.0.1;uid=sa;pwd=dbpasswor ...
- [译]Selenium Python文档:八、附录:FAQ常见问题
另外一个FAQ:https://github.com/SeleniumHQ/selenium/wiki/Frequently-Asked-Questions 8.1.怎样使用ChromeDriver ...
- Windows 10 IoT Serials 7 – 如何用树莓派制作家庭流媒体播放器
Windows 10平台引入了AllJoyn开源软件框架,它提供了一组服务可以创建动态近端网络,让设备可以相互连接实现功能交互.目前,AllJoyn开源软件框架由AllSeen联盟负责管理.AllSe ...