本发明涉及客户端显示技术领域,特别是涉及一种视频预览方法、装置及电子设备。
背景技术:
随着安防技术的不断发展,视频监控系统以其直观、方便、信息内容丰富而广泛应用于许多场合,例如,车站、机场等公共交通枢纽,库房、研发实验室等企业重点部门等。
同时,视频监控系统中的视频采集设备的性能也得到了快速发展。当前,一台视频采集设备可以同时存在多个视频通道,由于视频通道是视频传输的抽象媒介,且一个视频通道对应一路视频画面,因此,可以通过一台视频采集设备生成多路视频数据,并通过客户端对多路视频数据进行可视化预览。
相关技术中,客户端对视频采集设备生成的多路视频数据进行可视化预览的方法是:客户端的页面中设置有窗口列表,且窗口列表中所包括的窗口的数量与视频采集设备的视频通道数量相同,每一窗口用来显示一路视频数据对应的视频画面;进而,客户端从视频采集设备处获取每一视频通道生成的视频数据,解码得到视频画面,并通过对应的窗口显示。
显然,在上述相关技术中,客户端需要一次性获取和加载视频采集设备中所有视频通道生成的视频数据,从而占用较多的内存。
技术实现要素:
本发明实施例的目的在于提供一种视频预览方法、装置及电子设备,以实现减少客户端对视频采集设备生成的多路视频数据进行可视化预览时所消耗的内存。具体技术方案如下:
第一方面,本发明实施例提供了一种视频预览方法,应用于客户端,所述方法包括:
获得所述客户端视口区域对应的预设标定对象的当前位置与起始位置之间的移动位移;其中,所述视口区域用于显示预设窗口列表中的部分窗口;
基于所述移动位移,确定所述预设窗口列表中与所述视口区域存在重叠区域的各个目标窗口,并基于所述移动位移,确定所述各个目标窗口对应的视频通道编号;
在所述各个目标窗口中预览该目标窗口所对应视频通道编号对应的视频通道传输的视频数据。
可选的,一种具体实现方式中,所述基于所述移动位移,确定所述预设窗口列表中与所述视口区域存在重叠区域的各个目标窗口的步骤,包括:
基于所述移动位移,确定基准窗口在预定坐标系中的位置信息;其中,所述基准窗口为:所述预设窗口列表中与所述视口区域存在重叠区域的各个目标窗口中的起始目标窗口;
基于窗口尺寸和所述位置信息,确定所述预设窗口列表区域中与所述视口区域存在重叠区域的且除所述基准窗口以外的各个目标窗口。
可选的,一种具体实现方式中,所述基于所述移动位移,确定基准窗口在预定坐标系中的位置信息的步骤,包括:
基于所述移动位移与所述预设标定对象的总位移之间的比值,以及预设的视频通道总数,确定基准窗口在预定坐标系中的位置信息;
其中,所述总位移为:所述预设标定对象的起始位置与终止位置之间的移动位移。
可选的,一种具体实现方式中,所述视口区域存在滚动条;所述视口区域对应的预设标定对象为所述滚动条上的滑块;所述移动位移为:所述滑块在所述滚动条上的当前位置与起始位置之间的滚动步进;
所述基于所述移动位移与所述预设标定对象的总位移之间的比值,以及预设的视频通道总数,确定基准窗口在预定坐标系中的位置信息的步骤,包括:
利用预设的位置信息计算公式,计算基准窗口在预定坐标系中的位置信息;其中,所述位置信息计算公式为:
s0=-((t/t)*(m*h2)%h2)
其中,s0为所述基准窗口在预定坐标系中的位置信息,t为所述滚动步进,t为所述滑块在所述滚动条上的起始位置与终止位置之间的总步进,m为所述视频通道总数,h2为所述窗口尺寸,%表示当(t/t)*(m*h2)不能被h2整除时,取余数,t是m的n倍,所述预设窗口列表中的每一窗口对应步进为所述n个步进,n≥1。
可选的,一种具体实现方式中,所述基于窗口尺寸和所述位置信息,确定所述预设窗口列表区域中与所述视口区域存在重叠区域的且除所述基准窗口以外的各个目标窗口的步骤,包括:
按照各个窗口在所述预设窗口列表中的排位,确定所述预设窗口列表中排列在所述基准窗口之后的各个候选窗口;
针对每一候选窗口,按照该候选窗口和所述基准窗口之间的排位差值和所述窗口尺寸,计算该候选窗口与所述基准窗口之间的距离值,并基于计算得到的距离值,计算该候选窗口在所述预定坐标系中的位置信息;
针对每一候选窗口,当该候选窗口在所述预定坐标系中的位置信息表征该候选窗口与所述视口区域存在重叠区域时,确定该候选窗口为目标窗口。
可选的,一种具体实现方式中,所述基于所述移动位移,确定所述各个目标窗口对应的视频通道编号的步骤,包括:
基于所述移动位移,确定基准窗口对应的视频通道编号;其中,所述基准窗口为:所述预设窗口列表中与所述视口区域存在重叠区域的各个目标窗口中的起始目标窗口;
针对各个目标窗口中除所述基准窗口以外的每一窗口,基于所述基准窗口对应的视频通道编号,以及该窗口在各个目标窗口的排序,确定该窗口对应的视频通道编号。
可选的,一种具体实现方式中,所述视口区域存在滚动条;所述视口区域对应的预设标定对象为所述滚动条上的滑块;所述移动位移为:所述滑块在所述滚动条上的当前位置与起始位置之间的滚动步进;
所述基于所述移动位移,确定基准窗口对应的视频通道编号的步骤,包括:
利用预设的通道计算公式,计算基准窗口对应的视频通道编号;其中,所述通道计算公式为:
c0=(t/t)*(m*h2)/h2+1
其中,c0为所述基准窗口对应的视频通道编号,t为所述滚动步进,t为所述滑块在所述滚动条上的起始位置与终止位置之间的总步进,m为所述视频通道总数,h2为所述窗口尺寸,/表示当(t/t)*(m*h2)不能被h2整除时,取商值的整数部分,t是m的n倍,所述预设窗口列表中的每一窗口对应步进为所述n个步进,n≥1。
可选的,一种具体实现方式中,所述基于所述基准窗口对应的视频通道编号,以及该窗口在各个目标窗口的排序,确定该窗口对应的视频通道编号的步骤,包括:
利用预设的编号计算公式,计算该窗口对应的视频通道编号;其中,所述编号计算公式为:
ci=c0+(i-1)
其中,ci是各个目标窗口中第i个窗口对应的视频通道编号,c0为所述基准窗口对应的视频通道编号,i>1。
第二方面,本发明实施例提供了一种视频预览装置,应用于客户端,所述装置包括:
位移获取模块,用于获得所述客户端视口区域对应的预设标定对象的当前位置与起始位置之间的移动位移;其中,所述视口区域用于显示预设窗口列表中的部分窗口;
信息确定模块,用于基于所述移动位移,确定所述预设窗口列表中与所述视口区域存在重叠区域的各个目标窗口,并基于所述移动位移,确定所述各个目标窗口对应的视频通道编号;
视频浏览模块,用于在所述各个目标窗口中预览该目标窗口所对应视频通道编号对应的视频通道传输的视频数据。
可选的,一种具体实现方式中,所述信息确定模块包括:
位置信息确定子模块,用于基于所述移动位移,确定基准窗口在预定坐标系中的位置信息;其中,所述基准窗口为:所述预设窗口列表中与所述视口区域存在重叠区域的各个目标窗口中的起始目标窗口;
目标窗口确定子模块,用于基于窗口尺寸和所述位置信息,确定所述预设窗口列表区域中与所述视口区域存在重叠区域的且除所述基准窗口以外的各个目标窗口。
可选的,一种具体实现方式中,所述位置信息确定子模块包括位置信息确定单元;
所述位置信息确定单元,用于基于所述移动位移与所述预设标定对象的总位移之间的比值,以及预设的视频通道总数,确定基准窗口在预定坐标系中的位置信息;其中,所述总位移为:所述预设标定对象的起始位置与终止位置之间的移动位移。
可选的,一种具体实现方式中,所述视口区域存在滚动条;所述视口区域对应的预设标定对象为所述滚动条上的滑块;所述移动位移为:所述滑块在所述滚动条上的当前位置与起始位置之间的滚动步进;
所述位置信息确定单元,具体用于利用预设的位置信息计算公式,计算基准窗口在预定坐标系中的位置信息;其中,所述位置信息计算公式为:
s0=-((t/t)*(m*h2)%h2)
其中,s0为所述基准窗口在预定坐标系中的位置信息,t为所述滚动步进,t为所述滑块在所述滚动条上的起始位置与终止位置之间的总步进,m为所述视频通道总数,h2为所述窗口尺寸,%表示当(t/t)*(m*h2)不能被h2整除时,取余数,t是m的n倍,所述预设窗口列表中的每一窗口对应步进为所述n个步进,n≥1。
可选的,一种具体实现方式中,所述目标窗口确定子模块具体用于:
按照各个窗口在所述预设窗口列表中的排位,确定所述预设窗口列表中排列在所述基准窗口之后的各个候选窗口;针对每一候选窗口,按照该候选窗口和所述基准窗口之间的排位差值和所述窗口尺寸,计算该候选窗口与所述基准窗口之间的距离值,并基于计算得到的距离值,计算该候选窗口在所述预定坐标系中的位置信息;针对每一候选窗口,当该候选窗口在所述预定坐标系中的位置信息表征该候选窗口与所述视口区域存在重叠区域时,确定该候选窗口为目标窗口。
可选的,一种具体实现方式中,所述信息确定模块包括:
第一编号确定子模块,用于基于所述移动位移,确定基准窗口对应的视频通道编号;其中,所述基准窗口为:所述预设窗口列表中与所述视口区域存在重叠区域的各个目标窗口中的起始目标窗口;
第二编号确定子模块,用于针对各个目标窗口中除所述基准窗口以外的每一窗口,基于所述基准窗口对应的视频通道编号,以及该窗口在各个目标窗口的排序,确定该窗口对应的视频通道编号。
可选的,一种具体实现方式中,所述视口区域存在滚动条;所述视口区域对应的预设标定对象为所述滚动条上的滑块;所述移动位移为:所述滑块在所述滚动条上的当前位置与起始位置之间的滚动步进;
所述第一编号确定子模块,具体用于利用预设的通道计算公式,计算基准窗口对应的视频通道编号;其中,所述通道计算公式为:
c0=(t/t)*(m*h2)/h2+1
其中,c0为所述基准窗口对应的视频通道编号,t为所述滚动步进,t为所述滑块在所述滚动条上的起始位置与终止位置之间的总步进,m为所述视频通道总数,h2为所述窗口尺寸,/表示当(t/t)*(m*h2)不能被h2整除时,取商值的整数部分,t是m的n倍,所述预设窗口列表中的每一窗口对应步进为所述n个步进,n≥1。
可选的,一种具体实现方式中,所述第二编号确定子模块,具体用于利用预设的编号计算公式,计算该窗口对应的视频通道编号;其中,所述编号计算公式为:
ci=c0+(i-1)
其中,ci是各个目标窗口中第i个窗口对应的视频通道编号,c0为所述基准窗口对应的视频通道编号,i>1。
第三方面,本发明实施例提供了一种电子设备,所述电子设备安装有客户端,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面提供的任一视频预览方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面提供的任一视频预览方法的步骤。
以上可见,应用本发明实施例提供的方案,可以根据视口区域对应的预设标定对象的当前位置与起始位置之间的移动位移,确定预设窗口列表中与视口区域存在重叠区域的各个目标窗口,以及各个目标窗口对应的视频通道编号,即可以根据上述移动位移,确定视口区域所能够展示的各个目标窗口,以及各个目标窗口对应的视频通道。进而,便可以在各个目标窗口中预览该目标窗口对应的视频通道传输的视频数据,从而实现对该视频通道传输的视频数据的可视化预览。
可见,应用本发明实施例,在对各个视频通道传输的视频数据进行可视化预览时,根据视口区域对应的预设标定对象的移动,视口区域所展示的各个目标窗口所对应的视频通道是可变的,因此,可以通过移动上述预设标定对象,对各个视频通道传输的视频数据进行可视化预览。而进一步的,由于视口区域中包括的窗口的数量是有限的,因此,在每次通过上述各个目标窗口对所对应的视频通道传输的视频数据进行可视化预览时,客户端只需要获取和加载上述各个目标窗口所对应的视频通道传输的视频数据,而不需要一次性获取全部视频通道传输的视频数据,从而可以减少客户端对视频采集设备生成的多路视频数据进行可视化预览时所消耗的内存。
进一步的,通过移动上述预设标定对象对各个视频通道传输的视频数据进行可视化预览,则在每次移动上述预设标定对象时,上述各个目标窗口中所显示的视频画面是异步刷新的,从而使得视频画面切换无延时,且无卡顿,提升了用户的体验。此外,由于是通过移动上述预设标定对象来调整视口区域所包括的各个目标窗口,并根据述预设标定对象的移动位移调整上述各个目标窗口所对应的视频通道,因此,可以通过预设窗口列表中展示的较少数量的目标窗口来实现对较多数量的视频通道传输的视频数据进行可视化预览。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种客户端页面中的视口区域的示意图;
图2为本发明实施例提供的一种视频预览方法的流程示意图;
图3为图2中步骤s202中,基于移动位移,确定预设窗口列表中与视口区域存在重叠区域的各个目标窗口的一种具体实现方式的流程示意图;
图4为图3中步骤s302的一种具体实现方式的流程示意图;
图5为图2中步骤s202中,基于移动位移,确定各个目标窗口对应的视频通道编号的一种具体实现方式的流程示意图;
图6为本发明实施例提供的一种视频预览装置的结构示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在相关技术中,客户端对视频采集设备生成的多路视频数据进行可视化预览时,需要一次性获取和加载视频采集设备中所有视频通道生成的视频数据,从而占用较多的内存。为了解决上述技术问题,本发明实施例提供了一种视频预览方法。
其中,所谓预览是指:客户端从视频采集设备的某一个视频通道获取视频数据并对所获取的视频数据进行解码,从而在该客户端中的指定窗口位置播放显示该视频通道对应的视频画面。
下面,首先对本发明实施例提供的一种视频预览方法进行介绍。
图2为本发明实施例提供的一种视频预览方法的流程示意图。其中,该方法可以应用于任一需要进行视频预览的客户端,且该客户端可以是在其他客户端中添加了用于视频预览的插件后得到的具有新功能的客户端,也可以是专门用来进行视频预览的客户端,这都是合理的。此外,该客户端可以安装于任一需要进行视频预览的电子设备中,例如,手机、笔记本电脑、台式电脑等,这也都是合理的。为了描述简便,在本发明实施例中,以下简称客户端。
进一步的,该客户端所在电子设备可以与具有多个视频通道的视频采集设备通信连接,例如,该电子设备可以与具有多个视频通道的监控设备通信连接。这样,客户端便可以获取视频采集设备中某个或某几个视频通道生成的视频数据,并对这些视频数据进行解码得到视频画面,从而通过预设的窗口对上述某个或某几个视频通道生成的视频数据进行可视化预览。
此外,该客户端中可以设置有包括多个窗口的预设窗口列表,且该预设窗口列表中的每个窗口用于对一个视频通道传输的视频数据进行预览。其中,可以将上述预设窗口列表中所有窗口构成的区域称作场景区域。
相应的,该客户端页面中可以设置有视口区域,所谓视口区域是指该区域中所包括的至少一个窗口中所显示的视频画面是用户可见的。具体的,该视口区域中可以显示有上述预设窗口列表中的部分数量的窗口,且各个窗口是按列或者按行排列的。而由于视口区域中的每个窗口可以显示有该窗口对应的视频通道传输的视频数据所对应的视频画面,因此,用户可以看到视口区域中的每个窗口显示的视频画面。显然,视口区域中所显示的各个窗口是预设窗口列表中与视口区域存在重叠区域的各个目标窗口。
此外,上述视口区域对应有预设标定对象,当该预设标定对象移动时,视口区域中所显示的各个窗口可以按照与该预设标定对象的移动方向相反或相同的方向进行移动,从而实现上述预设窗口列表中的各个窗口在视口区域中循环展示。这样,在移动上述该预设标定对象时,用户便可以在视口区域中看到上述预设窗口列表中的不同窗口所显示的视频画面,其中,每一窗口所显示的视频画面为:该窗口对应的视频通道传输的视频数据所对应的视频画面。
例如,当视口区域中可以存在滚动条,则视口区域对应的预设标定对象即为该滚动条上的滑块;进而,当滚动该滑块时,视口区域中所显示的各个窗口将按照与该滑块的滑动方向相反的方向进行移动。
其中,当按照从起始位置指向终止位置的方向移动上述预设标定对象时,最先移出视口区域的窗口可以被称为视口区域中的基准窗口。显然,该基准窗口为预设窗口列表中与视口区域存在重叠区域的各个窗口中的起始窗口。
例如,如图1所示,假设客户端所设置有的窗口列表中包括5个窗口列表,客户端页面中的视口区域可以显示3个窗口。则图1中的101表示客户端的场景区域,102表示客户端页面中的视口区域。此外,当视口区域102对应的预设标定对象的起始位置指向终止位置的方向为由上指向下时,则图1中的窗口2为视口区域102中的基准窗口。
进一步的,视口区域所能显示的窗口的数量是基于视口区域的区域尺寸和上述预设窗口列表中各个窗口的尺寸确定的。具体的:视口区域所能显示的窗口的数量是基于视口区域中与预设标定对象的位移线路平行的边的长度,以及各个窗口中与预设标定对象的位移线路平行的边的长度确定的。
例如,当视口区域中可以存在滚动条,则视口区域对应的预设标定对象即为该滚动条上的滑块,进而,视口区域所能显示的窗口的数量是基于视口区域中与滚动条平行的边的长度,以及各个窗口中与滚动条平行的边的长度确定的。
进一步的,当视口区域中所显示的各个窗口是按列排列的,则视口区域所能显示的窗口的数量是基于视口区域的高度和各个窗口的高度确定的。
具体的,假设视口区域的高度为h1,各个窗口的高度为h2,视口区域中所能显示的窗口的最大数量用h表示,则由于视口区域中所显示的窗口可以是不完全显示的窗口,因此,h=h1/h2+1。其中,当h1不能被h2整除时,取h1/h2的计算结果的整数部分。
例如,假设h1=400px(pictureelement,像素),h2=150px,则h=400/150+1=3。
当视口区域中所显示的窗口是按行排列的,则视口区域所能显示的窗口的数量是基于视口区域的宽度和各个窗口的宽度确定的。
具体的,假设视口区域的宽度为w1,各个窗口的宽度为w2,视口区域中所能显示的窗口的最大数量用h表示,则由于视口区域中所显示的窗口可以是不完全显示的窗口,因此,h=w1/w2+1。其中,当w1不能被w2整除时,取w1/w2的计算结果的整数部分。
进而,可以理解的,为了保证在每次移动上述预设标定对象时,视口区域中窗口移动的流畅性,避免出现视口区域中出现不显示窗口的空白区域,则上述预设窗口列表中所包括的窗口的数量应该不小于上述所确定的视口区域中所显示的窗口的最大数量。
优选的,预设窗口列表中所包括的窗口的数量可以不小于h+1。
如图2所示,本发明实施例提供的一种视频预览方法可以包括如下步骤:
s201:获得客户端视口区域对应的预设标定对象的当前位置与起始位置之间的移动位移;
其中,视口区域用于显示预设窗口列表中的部分窗口;
在本发明实施例中,预先为视口区域设置有对应的预设标定对象。其中,当该预设对象位于起始位置时,该视口区域处于初始状态。此时,视口区域中可以展示预设窗口列表中,被设定为最先在视口区域中显示的h个窗口,并且,从视口区域中的基准窗口开始,视口区域中所显示的h个窗口可以依次对应于预设的m个视频通道编号中,排序在第1位至第h位的视频通道编号。相应的,当该预设对象位于终止位置时,该视口区域处于终止状态。此时,视口区域中所显示的h个窗口可以依次对应于预设的m个视频通道编号中,排序在第m-h+1位至第m位的视频通道编号。
进而,当该预设标定对象移动时,视口区域中所显示的各个窗口可以随之进行移动。进而,在预设标定对象的移动完成后,预设标定对象移动前,视口区域中所显示的各个窗口中的部分窗口便可以移出视口区域,即视口区域内不再能够显示该部分窗口,相应的,之前预设窗口列表中的各个窗口中未在视口区域中所显示的部分窗口可以移入视口区域,即视口区域能够显示该部分窗口。
其中,该部分窗口可以是至少包括一个完整窗口的至少一个窗口,也可以是预设标定对象移动前,视口区域的基准窗口中的的部分窗口区域。
例如,假设,当预设标定对象未发生移动时,视口区域的基准窗口是窗口列表中的第1个窗口,而当预设标定对象移动一个窗口所对应的位移后,视口区域的基准窗口将变为窗口列表中的第2个窗口。
又例如,假设,当预设标定对象未发生移动时,视口区域的基准窗口是窗口列表中的第1个窗口,而当预设标定对象移动1/2个窗口所对应的位移后,视口区域的基准窗口依然是窗口列表中的第1个窗口,但是,视口区域中只显示了该第1个窗口中的1/2个窗口区域。
再例如,假设,当预设标定对象未发生移动时,视口区域的基准窗口是窗口列表中的第1个窗口,而当预设标定对象移动3/2个窗口所对应的位移后,视口区域的基准窗口将变为窗口列表中的第2个窗口,但是,视口区域中只显示了该第2个窗口中的1/2个窗口区域。
显然,上述预设标定对象的移动与视口区域中所能够显示的各个窗口具有相关性。
基于此,在上述步骤s201中,在预定标定对象移动结束或者移动过程中,客户端可以获取该预设标定对象的当前位置与起始位置之间的移动位移。
其中,客户端可以通过多种方式执行上述步骤s201,对此,本发明实施例不做具体限定。为了行文清晰,后续将会对客户端执行上述步骤s201的具体方式进行举例说明。
s202:基于移动位移,确定预设窗口列表中与视口区域存在重叠区域的各个目标窗口,并基于移动位移,确定各个目标窗口对应的视频通道编号;
根据对上述步骤s201的介绍,当上述预设标定对象发生移动时,则视口区域中所显示的各个窗口可以发生变化,相应的,所显示的各个窗口对应的视频通道编号也可以随之发生变化。也就是说,当上述预设标定对象发生移动时,预设窗口列表中与视口区域存在重叠区域的窗口可以发生变化,相应的,该具有重叠区域的窗口对应的视频通道编号也可以随之发生变化。
基于此,客户端便可以基于上述步骤s201中所获得的移动位移,确定预设窗口列表中与视口区域存在重叠区域的各个目标窗口,进而,在确定各个目标窗口后,客户端可以进一步基于该移动位移,确定各个目标窗口对应的视频通道编号。
其中,客户端同样可以通过多种方式执行上述步骤s201,对此,本发明实施例不做具体限定。为了行文清晰,后续将会对客户端执行上述步骤s202的具体方式进行举例说明。
s203:在各个目标窗口中预览该目标窗口所对应视频通道编号对应的视频通道传输的视频数据。
在确定各个目标窗口中的每一目标窗口对应的视频通道编号后,针对各个目标窗口中的每一目标窗口,客户端便可以获取该目标窗口对应的视频通道编号所对应视频通道传输的视频数据,并对所获取的视频数据进行预览,即客户端可以对所获取到的视频数据进行解码,进而,在该目标窗口中显示解码得到的视频画面。这样,用户便可以观看到各个目标窗口中所显示的视频画面。
也就是说,在确定各个目标窗口中的每个目标窗口对应的视频通道编号后,便可以随之确定该目标窗口对应的视频通道,则该窗口将开启预览模式,从而展示该窗口对应的视频通道传输的视频数据。这样,用户便可以观看到与视口区域存在重叠区域的各个目标窗口所展示的视频画面。相对应的,上述预设窗口列表中,与视口区域不存在重叠区域的各个窗口则可以关闭预览模式。即在上述预设窗口列表中,可以只有与视口区域存在重叠区域的目标窗口处于预览模式,向用户展示视频画面。这样,可以进一步的减少内存消耗,以及减少客户端所在电子设备的处理工作。
可见,应用本发明实施例,在对各个视频通道传输的视频数据进行可视化预览时,根据视口区域对应的预设标定对象的移动,视口区域所展示的各个目标窗口所对应的视频通道是可变的,因此,可以通过移动上述预设标定对象,对各个视频通道传输的视频数据进行可视化预览。而进一步的,由于视口区域中包括的窗口的数量是有限的,因此,在每次通过上述各个目标窗口对所对应的视频通道传输的视频数据进行可视化预览时,客户端只需要获取和加载上述各个目标窗口所对应的视频通道传输的视频数据,而不需要一次性获取全部视频通道传输的视频数据,从而可以减少客户端对视频采集设备生成的多路视频数据进行可视化预览时所消耗的内存。
进一步的,通过移动上述预设标定对象对各个视频通道传输的视频数据进行可视化预览,则在每次移动上述预设标定对象时,上述各个目标窗口中所显示的视频画面是异步刷新的,从而使得视频画面切换无延时,且无卡顿,提升了用户的体验。此外,由于是通过移动上述预设标定对象来调整视口区域所包括的各个目标窗口,并根据述预设标定对象的移动位移调整上述各个目标窗口所对应的视频通道,因此,可以通过预设窗口列表中展示的较少数量的目标窗口来实现对较多数量的视频通道传输的视频数据进行可视化预览。
下面,对客户端执行上述步骤s201,获得客户端视口区域对应的预设标定对象的当前位置与起始位置之间的移动位移的具体方式进行举例说明。
可选的,一种具体实现方式中,视口区域存在滚动条,则视口区域对应的预设标定对象为该滚动条上的滑块,则客户端执行上述步骤s201的方式,可以包括如下步骤:
获得滚动条上滑块的起始位置与当前位置之间的滚动步进;
其中,滚动条的总步进为视频通道总数的n倍,一个窗口对应的步进为n个步进。
具体的,在滚动条上滑块停止滚动,或者滚动过程中,客户端可以获得该滑块在滚动条上的起始位置与当前位置之间的滚动步进。
例如,当滑块从滚动条上的起始位置开始,向终止位置滚动5个步进时,客户端所获得的滚动步进为5。进而,当滑块继续向终止位置滚动5个步进时,客户端所获得的滚动步进为10。
在本具体实现方式中,滚动条的总步进为视频通道总数的n倍,一个窗口对应的步进为n个步进,即当滚动条上的滑块滚动n个步进时,视口区域中所显示的窗口沿着与滑块滚动方向相反的方向移动一个窗口的距离。
例如,当n=2时,当滚动条上的滑块滚动一个步进时,视口区域中所显示的窗口沿着与滑块滚动方向相反的方向移动半个窗口的距离。
又例如,如图1所示,当n=2,且视口区域102的滚动条的起始位置指向终止位置的方向为由上指向下时,当滑块向下滚动两个步进时,则窗口2将向上移动并移出视口区域102,窗口3向上移动到达滑块未向下滚动两个步进时,窗口2所在的位置。此时,视口区域102的初始窗口为窗口3。
下面,对客户端执行上述步骤s202中,基于移动位移,确定预设窗口列表中与视口区域存在重叠区域的各个目标窗口的具体方式进行举例介绍。
可选的,一种具体实现方式中,如图3所示,客户端基于移动位移,确定预设窗口列表中与视口区域存在重叠区域的各个目标窗口的方式,可以包括如下步骤:
s301:基于移动位移,确定基准窗口在预定坐标系中的位置信息;
其中,基准窗口为:预设窗口列表中与视口区域存在重叠区域的各个目标窗口中的起始目标窗口;
根据对上述步骤s201的介绍,当预设标定对象移动时,上述预设窗口列表中作为视口区域的基准窗口的窗口可能发生变化,同时,该基准窗口在视口区域中的位置信息也可能发生变化。
例如,假设,当预设标定对象未发生移动时,视口区域的基准窗口是窗口列表中的第1个窗口,而当预设标定对象移动一个窗口所对应的位移后,视口区域的基准窗口将变为窗口列表中的第2个窗口。则窗口列表中作为视口区域的基准窗口的窗口发生变化,而基准窗口在视口区域中的位置信息未发生变化。
又例如,假设,当预设标定对象未发生移动时,视口区域的基准窗口是窗口列表中的第1个窗口,而当预设标定对象移动1/2个窗口所对应的位移后,视口区域的基准窗口依然是窗口列表中的第1个窗口,但是,视口区域中只显示了该第1个窗口中的1/2个窗口区域。则虽然窗口列表中作为视口区域的基准窗口的窗口未发生变化,但是基准窗口在视口区域中的位置发生了变化。
再例如,假设,当预设标定对象未发生移动时,视口区域的基准窗口是窗口列表中的第1个窗口,而当预设标定对象移动3/2个窗口所对应的位移后,视口区域的基准窗口将变为窗口列表中的第2个窗口,但是,视口区域中只显示了该第2个窗口中的1/2个窗口区域。则窗口列表中作为视口区域的基准窗口的窗口发生了变化,并且,基准窗口在视口区域中的位置信息也发生了变化。
基于此,在预设标定对象移动时,客户端可以根据预设标定对象当前位置与起始位置之间的移动位移,确定视口区域中的基准窗口在预定坐标系中的位置信息。
其中,由于基准窗口是按照从起始位置指向终止位置的方向移动上述预设标定对象时,最先移出视口区域的窗口,因此,基准窗口为预设窗口列表中与视口区域存在重叠区域的各个目标窗口中的起始目标窗口。
进一步,客户端可以通过多种方式执行上述步骤s301,对此,本发明实施例不做具体限定。
优选的,一种实施例中,客户端执行上述步骤s301的方式,可以包括如下步骤:
步骤1:基于移动位移与预设标定对象的总位移之间的比值,以及预设的视频通道总数,确定基准窗口在预定坐标系中的位置信息;
其中,总位移为:预设标定对象的起始位置与终止位置之间的移动位移。
s302:基于窗口尺寸和位置信息,确定预设窗口列表区域中与视口区域存在重叠区域的且除基准窗口以外的各个目标窗口。
由于视口区域中的基准窗口是当按照从起始位置指向终止位置的方向移动预设标定对象时,最先移出视口区域的窗口,且视口区域所显示的窗口是按行或按列排列的,因此,在执行完上述步骤s301,确定基准窗口在预定坐标系中的位置信息后,客户端便可以继续执行上述步骤s302,基于窗口尺寸和位置信息,确定预设窗口列表区域中与视口区域存在重叠区域的且除基准窗口以外的各个目标窗口。
其中,客户端可以通过多种方式执行上述步骤s302,对此,本发明实施例不做具体限定。
优选的,一种实施例中,如图4所示,客户端执行上步骤s302的方式,可以包括如下步骤:
s401:按照各个窗口在预设窗口列表中的排位,确定预设窗口列表中排列在基准窗口之后的各个候选窗口;
s402:针对每一候选窗口,按照该候选窗口和基准窗口之间的排位差值和窗口尺寸,计算该候选窗口与基准窗口之间的距离值,并基于计算得到的距离值,计算该候选窗口在预定坐标系中的位置信息;
s403:针对每一候选窗口,当该候选窗口在预定坐标系中的位置信息表征该候选窗口与视口区域存在重叠区域时,确定该候选窗口为目标窗口。
由于视口区域所显示的窗口是按列或按行排列的,且当移动上述预设标定对象时,上述预设窗口列表中的各个窗口在视口区域内可循环展示,因此,窗口列表中的各个窗口也是按列或按行排列的。这样,客户端可以确定预设窗口列表中各个窗口的排位。进而,按照该排位,客户端可以确定预设窗口列表中,排列在基准窗口之后的各个候选窗口。
基于此,针对每一候选窗口,客户端便可以确定该候选窗口与基准窗口之间的排位差和窗口尺寸,计算该候选窗口与基准窗口之间的距离值,并基于所计算得到的距离值,计算该候选窗口在预定坐标系中的位置信息。
进一步的,针对每一候选窗口,客户端可以确定计算得到的该候选窗口在预定坐标系中的位置信息是否表征该候选窗口与视口区域存在重叠区域,并在所确定的结果为是时,确定该候选窗口为目标窗口。
具体的,在计算得到该窗口在预定坐标系中的位置信息后,客户端便可以利用该位置信息确定该候选窗口在该客户端页面中所对应的区域。这样,针对每一候选窗口,客户端便可以进一步判断所确定的该候选窗口在客户端页面中对应的区域与视口区域是否存在重叠区域。显然,当上述判断结果为是时,说明该候选窗口在客户端页面中所对应的区域与视口区域存在重叠区域,即该候选窗口在预定坐标系中的位置信息表征该候选窗口与视口区域存在重叠区域,进而,客户端便可以将该候选窗口确定为目标窗口。
下面,对客户端执行上述步骤s202中,基于移动位移,确定各个目标窗口对应的视频通道编号的具体方式,进行举例说明。
可选的,一种具体实现方式中,如图5所示,客户端基于移动位移,确定各个目标窗口对应的视频通道编号的方式,可以包括如下步骤:
s501:基于移动位移,确定基准窗口对应的视频通道编号;
其中,基准窗口为:预设窗口列表中与视口区域存在重叠区域的各个目标窗口中的起始目标窗口;
s502:针对各个目标窗口中除基准窗口以外的每一窗口,基于基准窗口对应的视频通道编号,以及该窗口在各个目标窗口的排序,确定该窗口对应的视频通道编号。
由于当预设标定对象移动时,视口区域中所显示的各个窗口会发生移动,从而实现上述预设窗口列表中的各个窗口在视口区域内可循环展示,而且上述预设窗口列表中的每一窗口用于对一个视频通道传输的视频数据进行预览,因此,在本发明实施例提供的视频预览方法中,可以通过移动视口区域对应的预设标定对象对各个视频通道传输的视频数据进行可视化预览的。
也就是说,在视口区域对应的预设标定对象从起始位置移动到终止位置的过程中,视口区域中的窗口所对应的视频通道将按照视频通道的编号顺序依次发生变化,使得用户可以依次观看到到全部视频通道传输的视频数据所对应的视频画面。
例如,假设,视频通道的编码依次为c1、c2、c3……cn,窗口列表中包括5个窗口分别为w1、w2、w3、w4、w5,当视口区域对应的预设标定对象位于起始位置时,视口区域中显示有窗口w1、窗口w2和窗口w3,且预设标定对象的起始位置指向终止位置的方向为由上指向下。此时,窗口w1为视口区域的基准窗口,所对应的视频通道的编码为c1,窗口w2所对应的视频通道的编码为c2,窗口w3所对应的视频通道的编码为c3,窗口w4所对应的视频通道的编码为c4,窗口w5所对应的视频通道的编码为c5。此时,用户可以观看到到视频通道c1、c2和c3传输的视频数据对应的视频画面。
进而,当预设标定对象向下移动一个窗口对应的位移时,视口区域中的窗口w1向上移动移出视口区域并移动到窗口列表的最底部,即移动到窗口w5之后,窗口w2向上移动成为当前时刻视口区域中的基准窗口,且后续窗口依次上移,则此时视口区域中显示有窗口w2、窗口w3和窗口w4,用户可以观看到到视频通道c2、c3和c4传输的视频数据对应的视频画面。
进一步,当预设标定对象继续向下移动两个窗口对应的位移时,视口区域中的窗口w2和窗口w3向上移动移出视口区域,并移动到窗口列表的最底部,即当前窗口列表中各个窗口的排序为:窗口w4、窗口w5、窗口w1、窗口w2和窗口w3。其中,窗口w4向上移动成为当前时刻视口区域中的基准窗口,且后续窗口依次上移。由于窗口列表中仅包括5个窗口,且通过移动视口区域对应的预设标定对象,预设窗口列表中的各个窗口可以在视口区域内可循环展示,因此,此时视口区域中显示有窗口w4、窗口w5和窗口w1,用户可以观看到到视频通道c4、c5和c6传输的视频数据对应的视频画面。
基于此,在预设标定对象发生移动时,根据预设标定对象当前所在位置与起始位置之间的移动位移,是可以确定当预设标定对象移动到当前位置时,视口区域中的基准窗口对应的视频通道编号的。
这样,在执行完上述步骤s201之后,获得预设标定对象的当前位置与起始位置之间的移动位移,并确定基准窗口后,客户端便可以继续执行上述步骤s501,基于该移动位移,确定该基准窗口对应的视频通道编号。即客户端可以基于该移动位移,确定预设窗口列表中与视口区域存在重叠区域的各个目标窗口中的起始目标窗口对应的视频通道编号。
进一步的,在确定视口区域中的基准窗口对应的视频通道编号后,客户端便可以继续执行上述步骤s502,确定各个目标窗口中除基准窗口以外的每一窗口对应的视频通道编号。
具体的,由于所确定的各个目标窗口在视口区域中是按行或者按列排列的,且基准窗口是预设窗口列表中与视口区域存在重叠区域的各个目标窗口中的起始目标窗口,因此,客户端可以确定基准窗口在各个目标窗口中的排序为1,进而,客户端可以确定各个目标窗口中除基准窗口以外的每个窗口在各个目标窗口的排序。
这样,针对各个目标窗口中除基准窗口以外的每个窗口,客户端可以确定该窗口与基准窗口之间的排位差值。进一步,由于视频通道是按照一定的编号规则依次编号的,则客户端可以确定该窗口所对应的视频通道编号与基准窗口所对应的视频通道编号之间的排位差值和上述确定的该窗口与基准窗口之间的排位差值是相同的。基于此,便可以根据基准窗口对应的视频通道编号以及所确定的排位差值,确定该窗口对应的视频通道编号。
可选的,一种具体实现方式中,视口区域可以存在滚动条,则视口区域对应的预设标定对象为滚动条上的滑块,客户端在上述步骤s201中所获得的移动位移为滑块在滚动条上的当前位置与起始位置之间的滚动步进。
这样,在本具体实现方式中,客户端执行上述步骤1,基于移动位移与预设标定对象的总位移之间的比值,以及预设的视频通道总数,确定基准窗口在预定坐标系中的位置信息的方式,可以包括如下步骤:
利用预设的位置信息计算公式,计算基准窗口在预定坐标系中的位置信息;其中,位置信息计算公式为:
s0=-((t/t)*(m*h2)%h2)
其中,s0为基准窗口在预定坐标系中的位置信息,t为滚动步进,t为滑块在滚动条上的起始位置与终止位置之间的总步进,m为视频通道总数,h2为窗口尺寸,%表示当(t/t)*(m*h2)不能被h2整除时,取余数,t是m的n倍,预设窗口列表中的每一窗口对应步进为n个步进,n≥1。
其中,在本具体实现方式中,上述预设坐标系为:以视口区域与滚动条平行的边为y轴,视口区域与滚动条垂直,且距离滚动条的起始位置最近的边为x轴,所建立的坐标系,y轴的正方向为:滑块从滚动条的起始位置滚动到终止位置的移动方向;进而,视口区域所展示的任一窗口在上述预设坐标系中的位置信息为:在预设坐标系下,该窗口的目标顶点的纵坐标,且目标顶点为:当该窗口全部位于视口区域中时,距离坐标系的原点最近的顶点;
进而,在上述预设坐标系和基准窗口在该预设坐标系中的位置信息确定方式的基础上,优选的,本发明实施例提供的一种实施方式中,客户端在执行完上述步骤s401,确定预设窗口列表中排列在基准窗口之后的各个候选窗口后,可以通过如下方式确定每一候选窗口在上述预设坐标系中的位置信息:
针对每一候选窗口,客户端可以根据如下公式计算该候选窗口在上述坐标系中的位置信息:
si=s0+i*h2
其中,si为预设窗口列表中,排位在基准窗口之后的第i个候选窗口在上述预设坐标系中的位置信息,s0为基准窗口的位置信息,h2为窗口在y轴方向上的尺寸,i≥1。
此外,根据本具体实现方式中所建立的上述预设坐标系,可以确定视口区域与滚动条平行的边的两个顶点的纵坐标分别为0和h1。其中,h1为视口区域在y轴方向上的尺寸。
基于此,针对每一候选窗口,客户端可以通过如下方式判断该候选窗口与视口区域是否存在重叠区域:
确定该候选窗口的目标顶点所在的该候选窗口中平行于y轴的边,计算所确定的边上另一顶点的纵坐标;进而,判断该候选窗口的目标顶点的纵坐标和所确定的另一顶点的纵坐标是否存在至少一个纵坐标位于区间[0,h1]中,如果是,便可以判断该候选窗口与视口区域存在重叠区域。
其中,利用如下公式计算所确定的边上另一顶点的纵坐标:
si’=si+h2
其中,si’为预设窗口列表中,排列在基准窗口之后的第i个候选窗口的目标顶点所在的该窗口中平行于y轴的边上,另一顶点的纵坐标,si为预设窗口列表中,排位在基准窗口之后的第i个候选窗口在上述预设坐标系中的位置信息,h2为窗口在y轴方向上的尺寸。
具体的,一种实施例中,当视口区域所包括的窗口按列排列,且滚动条的起始位置指向终止位置的方向为由上指向下时,则针对任一窗口,可以将预设坐标系下,该窗口左上顶点的纵坐标作为该窗口的位置信息。
进而,该实施例中,上述预设坐标系的x轴可以为视口区域的上边界,y轴可以为视口区域的左边界,原点可以为视口区域的上边界和左边界的交点,且y轴的正方向是由上向下。
显然,在本实施例中,上述位置信息计算公式中的h2表征窗口的高度值,且上述h1表征视口区域的高度值。
另一种实施例中,当视口区域所包括的窗口按行排列,且滚动条的起始位置指向终止位置的方向为由左指向右时,则针对任一窗口,可以将预设坐标系下,该窗口左下顶点的纵坐标作为该窗口的位置信息。
进而,该实施例中,上述预设坐标系的x轴可以为视口区域的左边界,y轴可以为视口区域的下边界,原点可以为视口区域的左边界和下边界的交点,且y轴的正方向是由右向左。
显然,在本实施例中,上述位置信息计算公式中的h2表征窗口的宽度值,且上述h1表征视口区域的宽度值。
再一种实施例中,当视口区域所包括的窗口按行排列,且滚动条的起始位置指向终止位置的方向为由左指向右时,则针对任一窗口,可以将预设坐标下,该窗口左下顶点的横坐标作为该窗口的位置信息。
其中,在该具体实现方式中,上述预设坐标系的x轴可以为视口区域的下边界,y轴可以为视口区域的左边界,原点可以为视口区域的左边界和下边界的交点,且x轴的正方向为由左向右。
显然,在本具体实现方式中,上述位置信息计算公式中的h2表征窗口的宽度值,且上述h1表征视口区域的宽度值。
可选的,一种具体实现方式中,视口区域可以存在滚动条,则视口区域对应的预设标定对象为滚动条上的滑块,客户端在上述步骤s201中所获得的移动位移为滑块在滚动条上的当前位置与起始位置之间的滚动步进。
这样,在本具体实现方式中,客户端执行上述步骤s501,基于移动位移,确定基准窗口对应的视频通道编号的方式,可以包括如下步骤:
利用预设的通道计算公式,计算基准窗口对应的视频通道编号;其中,通道计算公式为:
c0=(t/t)*(m*h2)/h2+1
其中,c0为基准窗口对应的视频通道编号,t为滚动步进,t为滑块在滚动条上的起始位置与终止位置之间的总步进,m为视频通道总数,h2为窗口尺寸,/表示当(t/t)*(m*h2)不能被h2整除时,取商值的整数部分,t是m的n倍,预设窗口列表中的每一窗口对应步进为n个步进,n≥1。
其中,在本具体实现方式中,上述预设坐标系为:以视口区域与滚动条平行的边为y轴,视口区域与滚动条垂直,且距离滚动条的起始位置最近的边为x轴,所建立的坐标系,y轴的正方向为:滑块从滚动条的起始位置滚动到终止位置的移动方向。
具体的,一种实施例中,当视口区域所包括的窗口按列排列,且滚动条的起始位置指向终止位置的方向为由上指向下时,则所建立的坐标系的x轴可以为视口区域的上边界,y轴可以为视口区域的左边界,原点可以为视口区域的上边界和左边界的交点,且x轴的正方向是由左到右,y轴的正方向是由上向下。其中,上述通道计算公式中的h2表征窗口的高度值。
另一种实施例中,当视口区域所包括的窗口按行排列,且滚动条的起始位置指向终止位置的方向为由左指向右时,则所建立的坐标系的x轴可以为视口区域的上边界,y轴可以为视口区域的左边界,原点可以为视口区域的左边界和上边界的交点,且x轴的正方向为由左向右,y轴的正方向是由上向下。其中,上述通道计算公式中的h2表征窗口的宽度值。
进而,在上述预设坐标系和基准窗口对应的视频通道编号确定方式的基础上,优选的,本发明实施例提供的一种实施方式中,客户端在确定基准窗口对应的视频通道编号后,可以通过如下方式基于基准窗口对应的视频通道编号,以及该窗口在各个目标窗口的排序,确定该窗口对应的视频通道编号:
利用预设的编号计算公式,计算该窗口对应的视频通道编号;其中,编号计算公式为:
ci=c0+(i-1)
其中,ci是各个目标窗口中第i个窗口对应的视频通道编号,c0为基准窗口对应的视频通道编号,i>1。
其中,在本实施方式中,各个视频通道编号是按照由大到小的顺序依次排列的,且相邻两个视频通道编号的差值为1。
相应于上述本发明实施例提供的一种视频预览方法,本发明实施例还提供了一种视频预览装置。
图6为本发明实施例提供的一种视频预览装置的结构示意图。其中,该装置应用于客户端,如图6所示,本发明实施例提供的一种视频预览装置可以包括如下模块:
位移获取模块610,用于获得客户端视口区域对应的预设标定对象的当前位置与起始位置之间的移动位移;其中,视口区域用于显示预设窗口列表中的部分窗口;
信息确定模块620,用于基于移动位移,确定预设窗口列表中与视口区域存在重叠区域的各个目标窗口,并基于移动位移,确定各个目标窗口对应的视频通道编号;
视频浏览模块630,用于在各个目标窗口中预览该目标窗口所对应视频通道编号对应的视频通道传输的视频数据。
可见,应用本发明实施例,在对各个视频通道传输的视频数据进行可视化预览时,根据视口区域对应的预设标定对象的移动,视口区域所展示的各个目标窗口所对应的视频通道是可变的,因此,可以通过移动上述预设标定对象,对各个视频通道传输的视频数据进行可视化预览。而进一步的,由于视口区域中包括的窗口的数量是有限的,因此,在每次通过上述各个目标窗口对所对应的视频通道传输的视频数据进行可视化预览时,客户端只需要获取和加载上述各个目标窗口所对应的视频通道传输的视频数据,而不需要一次性获取全部视频通道传输的视频数据,从而可以减少客户端对视频采集设备生成的多路视频数据进行可视化预览时所消耗的内存。
进一步的,通过移动上述预设标定对象对各个视频通道传输的视频数据进行可视化预览,则在每次移动上述预设标定对象时,上述各个目标窗口中所显示的视频画面是异步刷新的,从而使得视频画面切换无延时,且无卡顿,提升了用户的体验。此外,由于是通过移动上述预设标定对象来调整视口区域所包括的各个目标窗口,并根据述预设标定对象的移动位移调整上述各个目标窗口所对应的视频通道,因此,可以通过预设窗口列表中展示的较少数量的目标窗口来实现对较多数量的视频通道传输的视频数据进行可视化预览。
可选的,一种具体实现方式中,上述信息确定模块620包括:
位置信息确定子模块,用于基于移动位移,确定基准窗口在预定坐标系中的位置信息;其中,基准窗口为:预设窗口列表中与视口区域存在重叠区域的各个目标窗口中的起始目标窗口;
目标窗口确定子模块,用于基于窗口尺寸和位置信息,确定预设窗口列表区域中与视口区域存在重叠区域的且除基准窗口以外的各个目标窗口。
可选的,一种具体实现方式中,上述位置信息确定子模块包括位置信息确定单元;则在本具体实现方式中,上述位置信息确定单元,用于基于移动位移与预设标定对象的总位移之间的比值,以及预设的视频通道总数,确定基准窗口在预定坐标系中的位置信息;其中,总位移为:预设标定对象的起始位置与终止位置之间的移动位移。
可选的,一种具体实现方式中,上述视口区域存在滚动条;视口区域对应的预设标定对象为滚动条上的滑块;移动位移为:滑块在滚动条上的当前位置与起始位置之间的滚动步进;
则在本具体实现方式中,上述位置信息确定单元具体用于利用预设的位置信息计算公式,计算基准窗口在预定坐标系中的位置信息;其中,位置信息计算公式为:
s0=-((t/t)*(m*h2)%h2)
其中,s0为基准窗口在预定坐标系中的位置信息,t为滚动步进,t为滑块在滚动条上的起始位置与终止位置之间的总步进,m为视频通道总数,h2为窗口尺寸,%表示当(t/t)*(m*h2)不能被h2整除时,取余数,t是m的n倍,预设窗口列表中的每一窗口对应步进为n个步进,n≥1。
可选的,一种具体实现方式中,上述目标窗口确定子模块具体用于:
按照各个窗口在预设窗口列表中的排位,确定预设窗口列表中排列在基准窗口之后的各个候选窗口;针对每一候选窗口,按照该候选窗口和基准窗口之间的排位差值和窗口尺寸,计算该候选窗口与基准窗口之间的距离值,并基于计算得到的距离值,计算该候选窗口在预定坐标系中的位置信息;针对每一候选窗口,当该候选窗口在预定坐标系中的位置信息表征该候选窗口与视口区域存在重叠区域时,确定该候选窗口为目标窗口。
可选的,一种具体实现方式中,上述信息确定模块620包括:
第一编号确定子模块,用于基于移动位移,确定基准窗口对应的视频通道编号;其中,基准窗口为:预设窗口列表中与视口区域存在重叠区域的各个目标窗口中的起始目标窗口;
第二编号确定子模块,用于针对各个目标窗口中除基准窗口以外的每一窗口,基于基准窗口对应的视频通道编号,以及该窗口在各个目标窗口的排序,确定该窗口对应的视频通道编号。
可选的,一种具体实现方式中,上述视口区域存在滚动条;视口区域对应的预设标定对象为滚动条上的滑块;移动位移为:滑块在滚动条上的当前位置与起始位置之间的滚动步进;
则在本具体实现方式中,上述第一编号确定子模块,具体用于利用预设的通道计算公式,计算基准窗口对应的视频通道编号;其中,通道计算公式为:
c0=(t/t)*(m*h2)/h2+1
其中,c0为基准窗口对应的视频通道编号,t为滚动步进,t为滑块在滚动条上的起始位置与终止位置之间的总步进,m为视频通道总数,h2为窗口尺寸,/表示当(t/t)*(m*h2)不能被h2整除时,取商值的整数部分,t是m的n倍,预设窗口列表中的每一窗口对应步进为n个步进,n≥1。
可选的,一种具体实现方式中,上述第二编号确定子模块,具体用于利用预设的编号计算公式,计算该窗口对应的视频通道编号;其中,编号计算公式为:
ci=c0+(i-1)
其中,ci是各个目标窗口中第i个窗口对应的视频通道编号,c0为基准窗口对应的视频通道编号,i>1。
相应于上述本发明实施例提供的一种视频预览方法,本发明实施例还提供了一种电子设备,该电子设备中安装有客户端。如图7所示,该电子设备包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现上述本发明实施例提供的一种视频预览方法。
上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
相应于上述本发明实施例提供的一种视频预览方法,本发明实施例还提供了一种计算机可读存储介质,该计算机程序被处理器执行时实现上述本发明实施例提供的一种视频预览方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、电子设备实施例、计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。