发明内容
本发明提供视频检索方法及前端设备、后端服务器,以提高视频检索效率。
本发明的技术方案是这样实现的:
一种视频检索方法,该方法包括:
前端设备接收来自视频源的实况码流,当发现满足触发条件时,根据当前实况码流生成视频缩略图,将视频缩略图及其对应的触发条件信息发送到后端服务器;
后端服务器接收并保存视频缩略图及其对应的触发条件信息;
后端服务器接收用户输入的携带触发条件信息的检索请求,根据该触发条件信息查找到对应的视频缩略图,将该视频缩略图显示给用户。
所述触发条件为:事件触发或者定时触发。
所述前端设备将视频缩略图及其对应的触发条件信息发送到后端服务器包括:
前端设备将视频缩略图及其对应的触发条件信息编码到当前实况码流中发送给后端服务器;
或者,前端设备将视频缩略图及其对应的触发条件信息单独发送给后端服务器,同时将实况码流发送给后端服务器。
当前端设备将视频缩略图及其对应的触发条件信息编码到当前实况码流中发送给后端服务器时,
所述后端服务器接收并保存视频缩略图及其对应的触发条件信息包括:
后端服务器从接收到的码流中解析出视频缩略图及其对应的触发条件信息,保存视频缩略图及其对应的触发条件信息。
所述后端服务器接收并保存视频缩略图及其对应的触发条件信息包括:
后端服务器将视频缩略图及其对应的触发条件信息保存到数据库中;
所述后端服务器根据该触发条件信息查找到对应的视频缩略图包括:
后端服务器根据该触发条件信息在数据库中查找到对应的视频缩略图。
所述后端服务器接收并保存视频缩略图及其对应的触发条件信息包括:
后端服务器将视频缩略图保存到存储模块中,将该视频缩略图的触发条件信息、该视频缩略图在存储模块中的存储路径保存到数据库中;
所述后端服务器根据该触发条件信息查找到对应的视频缩略图包括:
后端服务器根据该触发条件信息在数据库中查找到视频缩略图在存储模块中的存储路径,根据该存储路径在存储模块中查找到对应的视频缩略图。
所述后端服务器接收并保存视频缩略图及其对应的触发条件信息进一步包括:
后端服务器接收并保存实况码流,同时保存视频缩略图对应的实况码流的索引;
且,所述后端服务器根据该触发条件信息查找到对应的视频缩略图时,同时查找到该视频缩略图对应的实况码流的索引,将该索引与视频缩略图一并显示给用户,以便用户根据该索引查找视频缩略图对应的实况码流。
一种前端设备,包括:
缩略图生成模块:接收来自视频源的实况码流,当发现满足触发条件时,根据当前实况码流生成视频缩略图,将视频缩略图及其对应的触发条件信息发送给封装模块;
封装模块:将视频缩略图及其对应的触发条件信息封装后发送到后端服务器。
所述缩略图生成模块的触发条件为:事件触发或者定时触发。
所述封装模块将视频缩略图及其对应的触发条件信息编码到当前实况码流中发送给后端服务器;或者,将视频缩略图及其对应的触发条件信息单独发送给后端服务器,同时将实况码流发送给后端服务器。
一种后端服务器,包括:
存储单元:接收并保存前端设备发来的视频缩略图及其对应的触发条件信息;
检索模块:接收用户输入的携带触发条件信息的检索请求,根据该触发条件信息在存储单元中查找到对应的视频缩略图,将该视频缩略图显示给用户。
所述存储单元包括:存储模块、索引模块和数据库,其中:
存储模块:接收前端设备发来的视频缩略图及其对应的触发条件信息,将视频缩略图及其对应的触发条件信息发送给索引模块;
索引模块:将存储模块发来的视频缩略图及其对应的触发条件信息存储到数据库中;
数据库:存储视频缩略图及其对应的触发条件信息;
且,所述检索模块根据触发条件信息在数据库中查找到对应的视频缩略图。
所述存储单元包括:存储模块、索引模块和数据库,其中:
存储模块:接收前端设备发来的视频缩略图及其对应的触发条件信息,保存视频缩略图,将视频缩略图的触发条件信息、该视频缩略图在本模块的存储路径发送给索引模块;
索引模块:将存储模块发来的视频缩略图的触发条件信息、该视频缩略图在存储模块的存储路径存储到数据库中;
数据库:存储视频缩略图的触发条件信息、视频缩略图在存储模块的存储路径;
且,所述检索模块根据触发条件信息在数据库中查找到视频缩略图在存储模块的存储路径,根据该存储路径在存储模块中查找到对应的视频缩略图。
所述存储单元进一步包括:接收并保存前端设备发来的实况码流,保存视频缩略图对应的实况码流在本单元中的索引;
且,所述检索模块进一步用于,根据触发条件信息在存储单元中查找到视频缩略图对应的实况码流在存储单元中的索引,将该索引与视频缩略图一并显示给用户,以便用户根据该索引在存储单元中查找对应的实况码流。
与现有技术相比,本发明中,在实况码流生成过程中,根据触发条件生成视频缩略图,此后直接根据触发条件检索视频缩略图,大大减少了检索时间和检索工作量,提高了检索效率。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图1为本发明实施例一提供的视频检索方法流程图,如图1所示,其具体步骤如下:
步骤101:前端设备中的缩略图生成模块接收来自视频源的裸码流,当发现满足触发条件时,根据当前视频图像生成视频缩略图,将视频缩略图输出到前端设备的封装模块;同时,前端设备的编码模块接收来自视频源的裸码流,并根据裸码流生成实况码流,将实况码流输出到前端设备的封装模块。
缩略图即当前图像的缩小图像。
视频源比如:摄像头等。
触发条件可以是事件触发,具体地,可以是缩略图生成模块接收到事件通知,则触发生成缩略图。事件可以是:侦测到移动物体、侦测到拌线、和/或侦测到门禁失效等;触发条件也可以是定时触发,即设置一个定时器,定时器定时向缩略图生成模块发送触发信号,以定时触发缩略图生成模块生成缩略图。定时时长可以采用用户检索可能使用的最小时间粒度。
步骤102:前端设备的封装模块将视频缩略图及其对应的附加信息编码到实况码流中传输到后端服务器的存储模块。
附加信息包括触发条件信息,还可以包括视频源标识、视频缩略图对应的实况码流的采集时间等。
当触发条件为事件触发时,触发条件信息为事件信息,例如:侦测到移动物体、侦测到拌线、和/或侦测到门禁失效等;当触发条件为事件触发时,触发条件信息为定时生成缩略图。
步骤103:后端服务器的存储模块接收封装模块发来的码流,从码流中解析出视频缩略图及其对应的附加信息,保存原始实况码流,同时对于每幅视频缩略图,将该视频缩略图、视频缩略图的附加信息、视频缩略图对应的实况码流在存储模块上的索引的对应关系发送到后端服务器的索引模块。
步骤104:后端服务器的索引模块将接收到的视频缩略图、视频缩略图的附加信息、视频缩略图对应的实况码流在存储模块上的索引的对应关系保存到后端服务器的数据库中。
表1给出了本实施例中的数据库存储的数据的一个示例:
表1 本发明实施例一中的数据库存储的数据的一个示例
步骤105:后端服务器的检索模块接收用户输入的携带触发条件信息的检索请求,根据该请求中的触发条件信息在数据库中查找到对应的视频缩略图。
检索请求中可能同时携带其它检索条件如:视频源标识和/或视频采集时间,此时,检索模块可根据所有检索条件在数据库中查找对应的视频缩略图。
步骤106:检索模块将视频缩略图显示给用户。
检索模块根据触发条件信息在数据库中可同时查找到对应的视频缩略图以及视频缩略图对应的实况码流在存储模块上的索引,将视频缩略图及视频缩略图对应的实况码流在存储模块上的索引同时显示给用户,若用户需要进一步查看视频缩略图的实况码流,则根据该索引在存储模块上查找到对应的实况码流,从而用户可以更详细地了解当时情况。
在实际应用中,步骤102也可以替换为:封装模块将视频缩略图及其对应的附加信息通过私有协议传输到存储模块;同时,将实况码流通过现有协议传输到存储模块;同时,步骤103替换为:存储模块接收视频缩略图及其对应的附加信息,接收实况码流,保存实况码流,同时对于每幅视频缩略图,将该视频缩略图、视频缩略图的附加信息、视频缩略图对应的实况码流在存储模块上的索引的对应关系发送到索引模块。
图2为本发明实施例二提供的视频检索方法流程图,如图2所示,其具体步骤如下:
步骤201:前端设备中的缩略图生成模块接收来自视频源的裸码流,当发现满足触发条件时,根据当前视频图像生成视频缩略图,将视频缩略图输出到前端设备的封装模块;同时,前端设备的编码模块接收来自视频源的裸码流,并根据裸码流生成实况码流,将实况码流输出到前端设备的封装模块。
触发条件可以是事件触发,具体地,可以是缩略图生成模块接收到事件通知,则触发生成缩略图。事件可以是:侦测到移动物体、侦测到拌线、和/或侦测到门禁失效等;触发条件也可以是定时触发,即设置一个定时器,定时器定时向缩略图生成模块发送触发信号,以定时触发缩略图生成模块生成缩略图。定时时长可以采用用户检索可能使用的最小时间粒度。
步骤202:封装模块将视频缩略图及其对应的附加信息编码到实况码流中传输到存储模块。
附加信息包括触发条件信息,还可以包括视频源标识、视频缩略图对应的实况码流的采集时间等。
当触发条件为事件触发时,触发条件信息为事件信息,例如:侦测到移动物体、侦测到拌线、和/或侦测到门禁失效等;当触发条件为事件触发时,触发条件信息为定时生成缩略图。
步骤203:后端服务器的存储模块接收封装模块发来的码流,从码流中解析出视频缩略图及其对应的附加信息,保存原始实况码流,保存视频缩略图,同时对于每幅视频缩略图,将该视频缩略图的附加信息、该视频缩略图在存储模块中的存储路径、该视频缩略图对应的实况码流在存储模块上的索引的对应关系发送到后端服务器的索引模块。
步骤204:后端服务器的索引模块将接收到的视频缩略图的附加信息、视频缩略图在存储模块中的存储路径、视频缩略图对应的实况码流在存储模块上的索引的对应关系保存到后端服务器的数据库中。
表2给出了本实施例中的数据库存储的数据的一个示例:
表2本发明实施例二中的数据库存储的数据的一个示例
步骤205:后端服务器的检索模块接收用户输入的携带触发条件信息的检索请求,根据该请求中的触发条件信息在数据库中查找到视频缩略图在存储模块中的存储路径,根据该存储路径在存储模块中查找到对应的视频缩略图。
检索请求中可能同时携带其它检索条件如:视频源标识和/或视频采集时间,此时,检索模块可根据所有检索条件在数据库中查找视频缩略图在存储模块中的存储路径。
步骤206:检索模块将视频缩略图显示给用户。
检索模块根据触发条件信息在数据库中可同时查找到视频缩略图在存储模块中的存储路径以及视频缩略图对应的实况码流在存储模块上的索引,检索模块在将视频缩略图显示给用户的同时,会将视频缩略图对应的实况码流在存储模块上的索引一并显示给用户,这样,若用户需要进一步查看视频缩略图的实况码流,则可根据该索引在存储模块中查找到对应的实况码流,从而用户可以更详细地了解当时情况。
在实际应用中,步骤202也可以替换为:封装模块将视频缩略图及其对应的附加信息通过私有协议传输到存储模块;同时,将实况码流通过现有协议传输到存储模块;同时,步骤203替换为:存储模块接收视频缩略图及其对应的附加信息,接收实况码流,保存实况码流,同时对于每幅视频缩略图,将该视频缩略图、视频缩略图的附加信息、视频缩略图对应的实况码流在存储模块上的索引的对应关系发送到索引模块。
图3为本发明实施例提供的前端设备的组成示意图,如图3所示,其主要包括:缩略图生成模块31和封装模块32,其中:
缩略图生成模块31:接收来自视频源的实况码流,当发现满足触发条件时,根据当前实况码流生成视频缩略图,将视频缩略图及其对应的触发条件信息发送给封装模块32。
封装模块32:接收缩略图生成模块31发来的视频缩略图及其对应的触发条件信息,将视频缩略图及其对应的触发条件信息封装后发送到后端服务器。
具体地,封装模块32将视频缩略图及其对应的触发条件信息编码到当前实况码流中发送给后端服务器;或者,将视频缩略图及其对应的触发条件信息单独发送给后端服务器,同时将实况码流发送给后端服务器。
图4为本发明实施例提供的后端服务器的组成示意图,如图4所示,其主要包括:存储单元41和检索模块42,其中:
存储单元41:接收并保存前端设备发来的视频缩略图及其对应的触发条件信息。
检索模块42:接收用户输入的携带触发条件信息的检索请求,根据该触发条件信息在存储单元41中查找到对应的视频缩略图,将该视频缩略图显示给用户。
在实际应用中,存储单元可包括:存储模块、索引模块和数据库,其中:
存储模块:接收前端设备发来的视频缩略图及其对应的触发条件信息,接收并保存前端设备发来的实况码流,将视频缩略图、该视频缩略图的触发条件信息、该视频缩略图对应的实况码流在存储模块中的索引发送给索引模块。
索引模块:将存储模块发来的视频缩略图、该视频缩略图的触发条件信息、该视频缩略图对应的实况码流在存储模块中的索引存储到数据库中。
数据库:存储视频缩略图、该视频缩略图的触发条件信息、该视频缩略图对应的实况码流在存储模块中的索引。
检索模块42根据触发条件信息在数据库中查找到对应的视频缩略图,同时查找到该视频缩略图对应的实况码流在存储模块中的索引,将视频缩略图以及该视频缩略图对应的实况码流在存储模块中的索引一并显示给用户,以便用户根据该索引在存储模块中查找到对应的实况码流。
或者,存储单元包括:存储模块、索引模块和数据库,其中:
存储模块:接收前端设备发来的视频缩略图及其对应的触发条件信息,保存视频缩略图,接收并保存前端设备发来的实况码流,将视频缩略图的触发条件信息、该视频缩略图在本存储模块中的存储路径、该视频缩略图对应的实况码流在本存储模块中的索引发送给索引模块。
索引模块:将存储模块发来的视频缩略图的触发条件信息、该视频缩略图在存储模块中的存储路径、该视频缩略图对应的实况码流在存储模块中的索引存储到数据库中。
数据库:存储视频缩略图的触发条件信息、该视频缩略图在存储模块中的存储路径、该视频缩略图对应的实况码流在存储模块中的索引。
且,检索模块42根据触发条件信息在数据库中查找到视频缩略图在存储模块的存储路径,同时查找到该视频缩略图对应的实况码流在存储模块中的索引,根据该存储路径在存储模块中查找到对应的视频缩略图,将视频缩略图以及该视频缩略图对应的实况码流在存储模块中的索引一并显示给用户,以便用户根据该索引在存储模块中查找到对应的实况码流。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。