背景技术
图1为现有视频监控系统的结构示意图。如图1所示,视频客户端1(VC1)、VC2通过视频服务管理器(VM)点播编码器1(EC1)、EC2、EC3和EC4的实况,具体可参见图2给出的VC点播EC单播流量的工作流程,如图2所示,该流程是以VC1请求EC单播流量为例来说明的,且该流程主要包括两个阶段、即步骤201-206的开始实况和步骤207-210的停止实况,具体可包括以下步骤:
步骤201:VC向VM发送通用管理协议请求(GMP Request)报文,以请求点播EC1实况。
步骤202:VM向EC1发送Setup报文,要求EC1打开实况。
步骤203:EC1向VM返回OK报文后,打开实况,并将实况流发送出去。
步骤204:VM接收到EC1发出的OK报文后,向VC发送建立(Setup)报文,要求VC打开相应的端口以接收EC1发出的实况流。
步骤205:VC打开端口后,向VM返回OK报文。
步骤206:VM接收到VC发送的OK报文后,向VC返回GMP响应报文。
至此,即完成了VC开始实况EC1的工作流程,此时,VC开始接收由EC1发出的音视频数据的实况流。
步骤207:当VC1停止接收EC1实况时,向VM发送GMP Request报文,以请求停止EC1实况。
步骤208:VM向EC1发送释放(Release)报文,请求EC1关闭实况;同时,向VC发送Release报文,请求VC关闭端口。
步骤209:EC1向VM返回OK报文后,关闭实况;同时,VC也向VM返回OK报文,并关闭端口。
步骤210:VM接收到OK报文后,向VC返回GMP响应报文。
至此,即完成了VC停止实况EC1的工作流程。
在完成了EC1实况点播后,即可进行EC2、EC3、EC4实况的点播,当VC点播EC2、EC3、EC4实况时,具体流程同上,这里不再赘述。
通过上述分析可以看出,现有VC在点播EC单播流量时,每一次在不同的EC单播流量切换时,都需要有VM打开实况并关闭实况的过程,而这两个过程会有协议交互和流量引入的时间消耗,从而使得实况切换时存在比较明显的时间间隔,导致实况响应速度过慢。
发明内容
有鉴于此,本发明提供了一种视频监控中的点播方法,不仅能够加快实况切换时的速度,而且实现简单。
本发明还提供了一种视频监控中的交换设备设备,不仅能够加快实况切换时的速度,而且实现简单。
为了达到上述目的,本发明提出的技术方案为:
一种视频监控中的点播方法,应用于视频客户端VC轮切点播编码器EC单播流量,该方法包括:
在首轮轮切播放中,在由VC分别向视频服务管理器VM请求每个EC单播流量、并由VM分别指示每个EC发送永久单播流量的交互过程后,交换机根据交互过程记录每个EC单播流量对应的流量表项,所述流量表项包括对应EC的源IP地址SIP、目的IP地址DIP、交换机连接VC端的物理端口和轮切间隔,所述轮切间隔为每轮播放对应EC单播流量的播放时长;
在后续轮切播放中,交换机直接根据每个流量表项中的轮切间隔将每个EC单播流量轮流发送给VC。
在首轮轮切播放中,对于每一个EC,所述交互过程包括:
由VM接收VC发送的请求点播EC单播流量的报文后,向EC发送指示EC打开并永久发送单播流量的报文;
由VM接收到EC返回的报文后,向VC发送带有轮切指示的报文,要求VC打开一个用户数据包协议UDP端口以接收该EC单播流量;
由VM接收VC发送的请求停止EC单播流量的报文后,向VC发送释放EC单播流量的报文以便VC停止接收EC单播流量,并由VC记录接收该VC单播流量的UDP端口。
所述交换机根据交互过程记录每个EC单播流量对应的流量表项包括:
交换机监听VM向VC发送的带有轮切指示的报文,根据该报文记录EC单播流量的SIP、DIP、物理端口、该EC单播流量到来的时间点T1;
交换机监听VC向VM发送的请求停止EC单播流量的报文后,记录该时间点T2;
交换机计算轮切间隔TEC=T2-T1后,记录包含有所述对应EC的SIP、DIP、交换机连接VC端的物理端口和轮切间隔的流量表项。
在后续轮切播放中,当交换机直接根据每个流量表项中的轮切间隔将每个EC单播流量轮流发送给VC之前,该方法进一步包括:
由VM接收VC发送的请求点播EC单播流量的报文后,向VC回应报文,以便VC接收交换机轮流发送的EC单播流量。
该方法进一步包括:
当VC停止轮切点播EC单播流量时,由VM接收VC发送的带有轮切指示的报文,并将其发送给每一个EC,以指示EC停止永久发送单播流量。
一种视频监控中的交换设备,应用于视频客户端VC轮切点播编码器EC单播流量,该交换设备包括:记录单元和控制单元,其中,
所述记录单元,用于在首轮轮切播放中,在由VC分别向视频服务管理器VM请求每个EC单播流量、并由VM分别指示每个EC发送永久单播流量的交互过程后,根据交互过程记录每个EC单播流量对应的流量表项,所述流量表项包括对应EC的源IP地址SIP、目的IP地址DIP、交换机连接VC端的物理端口和轮切间隔,所述轮切间隔为每轮播放对应EC单播流量的播放时长;
所述控制单元,用于在后续轮切播放中,直接根据每个记录单元中记录的流量表项中的轮切间隔将每个EC单播流量轮流发送给VC。
在首轮轮切播放中,对于每一个EC,所述交互过程包括:
由VM接收VC发送的请求点播EC单播流量的报文后,向EC发送指示EC打开并永久发送单播流量的报文;
由VM接收到EC返回的报文后,向VC发送带有轮切指示的报文,要求VC打开一个用户数据包协议UDP端口以接收该EC单播流量;
由VM接收VC发送的请求停止EC单播流量的报文后,向VC发送释放EC单播流量的报文以便VC停止接收EC单播流量,并由VC记录接收该VC单播流量的UDP端口。
所述记录单元包括:
第一记录子单元,用于监听VM向VC发送的带有轮切指示的报文,根据该报文记录EC单播流量的SIP、DIP、物理端口、该EC单播流量到来的时间点T1;
第二记录子单元,用于监听VC向VM发送的请求停止EC单播流量的报文后,记录该时间点T2;
第三记录子单元,用于计算轮切间隔TEC=T2-T1后,记录包含有所述对应EC的SIP、DIP、交换机连接VC端的物理端口和轮切间隔的流量表项。
所述控制单元,用于由VM接收VC发送的请求点播EC单播流量的报文后,监听到VM向VC发送的回应报文时,直接根据每个流量表项中的轮切间隔将每个EC单播流量轮流发送给VC。
该交换设备还包括停止单元,用于当VC停止轮切点播EC单播流量时,将VC发送的带有轮切指示的报文发送给VM,使得VM将所述带有轮切指示的报文发送给每一个EC,以指示EC停止永久发送单播流量。
综上所述,本发明所采用的视频监控中的点播方法和交换设备,是通过在首轮轮切播放中的交互过程中,由交换机记录每个EC单播流量对应的流量表项,从而使得在后续轮切播放中,交换机能够直接根据记录的每个流量表项中的轮切间隔将每个EC单播流量轮流发送给VC。由于本发明方法是通过由交换机对每个EC的流量表项进行记录,从而使得VC在轮切点播EC时,无需再进行额外的交互工作,而是直接由交换机根据记录的每个流量表项中的轮切间隔将每个EC单播流量轮流发送给VC,因而不仅能够实现无缝切换,加快实况切换时的速度,而且实现简单。
具体实施方式
为了解决现有技术中存在的问题,本发明提出了一种视频监控中的点播方法和交换设备,本发明所述方案的具体实现包括:
在首轮轮切播放中,在由VC分别向VM请求每个EC单播流量、并由VM分别指示每个EC发送永久单播流量的交互过程后,交换机根据交互过程记录每个EC单播流量对应的流量表项,所述流量表项包括对应EC的SIP、DIP、交换机连接VC端的物理端口和轮切间隔,所述轮切间隔为每轮播放对应EC单播流量的播放时长;在后续轮切播放中,交换机直接根据每个流量表项中的轮切间隔将每个EC单播流量轮流发送给VC。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
图3为本发明VC轮切点播EC单播流量的工作流程图,如图3所示,该流程也包括开始实况和停止实况两个阶段,其中,步骤301-306为开始实况阶段;步骤307-308为停止实况阶段,且步骤301-308为对一个EC(这里采用的是EC1为例进行说明的)进行首轮点播的过程,步骤309-310为对EC进行后续轮切播放的过程。
其中,步骤301-308执行的是:由VC分别向视频服务管理器VM请求每个EC单播流量、并由VM分别指示每个EC发送永久单播流量的交互过程,交换机根据交互过程记录每个EC单播流量对应的流量表项,所述流量表项包括对应EC的源IP地址SIP、目的IP地址DIP、交换机连接VC端的物理端口和轮切间隔,所述轮切间隔为每轮播放对应EC单播流量的播放时长,具体可包括以下步骤:
步骤301:VC向VM发送请求点播EC1单播流量的报文。
在本步骤中,VC向VM发送GMP Request报文,以请求点播EC1单播流量。
需要说明的是,当用户需要查看EC1单播流量时,是通过VC向EC1进行点播的,且VC中保存了用户需要查看的EC1的信息,当查看EC1的信息时,需要向该EC发送请求点播的报文。
步骤302:VM向EC1发送报文,以指示EC1打开并永久发送单播流量。
在本步骤中,VM向EC1发送的是VMP Setup报文。
需要说明的是,在本步骤中,VM向EC1发送的VMP Setup报文中加入一个特定标志位,用于指示EC1永久发送单播流量,相应的,VM向EC1发送的VMP Release报文中也需要添加该标志位,用于指示EC1停止该单播流量的发送,否则该单播流量不会停止。
步骤303:EC1向VM返回报文后,打开实况,并将EC1单播流量发送出去。
在本步骤中,EC1向VM返回的是OK报文。
步骤304:VM接收到EC1发出的报文后,向VC发送带有轮切指示的报文,要求VC打开相应的用户数据包协议(UDP)端口以接收EC1发出的单播流量,并由最靠近VC的交换机记录该实况的源IP地址、目的IP地址、交换机连接VC端的物理端口和时间T1。
VM接收到EC1发出的OK报文后,向VC发送的是带有轮切指示的Setup报文。
在本步骤中,带有轮切指示的Setup报文也是通过在Setup报文中添加新的标志位来实现的,具体如何在Setup报文中添加新的标志位添加可以采用多种方式,以不影响本发明实施例的实现为准。
需要说明的是,当EC1-EC4到VC的单播流量变成永久发送后,需要避免串流,也就需要对这四条单播流量进行控制,即在最靠近VC的交换机(S5)上每次只允许一条单播流量转发到VC上,因此,对于不同的EC单播流量,需要由VC采用不同的UDP端口接收,即需要VC记录接收该EC单播流量的UDP端口。
当S5监听到带有轮切指示的Setup报文时,即可得知EC1发送给VC的实况方式为轮切,根据该Setup报文中携带的信息记录到来的单播流量的源IP地址SIP1、目的IP地址DIP1、物理端口;同时,S5监听匹配该转发表项的单播流量,记录下该单播流量到来的时间点T1。
还需说明的是,VC在收到带有轮切指示的Setup报文之后,后续与VM交互的VMP或GMP报文都带有该轮切指示。
步骤305:VC打开UDP端口后,向VM返回确认报文。
在本步骤中,确认报文是通过OK报文发送的。
步骤306:VM接收到VC发送的确认报文后,向VC返回GMP响应报文。
至此,即完成了VC开始实况EC1的工作流程,此时,VC通过打开的UDP端口开始接收由EC1发出的音视频数据的实况流。
步骤307:当VC停止接收EC1单播流量时,向VM发送请求报文,以请求停止接收EC1单播流量,并由最靠近VC的交换机记录时间T2,得到TEC1=T2-T1。
在本步骤中,VC向VM发送的是GMP请求报文。
在本步骤中,当最靠近VC的交换机S5监听到带有轮切指示的请求释放实况的GMP Request报文时,记录下该时间点T2,并计算轮切间隔TEC1=T2-T1,将TEC1加入流量表项,记录包含有所述对应EC的SIP、DIP、交换机连接VC端的物理端口和轮切间隔的流量表项。
步骤308:VM向VC发送报文,请求VC关闭实况,并记录接收对应EC1单播流量的UDP端口。
至此,即完成了对EC进行首轮点播的过程,之后,VC以同样的步骤,即步骤301-308的操作来请求EC2、EC3、EC4的单播流量,具体的处理过程不再赘述。
当VM和VC分别与EC1、EC2、EC3、EC4交互过一次之后,最靠近VC的交换机S5得到流量表项{{SIP1、SIP2、SIP3、SIP4},DIP1,物理端口,{TEC1、TEC2、TEC3、TEC4}}。
步骤309:VC再次请求点播EC1单播流量。
步骤310:VM直接向VC回应确认报文。
需要说明的是,当VC在后续轮切点播EC1-EC4单播流量时,由VM接收VC发送的请求点播EC单播流量的报文后,向VC回应确认报文,以便VC接收交换机轮流发送的EC单播流量。此时,最靠近VC的交换机S5监听到带有轮切指示的VM向VC返回的确认报文时,可根据记录的TEC1、TEC2、TEC3、TEC4作为计时器,将EC1-EC4单播流量轮流发送给VC,即执行分别允许EC1流量转发,禁止EC2~EC4流量转发;允许EC2流量转发,禁止EC1、EC3、EC4流量转发;允许EC3流量转发,禁止EC1、EC2、EC4流量转发;允许EC4流量转发,禁止EC1~EC3流量转发。
还需说明的是,当允许EC1流量转发时,VC打开的是之前接收EC1单播流量的UDP端口,当允许EC2流量转发时,VC打开的是之前接收EC2单播流量的UDP端口,当允许EC3流量转发时,VC打开的是之前接收EC3单播流量的UDP端口,当允许EC3流量转发时,VC打开的是之前接收EC3单播流量的UDP端口。
由于后续在VC轮切点播EC1、EC2、EC3或EC4时,无需与VM进行交互,而是直接接收由EC1、EC2、EC3或EC4发送的单播流量,因此,能够实现无缝切换,从而大大缩短切换时间。
最后,当VC停止或删除轮切点播时,VM给VC回应的报文带有指示VC恢复缺省的处理方式,同时,VM给EC1-EC4回应的Release报文中也带有轮切指示标志,由VM将其发送给每一个EC,以指示EC1-EC4停止永久单播流量发送。
至此,即完成了本实施例所采用的VC点播EC单播流量的整个工作流程。
由于本发明方法中通过引入轮切指示的标志位,也就简化了VM与EC的交互过程,使得EC不必每次都开始实况、停止实况,而是永久发送单播流量,进一步地,最靠近VC的交换机S5通过监控带有轮切指示的VMP报文,从而能够使得VC直接接收对应的EC单播流量,也就简化了切换的过程。
基于上述方法,图4给出了本发明所采用的交换设备的结构示意图。如图4所示,该交换设备包括:记录单元41和控制单元42,其中,
所述记录单元41,用于用于在首轮轮切播放中,在由VC分别向VM请求每个EC单播流量、并由VM分别指示每个EC发送永久单播流量的交互过程后,根据交互过程记录每个EC单播流量对应的流量表项,所述流量表项包括对应EC的SIP、DIP、交换机连接VC端的物理端口和轮切间隔,所述轮切间隔为每轮播放对应EC单播流量的播放时长。
其中,在首轮轮切播放中,对于每一个EC,所述交互过程包括:
由VM接收VC发送的请求点播EC单播流量的报文后,向EC发送指示EC打开并永久发送单播流量的报文;
由VM接收到EC返回的报文后,向VC发送带有轮切指示的报文,要求VC打开一个UDP端口以接收该EC单播流量;
由VM接收VC发送的请求停止EC单播流量的报文后,向VC发送释放EC单播流量的报文以便VC停止接收EC单播流量,并由VC记录接收该EC单播流量的UDP端口。
所述记录单元进一步可包括第一记录单元411、第二记录单元412和第三记录单元413,其中,
第一记录子单元411,用于监听VM向VC发送的带有轮切指示的报文,根据该报文记录EC单播流量的SIP、DIP、物理端口、该EC单播流量到来的时间点T1;
第二记录子单元412,用于监听VC向VM发送的请求停止EC单播流量的报文后,记录该时间点T2;
第三记录子单元413,用于根据第一记录子单元411记录的T1和第二记录子单元412记录的T2计算轮切间隔TEC=T2-T1后,记录包含有所述对应EC的SIP、DIP、交换机连接VC端的物理端口和轮切间隔的流量表项。
所述控制单元42,用于在后续轮切播放中,直接根据记录单元41中记录的流量表项中的轮切间隔将每个EC单播流量轮流发送给VC。
进一步地,所述控制单元42,用于由VM接收VC发送的请求点播EC单播流量的报文后,监听到VM向VC发送的回应报文时,直接根据记录单元41中记录的每个流量表项中的轮切间隔将每个EC单播流量轮流发送给VC。
进一步地,该交换设备还包括:停止单元43,用于用于当VC停止轮切点播EC单播流量时,将VC发送的带有轮切指示的报文发送给VM,使得VM将所述带有轮切指示的报文发送给每一个EC,以指示EC停止永久发送单播流量。
至此,即得到了本发明所采用的交换设备。
总之,本发明所采用的视频监控中的点播方法,通过在首轮轮切播放中的交互过程中,由交换机记录每个EC单播流量对应的流量表项,从而使得在后续轮切播放中,交换机能够直接根据记录的每个流量表项中的轮切间隔将每个EC单播流量轮流发送给VC。由于本发明方法是通过由交换机对每个EC的流量表项进行记录,从而使得VC在轮切点播EC时,无需再进行额外的交互工作,而是直接由交换机根据记录的每个流量表项中的轮切间隔将每个EC单播流量轮流发送给VC,因而不仅能够实现无缝切换,加快实况切换时的速度,而且实现简单。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。