一种利用客户端获取云服务端视频缩略图的方法及系统与流程

文档序号:32752990发布日期:2022-12-31 01:58阅读:64来源:国知局
一种利用客户端获取云服务端视频缩略图的方法及系统与流程

1.本发明属于摄像头音视频处理技术领域,具体涉及利用客户端获取云服务端视频缩略图的方法及系统。


背景技术:

2.目前,网络视频监控摄像头广泛应用,网络视频监控摄像头获取的音视频一般采取h.264和h.265格式,除了直播场景,同时监控摄像头产生的音视频基本都存储在云端,用户通过客户端可以回看,回看的视频还会根据视频中的人形、宠物、异响等检测情况,生成大量的事件。
3.在用户使用客户端预览一段时间内的事件列表时,一般需要同时显示该事件的缩略图;目前比较常见的是:用户在预览事件列表时,首先在云服务端获取到该事件视频的h.264/h.265idr帧数据,再解码该idr帧,然后进行图片格式的转换,返回给用户的pc网页客户端或移动客户端并显示;如果用户预览的事件列表事件比较多,同时又有大量用户同时预览的话,就会导致云端服务器因解码、图片格式转换的负载明显增加,导致资源紧张,从而增加成本。
4.有些现有技术中,在不同客户端预览时,为了避免同一个事件反复生成缩略图,将生成的事件缩略图进行缓存,其他客户端来预览时,直接返回云服务端缓存的缩略图,这虽然减少了云服务端反复解码与图片转换的压力,但是增加了服务端的存储成本。


技术实现要素:

5.本发明提供了一种利用客户端获取云服务端视频缩略图的方法及系统,旨在解决现有技术中通过云服务端生成事件缩略图,云端服务器因解码和图片格式转换,导致负载明显增加的技术问题。
6.为了解决上述技术问题,本发明所采用的技术方案为:
7.第一方面,本发明提供了一种利用客户端获取云服务端视频缩略图的方法,包括以下步骤:
8.s1、云服务端接收摄像头上传的音视频数据,并将音视频数据按时间长度分片存储在云服务端;当收到摄像头获取的事件时,将事件以摄像头唯一标识、事件开始utc时间和事件结束utc时间在云服务端存储为事件列表;
9.s2、客户端根据指定的摄像头和时间范围,从云服务端拉取事件列表;判断客户端是否存在对应的缩略图缓存;若存在,则直接读取客户端中的缩略图;若不存在,则执行步骤s3;
10.s3、以摄像头唯一标识、事件开始utc时间和事件结束utc时间为索引,从云服务端的音视频分片存储中,异步拉取事件列表中每个事件对应音视频的第一个idr帧;
11.s4、客户端对拉取的idr帧进行解码,并进行图片格式转换,获得缩略图;
12.s5、将缩略图显示在对应的事件列表中,并以摄像头唯一标识、事件开始utc时间
和事件结束utc时间为索引缓存到客户端。
13.进一步改进的方案:所述视频采用h.264格式或h.265格式。
14.进一步改进的方案:所述客户端包括手机端或电脑端。
15.进一步改进的方案:在步骤s4中,客户端对拉取的idr帧进行解码,并进行图片格式转换,获得缩略图;具体包括:客户端对拉取的idr帧解码到纹理,并进行纹理的缩放,最终将纹理转成jpeg缩略图。
16.进一步改进的方案:当所述客户端为手机端时,将客户端拉取的idr帧,采用客户端的硬解码器解码到纹理,并进行纹理的缩放,最终将纹理转成jpeg缩略图。
17.进一步改进的方案:当手机端为ios系统时,硬解码器采用videotoolbox;当手机端为android系统时,硬解码器采用mediacodec。
18.进一步改进的方案:当所述客户端为电脑网页端时,将客户端拉取的idr帧,采用webassembly组件解码和缩放,最终转成jpeg缩略图。
19.进一步改进的方案:当摄像头获取事件时,摄像头通过ai检测获取产生的事件;将与事件的产生时间点最近一个idr帧的产生utc时间,作为事件开始utc时间;当事件检测结束时间作为事件结束utc时间,形成一个完整事件。
20.进一步改进的方案:所述事件包括人形事件、宠物事件和异响事件。
21.第二方面,本发明提供了一种利用客户端获取云服务端视频缩略图的系统,包括客户端、服务端和摄像头;
22.所述云服务端接收摄像头上传的音视频数据,并将音视频数据按时间长度分片存储在云服务端;当收到摄像头获取的事件时,将事件以摄像头唯一标识、事件开始utc时间和事件结束utc时间在云服务端存储为事件列表;
23.所述客户端根据指定的摄像头和时间范围,从云服务端拉取事件列表;判断客户端是否存在对应的缩略图缓存;
24.若存在,则直接读取客户端中的缩略图;
25.若不存在,则以摄像头唯一标识、事件开始utc时间和事件结束utc时间为索引,从云服务端的音视频分片存储中,异步拉取事件列表中每个事件对应音视频的第一个idr帧;客户端对拉取的idr帧进行解码,并进行图片格式转换,获得缩略图;将缩略图显示在对应的事件列表中,并以摄像头唯一标识、事件开始utc时间和事件结束utc时间为索引缓存到客户端。
26.进一步改进的方案:所述视频采用h.264格式或h.265格式。
27.进一步改进的方案:所述客户端包括手机端或电脑端。
28.进一步改进的方案:客户端对拉取的idr帧进行解码,并进行图片格式转换,获得缩略图;具体包括:客户端对拉取的idr帧解码到纹理,并进行纹理的缩放,最终将纹理转成jpeg缩略图。
29.进一步改进的方案:当所述客户端为手机端时,将客户端拉取的idr帧,采用客户端的硬解码器解码到纹理,并进行纹理的缩放,最终将纹理转成jpeg缩略图。
30.进一步改进的方案:当手机端为ios系统时,硬解码器采用videotoolbox;当手机端为android系统时,硬解码器采用mediacodec。
31.进一步改进的方案:当所述客户端为电脑网页端时,将客户端拉取的idr帧,采用
webassembly组件解码和缩放,最终转成jpeg缩略图。
32.进一步改进的方案:当摄像头获取事件时,摄像头通过ai检测获取产生的事件;将与事件的产生时间点最近一个idr帧的产生utc时间,作为事件开始utc时间;当事件检测结束时间作为事件结束utc时间,形成一个完整事件。
33.进一步改进的方案:所述事件包括人形事件、宠物事件和异响事件。
34.本发明的有益效果为:
35.本发明中,云服务端的作用是将音视频数据按时间长度分片存储在云服务端,并将事件以摄像头唯一标识、事件开始utc时间和事件结束utc时间在云服务端存储为事件列表;云服务端主要用于存储音视频数据和时间列表。客户端的作用是以摄像头唯一标识、事件开始utc时间和事件结束utc时间为索引,从云服务端的音视频分片存储中,异步拉取事件列表中每个事件对应音视频的第一个idr帧;客户端对拉取的idr帧进行解码,并进行图片格式转换,获得缩略图。
36.由此可以看出,本发明中,通过客户端与云服务端两者的配合生成事件的缩略图;客户端主要起到存储音视频数据和事件列表的作用,客户端主要起到生成缩略图的作用,两者的分工配合,将仅仅将缩略图的生成转移到客户端,解决了云端服务器因解码和图片格式转换,导致负载明显增加的问题;此外,音视频数据和事件列表的存储仍保留在云服务端,一方面可以使得不同的客户端仍然可以正常访问且不会增加客户端的存储负担。
37.此外,客户端对于生成的缩略图有缓存的功能,下次访问同一摄像头同一时间段内的事件时,无需再次生成,避免了缩略图的重复生成。
附图说明
38.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简要介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关附图。
39.图1是本发明中利用客户端获取云服务端视频缩略图方法的流程示意图。
40.图2是本发明中利用客户端获取云服务端视频缩略图系统的逻辑框架示意图。
具体实施方式
41.下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚完整的描述。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。基于本发明的实施例,本领域技术人员在没有创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
42.实施例一:
43.如图1所示,本实施例的提供了一种利用客户端获取云服务端视频缩略图的方法,包括以下步骤:
44.s1、云服务端接收摄像头上传的音视频数据,并将音视频数据按时间长度分片存储在云服务端(一段时间内的音视频数据文件作为一片,比如一个gop(groupof picture)画面组为一片,方便检索);当收到摄像头获取的事件时,将事件以摄像头唯一标识、事件开
始utc时间(协调世界时,又称世界统一时间)和事件结束utc时间在云服务端存储为事件列表。
45.具体的,所述视频采用h.264格式或h.265格式等格式。
46.其中,摄像头唯一标识是指给每一个摄像头设立的独立身份可以采用独立的编号作为标识。
47.其中,音视频中会产生大量的事件,所述事件包括人形事件、宠物事件和异响事件等事件,每个事件的视频中会包含多个idr帧;当摄像头获取事件时,摄像头通过ai检测获取产生的事件;将与事件的产生时间点最近一个idr帧的产生utc时间,作为事件开始utc时间;当事件检测结束时间作为事件结束utc时间,形成一个完整事件;将视频中的若干个事件以摄像头唯一标识、事件开始utc时间和事件结束utc时间在云服务端存储为事件列表。
48.其中,idr(instantaneous decoding refresh,即时解码刷新)帧属于i帧(i frame)又称为内部画面,但是i帧不一定是idr帧;解码器收到idr帧时,将参考缓存清空,而收到i帧不会清空参考缓存,也就是说idr帧之后的帧,解码器不会参考这个idr帧之前的任何帧做解码,而对于某个i帧之后的帧,解码器可能会参考这个i帧之前的帧做解码。
49.s2、客户端根据指定的摄像头和时间范围,从云服务端拉取事件列表;判断客户端是否存在对应的缩略图缓存;若存在,则直接读取客户端中的缩略图;若不存在,则执行步骤s3。
50.具体的,所述客户端包括但不局限于手机端或电脑端(电脑网页客户端);
51.其中,缩略图是指图片经缩放转换等方式处理后获得的小图。
52.其中,客户端指定的摄像头和时间范围内一般存在多个事件,并对应一个时间段内的事件列表。
53.此外,通过判断客户端是否存在对应的缩略图缓存,可以避免缩略图的重复生成,节省了客户端的算力。
54.s3、以摄像头唯一标识、事件开始utc时间和事件结束utc时间为索引,从云服务端的音视频分片存储中,异步拉取事件列表中每个事件对应音视频的第一个idr帧。
55.其中,每个事件的视频中会包含多个idr帧,将第一个idr帧处理成缩略图。
56.s4、客户端对拉取的idr帧进行解码,并进行图片格式转换,获得缩略图。
57.在步骤s4中,客户端对拉取的idr帧进行解码,并进行图片格式转换,获得缩略图;具体包括:客户端对拉取的idr帧解码到纹理,并进行纹理的缩放,最终将纹理转成jpeg缩略图;
58.当所述客户端为手机端时,将客户端拉取的idr帧,采用客户端的硬解码器解码到纹理,并进行纹理的缩放,最终将纹理转成jpeg缩略图。具体的,当手机端为ios系统(苹果公司开发的移动操作系统)时,硬解码器采用videotoolbox(苹果公司操作系统提供的视频硬件编码和解码器);当手机端为android系统(基于linux内核的自由及开放源代码的操作系统)时,硬解码器采用mediacodec(android系统提供的媒体编解码器)。
59.当所述客户端为电脑网页端时,将客户端拉取的idr帧,采用webassembly(封装ffmpeg h.264/h.265解码及jpeg压缩部分)组件解码和缩放,最终转成成jpeg缩略图。
60.s5、将缩略图显示在对应的事件列表中,并以摄像头唯一标识、事件开始utc时间和事件结束utc时间为索引缓存到客户端。
61.实施例二:
62.参阅图2,本实施例提供了一种利用客户端获取云服务端视频缩略图的系统,包括客户端、服务端和摄像头;
63.所述云服务端接收摄像头上传的音视频数据,并将音视频数据按时间长度分片存储在云服务端;当收到摄像头获取的事件时,将事件以摄像头唯一标识、事件开始utc时间和事件结束utc时间在云服务端存储为事件列表;
64.所述客户端根据指定的摄像头和时间范围,从云服务端拉取事件列表;判断客户端是否存在对应的缩略图缓存;
65.若存在,则直接读取客户端中的缩略图;
66.若不存在,则以摄像头唯一标识、事件开始utc时间和事件结束utc时间为索引,从云服务端的音视频分片存储中,异步拉取事件列表中每个事件对应音视频的第一个idr帧;客户端对拉取的idr帧进行解码,并进行图片格式转换,获得缩略图;将缩略图显示在对应的事件列表中,并以摄像头唯一标识、事件开始utc时间和事件结束utc时间为索引缓存到客户端。
67.其中,所述视频采用h.264格式或h.265格式。所述事件包括人形事件、宠物事件和异响事件。
68.其中,所述客户端包括手机端或电脑端。客户端对拉取的idr帧进行解码,并进行图片格式转换,获得缩略图;具体包括:客户端对拉取的idr帧解码到纹理,并进行纹理的缩放,最终将纹理转成jpeg缩略图。
69.当所述客户端为手机端时,将客户端拉取的idr帧,采用客户端的硬解码器解码到纹理,并进行纹理的缩放,最终将纹理转成jpeg缩略图。
70.当手机端为ios系统时,硬解码器采用videotoolbox;当手机端为android系统时,硬解码器采用mediacodec。
71.当所述客户端为电脑网页端时,将客户端拉取的idr帧,采用webassembly组件解码和缩放,最终转成jpeg缩略图。
72.其中,当摄像头获取事件时,摄像头通过ai检测获取产生的事件;将与事件的产生时间点最近一个idr帧的产生utc时间,作为事件开始utc时间;当事件检测结束时间作为事件结束utc时间,形成一个完整事件。
73.本发明不局限于上述可选实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是落入本发明权利要求界定范围内的技术方案,均落在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1