基于RTSP协议的设备控制及通道限制方法、装置及系统
技术领域
本发明涉及通信技术领域,尤其涉及基于RTSP协议的设备控制及通道限制方法、装置及系统。
背景技术
在视频监控系统中,通常使用RTSP协议(Real Time Streaming Protocol,实时流媒体协议)进行监控视频播放,但同时也需要在调看视频时对视频监控设备进行相关控制操作,一般都是采用另外建立一个控制通信通道进行设备的控制操作,这种方式缺点需要额外建立通信通道占有用户终端、服务端及网络设备的系统资源,同时建立通信通道浪费时间成本。
在视频监控系统中,播放监控视频占有的网络带宽资源很大,很多时候会遇到网络资源带宽不足,无法同时播放过多视频,负责会造成网络阻塞视频卡顿同时可能影响到其他业务数据通信;因此需要在视频监控系统中对网络资源进行控制优化。
发明内容
本发明的目的是提供一种基于RTSP协议的设备控制及通道限制方法、装置及系统,旨在解决现有的视频监控系统播放监控视频时需要额外建立通信通道、所占用网络带宽资源较大的问题。
本发明解决其技术问题所采用的技术方案是:
一种基于RTSP协议的设备控制及通道限制方法,包括:
限制步骤:
接收用户终端发送的打开视频的RTSP请求;
生成用于获取媒体信息的DESCRIBE请求;
获取预定视频通道数和已使用视频通道数;
根据预定视频通道数和已使用视频通道数,判定通道使用情况;
当通道使用情况为无通道数限制时,选择任一路视频通道作为第一视频通道,向第一视频通道发送DESCRIBE请求,进入响应步骤:
当通道使用情况为有通道数限制但通道未用完时,选择任一路未使用的视频通道作为第一视频通道,向第一视频通道发送DESCRIBE请求,进入响应步骤;
当通道使用情况为有通道数限制且通道被用完时,获取已打开视频通道列表,通过用户终端选择已打开视频通道列表中的一路视频通道作为第一视频通道,向第一视频通道发送DESCRIBE请求,进入响应步骤;
响应步骤:
响应DESCRIBE请求,获取第一视频通道上正在播放的视频的媒体信息并发送到用户终端;
接收用户终端发送的SETUP请求,并根据SETUP请求,设置第一视频通道的媒体通信参数;
接收用户终端发送的PLAY请求,向用户终端传输第一视频通道的视频信息;
设备控制步骤:
接收用户终端发送的包含设备控制命令的SET_PARAMETER请求,并根据设备控制命令,对视频监控设备进行控制;
切换步骤:
接收用户终端发送的包含第二视频通道的SET_PARAMETER请求,向用户终端传输第二视频通道的视频信息;
关闭步骤:
接收用户终端发送的关闭视频的RTSP TEARDOWN请求;
停止向用户终端传输视频信息。
在上述实施例的基础上,进一步地,所述接收用户终端发送的打开视频的RTSP请求的步骤后,还包括:
向用户终端发送HTTP摘要认证的提示信息;
接收用户终端发送的身份认证信息。
在上述任意实施例的基础上,进一步地,所述切换步骤后,还包括:
通知步骤:
向用户终端发送媒体信息变更的ANNOUNCE通知消息。
在上述任意实施例的基础上,进一步地,设备控制命令包括摄像机云台控制命令、编解码参数控制命令、输入输出报警控制命令、设备基础参数控制命令中的一种或多种。
一种基于RTSP协议的设备控制及通道限制装置,包括:
限制模块,用于:
接收用户终端发送的打开视频的RTSP请求;
生成用于获取媒体信息的DESCRIBE请求;
获取预定视频通道数和已使用视频通道数;
根据预定视频通道数和已使用视频通道数,判定通道使用情况;
当通道使用情况为无通道数限制时,选择任一路视频通道作为第一视频通道,向第一视频通道发送DESCRIBE请求:
当通道使用情况为有通道数限制但通道未用完时,选择任一路未使用的视频通道作为第一视频通道,向第一视频通道发送DESCRIBE请求;
当通道使用情况为有通道数限制且通道被用完时,获取已打开视频通道列表,通过用户终端选择已打开视频通道列表中的一路视频通道作为第一视频通道,向第一视频通道发送DESCRIBE请求;
响应模块,用于:
响应DESCRIBE请求,获取第一视频通道上正在播放的视频的媒体信息并发送到用户终端;
接收用户终端发送的SETUP请求,并根据SETUP请求,设置第一视频通道的媒体通信参数;
接收用户终端发送的PLAY请求,向用户终端传输第一视频通道的视频信息;
设备控制模块,用于:
接收用户终端发送的包含设备控制命令的SET_PARAMETER请求,并根据设备控制命令,对视频监控设备进行控制;
切换模块,用于:
接收用户终端发送的包含第二视频通道的SET_PARAMETER请求,向用户终端传输第二视频通道的视频信息;
关闭模块,用于:
接收用户终端发送的关闭视频的RTSP TEARDOWN请求;
停止向用户终端传输视频信息。
在上述实施例的基础上,进一步地,所述限制模块还用于:
在接收用户终端发送的打开视频的RTSP请求后,向用户终端发送HTTP摘要认证的提示信息;
接收用户终端发送的身份认证信息。
在上述任意实施例的基础上,进一步地,还包括:
通知模块,用于:
向用户终端发送媒体信息变更的ANNOUNCE通知消息。
在上述任意实施例的基础上,进一步地,设备控制命令包括摄像机云台控制命令、编解码参数控制命令、输入输出报警控制命令、设备基础参数控制命令中的一种或多种。
一种基于RTSP协议的设备控制及通道限制系统,包括:
上述任一项实施例中的基于RTSP协议的设备控制及通道限制装置;
用户终端,用于向所述装置发送设备控制命令,实现用户对视频监控设备的控制,以及向用户提供媒体信息、视频信息;
视频监控设备,用于在设备控制命令的控制下,向所述装置提供媒体信息、视频信息。
在上述实施例的基础上,进一步地,视频监控设备包括摄像机、DVR/NVR、编码器、解码器。
本发明的有益效果是:
本发明提供了一种基于RTSP协议的设备控制及通道限制方法、装置及系统,在一个RTSP会话中实现对视频监控设备的控制,无需再次建立会话连接,而是利用播放视频时已经建立的RTSP信令通道传输控制命令,提高视频监控设备的控制命令发送效率速度,使设备控制快速高效,节约资源与时间;另一方面,利用视频通道数的限制方法并结合RTSP实现通道限制、通道切换控制,在有限网络带宽资源下限制打开通道数,避免网络阻塞,使视频播放更流畅。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1示出了本发明实施例提供的一种基于RTSP协议的设备控制及通道限制方法的流程图;
图2示出了本发明实施例提供的一种基于RTSP协议的设备控制及通道限制装置的结构示意图;
图3示出了本发明实施例提供的一种基于RTSP协议的设备控制及通道限制系统的结构示意图;
图4示出了本发明实施例提供的一种基于RTSP协议的设备控制及通道限制系统的工作原理图。
具体实施方式
基于《RFC2326》的关于RTSP协议的描述与定义,专利中涉及到的DESCRIBE、SET_PARAMETER、ANNOUNCE等方法消息都为公开的协议消息定义,本发明的改进点在于基于RTSP方法的扩展组合使用以及添加的扩展RTSP头部域等为实现基于RTSP的设备控制与视频通道控制的方法、装置及系统。
本发明所述的由于网络带宽资源不足、需做通道限制的位置,位于基于RTSP协议的设备控制及通道限制装置与前端视频监控设备之间,通道限制控制的是所述装置至视频监控设备之间的网络带宽资源。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不限定本发明。
具体实施例一
如图1和图4所示,本发明实施例提供了一种基于RTSP协议的设备控制及通道限制方法,包括以下各步骤。
限制步骤S101:接收用户终端发送的打开视频的RTSP请求;生成用于获取媒体信息的DESCRIBE请求;获取预定视频通道数和已使用视频通道数;根据预定视频通道数和已使用视频通道数,判定通道使用情况;当通道使用情况为无通道数限制时,选择任一路视频通道作为第一视频通道,向第一视频通道发送DESCRIBE请求,进入响应步骤:当通道使用情况为有通道数限制但通道未用完时,选择任一路未使用的视频通道作为第一视频通道,向第一视频通道发送DESCRIBE请求,进入响应步骤;当通道使用情况为有通道数限制且通道被用完时,获取已打开视频通道列表,通过用户终端选择已打开视频通道列表中的一路视频通道作为第一视频通道,向第一视频通道发送DESCRIBE请求,进入响应步骤。在用户终端发送DESCRIBE请求时,根据通道数限制及通道使用情况,如果通道已经被使用完,可以返回“563VnmpFullChannel Error”并添加扩展RTSP头部域VnmpFullCameraID携带内部通道已经打开的视频列表信息返回;当是前两种情况,通道有剩余或没有设置通道限制时,按照正常RTSP协议,直接响应DESCRIBE请求返回视频监控点名称及相关媒体信息;如果出现第三种情况,则返回“563VnmpFullChannel Error”并添加扩展RTSP头部域VnmpFullCameraID携带内部通道已经打开的视频列表信息返回,用户终端得到错误反馈后,可以重新在已打开的视频列表中选择一路视频通道,因为该路视频已经在某个通道上被打开,因此流媒体服务器会启动复制转发模式,不再需要占有通道,服务器返回响应DESCRIBE请求返回的真实的媒体信息。
响应步骤S102:响应DESCRIBE请求,获取第一视频通道上正在播放的视频的媒体信息并发送到用户终端;接收用户终端发送的SETUP请求,并根据SETUP请求,设置第一视频通道的媒体通信参数;接收用户终端发送的PLAY请求,向用户终端传输第一视频通道的视频信息。本发明实施例中,所述视频信息可以包括视频数据和音频数据,用户终端接收音视频数据后解码播放。本发明实施例对媒体信息不做限定,优选的,所述媒体信息可以为SDP消息,所述SDP消息包含真实视频名称及会话描述信息。
设备控制步骤S103:接收用户终端发送的包含设备控制命令的SET_PARAMETER请求,并根据设备控制命令,对视频监控设备进行控制。
切换步骤S104:接收用户终端发送的包含第二视频通道的SET_PARAMETER请求,向用户终端传输第二视频通道的视频信息。用户终端可以根据需求使用SET_PARAMETER请求发送视频通道切换控制命令,系统将根据用户终端的用户权限级别进行相应操作,当用户终端的用户权限级别达到预先设定的用户权限级别阈值时,将当前播放的监控视频图像切换为与SET_PARAMETER请求相应的其他视频通道的监控视频图像。
关闭步骤S105:接收用户终端发送的关闭视频的RTSP TEARDOWN请求;停止向用户终端传输视频信息。用户终端根据需求发出TEARDOWN请求,关闭RTSP会话连接,终止数据传输,视频监控点播业务结束。
本发明实施例在一个RTSP会话中实现对视频监控设备的控制,无需再次建立会话连接,而是利用播放视频时已经建立的RTSP信令通道传输控制命令,提高视频监控设备的控制命令发送效率速度,使设备控制快速高效,节约资源与时间;另一方面,利用视频通道数的限制方法并结合RTSP实现通道限制、通道切换控制,在有限网络带宽资源下限制打开通道数,避免网络阻塞,使视频播放更流畅。
优选的,本发明实施例在所述接收用户终端发送的打开视频的RTSP请求的步骤后,还可以包括:向用户终端发送HTTP摘要认证的提示信息;接收用户终端发送的身份认证信息。在用户终端发送DESCRIBE请求获取媒体信息时,可以返回需要HTTP摘要认证的提示信息,以获取用户的身份认证信息,在用户终端携带身份认证信息继续发送DESCRIBE请求后获取媒体信息,这样做的好处是,提高了安全性。
优选的,本发明实施例在所述切换步骤S104后,还可以包括:通知步骤:向用户终端发送媒体信息变更的ANNOUNCE通知消息。当某个高权限的用户终端发送切换视频SET_PARAMETER请求,当前正在观看的监控视频图像通道被该高权限用户终端切换为其他监控点的视频图像时,可以使用ANNOUNCE方法向所有在该视频通道打开视频的用户终端发送媒体变更的ANNOUNCE通知消息,这样做的好处是,用户终端会收到变更后的监控图像名称及媒体信息。
本发明实施例对设备控制命令不做限定,优选的,设备控制命令可以包括摄像机云台控制命令、编解码参数控制命令、输入输出报警控制命令、设备基础参数控制命令中的一种或多种,分别用于实现对视频监控设备的摄像机云台控制、编解码参数控制、输入输出报警控制、设备基础参数控制。
本发明实施例对设备控制步骤S103不做限定,优选的,在同一个RTSP会话内使用SET_PARAMETER方法对视频监控设备进行控制时,可以采用流水化串行化一次批量发送多个设备控制命令。这样做的好处是,不必等待系统响应,可快速高效进行视频监控设备控制,尤其适用于摄像机云台控制命令。
在上述的具体实施例一中,提供了一种基于RTSP协议的设备控制及通道限制方法,与之相对应的,本申请还提供一种基于RTSP协议的设备控制及通道限制装置。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
具体实施例二
如图2和图4所示,本发明实施例提供了一种基于RTSP协议的设备控制及通道限制装置,包括以下各部分。
限制模块201,用于:接收用户终端发送的打开视频的RTSP请求;生成用于获取媒体信息的DESCRIBE请求;获取预定视频通道数和已使用视频通道数;根据预定视频通道数和已使用视频通道数,判定通道使用情况;当通道使用情况为无通道数限制时,选择任一路视频通道作为第一视频通道,向第一视频通道发送DESCRIBE请求:当通道使用情况为有通道数限制但通道未用完时,选择任一路未使用的视频通道作为第一视频通道,向第一视频通道发送DESCRIBE请求;当通道使用情况为有通道数限制且通道被用完时,获取已打开视频通道列表,通过用户终端选择已打开视频通道列表中的一路视频通道作为第一视频通道,向第一视频通道发送DESCRIBE请求。
响应模块202,用于:响应DESCRIBE请求,获取第一视频通道上正在播放的视频的媒体信息并发送到用户终端;接收用户终端发送的SETUP请求,并根据SETUP请求,设置第一视频通道的媒体通信参数;接收用户终端发送的PLAY请求,向用户终端传输第一视频通道的视频信息。
设备控制模块203,用于:接收用户终端发送的包含设备控制命令的SET_PARAMETER请求,并根据设备控制命令,对视频监控设备进行控制。
切换模块204,用于:接收用户终端发送的包含第二视频通道的SET_PARAMETER请求,向用户终端传输第二视频通道的视频信息。
关闭模块205,用于:接收用户终端发送的关闭视频的RTSP TEARDOWN请求;停止向用户终端传输视频信息。
本发明实施例在一个RTSP会话中实现对视频监控设备的控制,无需再次建立会话连接,而是利用播放视频时已经建立的RTSP信令通道传输控制命令,提高视频监控设备的控制命令发送效率速度,使设备控制快速高效,节约资源与时间;另一方面,利用视频通道数的限制方法并结合RTSP实现通道限制、通道切换控制,在有限网络带宽资源下限制打开通道数,避免网络阻塞,使视频播放更流畅。
优选的,本发明实施例中,所述限制模块201还可以用于:在接收用户终端发送的打开视频的RTSP请求后,向用户终端发送HTTP摘要认证的提示信息;接收用户终端发送的身份认证信息。在用户终端发送DESCRIBE请求获取媒体信息时,可以返回需要HTTP摘要认证的提示信息,以获取用户的身份认证信息,在用户终端携带身份认证信息继续发送DESCRIBE请求后获取媒体信息,这样做的好处是,提高了安全性。
优选的,本发明实施例还可以包括:通知模块,用于:向用户终端发送媒体信息变更的ANNOUNCE通知消息。当某个高权限的用户终端发送切换视频SET_PARAMETER请求,当前正在观看的监控视频图像通道被该高权限用户终端切换为其他监控点的视频图像时,可以使用ANNOUNCE方法向所有在该视频通道打开视频的用户终端发送媒体变更的ANNOUNCE通知消息,这样做的好处是,用户终端会收到变更后的监控图像名称及媒体信息。
本发明实施例对设备控制命令不做限定,优选的,设备控制命令可以包括摄像机云台控制命令、编解码参数控制命令、输入输出报警控制命令、设备基础参数控制命令中的一种或多种,分别用于实现对视频监控设备的摄像机云台控制、编解码参数控制、输入输出报警控制、设备基础参数控制。
本发明实施例对设备控制模块203不做限定,优选的,在同一个RTSP会话内使用SET_PARAMETER方法对视频监控设备进行控制时,用户终端可以采用流水化串行化一次批量发送多个设备控制命令到本装置。这样做的好处是,不必等待本装置响应,可快速高效进行视频监控设备控制,尤其适用于摄像机云台控制命令。
具体实施例三
如图3和图4所示,本发明实施例提供了一种基于RTSP协议的设备控制及通道限制系统,包括以下各组件:具体实施例二中任一项实施例所述的基于RTSP协议的设备控制及通道限制装置301;用户终端302,用于向所述装置301发送设备控制命令,实现用户对视频监控设备303的控制,以及向用户提供媒体信息、视频信息;视频监控设备303,用于在设备控制命令的控制下,向所述装置301提供媒体信息、视频信息。
本发明实施例在一个RTSP会话中实现对视频监控设备的控制,无需再次建立会话连接,而是利用播放视频时已经建立的RTSP信令通道传输控制命令,提高视频监控设备的控制命令发送效率速度,使设备控制快速高效,节约资源与时间;另一方面,利用视频通道数的限制方法并结合RTSP实现通道限制、通道切换控制,在有限网络带宽资源下限制打开通道数,避免网络阻塞,使视频播放更流畅。
本发明实施例对装置301不做限定,优选的,其可以为流媒体服务器。
本发明实施例对用户终端302不做限定,只要该用户终端支持RTSP协议即可。
本发明实施例对用户终端302和装置301之间的连接方式不做限定,当装置301为流媒体服务器时,用户终端302可以通过TCP协议与装置301建立TCP连接会话通道。用户终端302可以向装置301发送OPTIONS请求以获取装置301的支持,装置301响应并且返回响应消息。装置301接收到DESCRIBE,立即返回401错误,向用户终端302要求HTTP摘要认证。用户终端302加入包含用户名、密码的认证消息,继续向装置301发送DESCRIBE方法请求,装置301验证通过用户终端301的DESCRIBE请求。
本发明实施例对视频监控设备303不做限定,优选的,视频监控设备303可以包括摄像机、DVR/NVR、编码器、解码器。
具体实施例四
为进一步说明基于RTSP实现设备控制与视频通道控制方法、装置及系统,以下为相关的部分的通信协议样例:
返回通道被占满时响应消息样例:
RTSP/1.0 563 VnmpFullChannel Error
CSeq:7549
Date:Mon,Dec 12 2016 01:17:50 GMT
VnmpFullCameraID:104101005;104101002;
成功获取到SDP的响应消息样例:
v=0
o=-1481505470 2963010940IN IP4 10.37.0.16
s=VNMPMS2013
i=江阴大桥(G2)K1059+961南塔中横梁(上行)&104101005
t=0 0
a=tool:VNMPMS2013
a=range:npt=0- 0.00000
m=video 0 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;
a=framerate:25.00
a=control:track1
用户终端发送SET_PARAMETER方法命令的切换消息样例:
SET_PARAMETER rtsp://10.37.0.16:561/104101005RTSP/1.0
CSeq:325
Session:12396B3E
VnmpControl:CMD=43;Parameter1=104101005;Parameter2=104101006User-Agent:VNMPNetSDK V1.0 01 1989
得到ANNOUNCE消息通知用户终端媒体变更消息样例:
ANNOUNCE rtsp://127.0.0.1/RTSP/1.0
CSeq:328
Date:Mon,Dec 12 2016 01:18:50GMT
Session:12396B3E
Content-Type:application/sdp
Content-Length:286
v=0
o=-1481505470 2963010940 IN IP4 10.37.0.16
s=VNMPMS2013
i=江阴大桥(G2)K1059+972南塔中横梁(下行)&104101005
t=0 0
a=tool:VNMPMS2013
a=range:npt=0- 0.00000
m=video 0 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;
a=framerate:25.00
a=control:track1
用户终端使用SET_PARAMETER方法发送设备控制消息样例:
SET_PARAMETER rtsp://10.37.0.16:561/104101006RTSP/1.0
CSeq:331
Session:12396B3E
VnmpControl:CMD=3;Parameter1=4;Parameter2=0
User-Agent:VNMPNetSDK V1.0 01 1989
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。尽管本发明已进行了一定程度的描述,明显地,在不脱离本发明的精神和范围的条件下,可进行各个条件的适当变化。可以理解,本发明不限于所述实施方案,而归于权利要求的范围,其包括所述每个因素的等同替换。