流媒体数据缓存方法,装置、电子设备、存储介质及产品制造方法及图纸

技术编号:35593475 阅读:30 留言:0更新日期:2022-11-16 15:11
本发明专利技术实施例提供一种流媒体数据的缓存方法,装置、电子设备、计算机可读存储介质及计算机程序产品,所述方法包括:响应于至少一个监控场景触发的缓存请求,根据每个缓存请求获取对应的流媒体数据;按照设定缓存时长将获取的每路流媒体数据缓存到不同的缓存队列中。本发明专利技术实施例中,在检测到各个监控场景触发的缓存请求的情况下,记录各个监控场景下的流媒体数据,并将记录的流媒体数据按照设定缓存时长缓存到对应的缓存队列中,实现了对突发异常现场的前后时间内的音视频数据按照设定缓存时长进行记录保存,不但节省了内存资源,降低缓存成本,降低了异常场景各方的资源消耗,而且还提高了监控异常场景下数据存储的灵活性。还提高了监控异常场景下数据存储的灵活性。还提高了监控异常场景下数据存储的灵活性。

【技术实现步骤摘要】
流媒体数据缓存方法,装置、电子设备、存储介质及产品


[0001]本专利技术涉及计算机
,尤其涉及一种流媒体数据缓存方法,装置、电子设备、计算机可读存储介质及计算机程序产品。

技术介绍

[0002]相关技术中,需要对某些场景进行实时监控。实时监控时,先通过流媒体框架实时获取摄像头的音视频数据流,再通过TCP/RTP/RTSP等媒体传输协议将音视频数据流传输至终端,终端对该音视频数据流进行解析播放。
[0003]也就是说,实时监控中,需要将摄像头拍摄的音视频数据流通过流媒体传输协议实时传输至终端进行解析播放,而连续拍摄记录期间会消耗到更多的摄像头、网络、终端设备等多方资源;且存储视频文件也需要耗费大量的ROM资源,增加了设备成本。由于实时监控往往是采取相同视频格式输出到终端进行监控,无法对突发状况的场景进行特殊处理,监控灵活性较差。

技术实现思路

[0004]本专利技术提供一种流媒体数据的缓存方法,装置、电子设备、计算机可读存储介质及计算机程序产品,以至少解决相关技术中由于实时监控的数据采取相同视频格式输出到终端进行存储播放,不能对突发情况的监控场景进行特殊处理,导致设备成本增加,监控灵活性较差的技术问题。本专利技术的技术方案如下:
[0005]根据本专利技术实施例的第一方面,提供一种流媒体数据缓存方法,包括:
[0006]响应于至少一个监控场景触发的缓存请求,根据每个缓存请求获取对应的流媒体数据;
[0007]按照设定缓存时长将获取的每路流媒体数据缓存到不同的缓存队列中。
[0008]可选的,在按照设定缓存时长将获取的每路流媒体数据缓存到不同的缓存队列中之前,所述方法还包括:
[0009]选择获取的所述每路流媒体数据对应的媒体编码格式;
[0010]按照选择的所述媒体编码格式分别对获取的所述每路流媒体数据进行编码,得到编码后的每路流媒体数据;
[0011]所述按照设定缓存时长将获取的每路流媒体数据缓存到不同的缓存队列中,包括:按照设定缓存时长将编码后的所述每路流媒体数据缓存到不同的缓存队列中。
[0012]可选的,在响应于至少一个监控场景触发的缓存请求之后,所述方法还包括:
[0013]在存储与与所述至少一个监控场景对应的缓存队列的情况下,执行所述根据每个缓存请求获取对应的流媒体数据的步骤;
[0014]在不存在与所述至少一个监控场景对应的缓存队列的情况下,创建与所述至少一个监控场景对应的缓存队列,执行所述根据每个缓存请求获取对应的流媒体数据的步骤。
[0015]可选的,所述方法还包括:
[0016]在缓存的所述流媒体数据的时间长度超过所述设定缓存时长的情况下,移除所述缓存队列中的头部数据,继续缓存所述流体数据到所述缓存队列的尾部。
[0017]可选的,所述按照下述步骤确定缓存的流媒体数据的时间长度:
[0018]确定开始缓存所述媒体流数据的时间戳到结束缓存所述媒体流数据的时间戳之差为缓存所述媒体数据流的时间长度。
[0019]根据本专利技术实施例的第二方面,提供一种流媒体数据缓存方法,包括:
[0020]检测到获取流媒体数据的请求,所述请求包括:请求缓存队列中流媒体数据的请求开始时间和请求结束时间;
[0021]根据所述流媒体数据的请求开始时间和请求结束时间,确定所述缓存队列中待获取的流媒体数据;
[0022]获取所述缓存队列中待获取的流媒体数据。
[0023]可选的,所述根据所述流媒体数据的请求开始时间和请求结束时间,确定所述缓存队列中待获取的流媒体数据,包括:
[0024]在所述流媒体数据的请求开始时间和请求结束时间为有效时间的情况下,将所述流媒体数据的请求开始时间和请求结束时间与所述缓存队列中流媒体数据的每帧数据的时间戳从缓存队列的头部依次进行匹配;
[0025]确定匹配成功的对应时间段内的流媒体数据为待获取的流媒体数据。
[0026]可选的,获取所述缓存队列中待获取的流媒体数据包括:
[0027]从所述缓存队列的头部开始获取未读取的流媒体数据;
[0028]在所述未读取的流媒体数据的所述请求结束时间大于或等于所获取流媒体数据的时间戳,且所获取流媒体数据的时间戳大于或等于所述未读取的流媒体数据的请求开始时间的情况下,存储获取的所述流媒体数据;
[0029]在所述缓存队列中最后一帧数据的时间戳小于所述未读取的流媒体数据的请求结束时间的情况下,执行所述从所述缓存队列的头部开始获取未读取的流媒体数据的步骤;
[0030]在所述未读取的流媒体数据的所述请求结束时间小于所获取流媒体数据的时间戳,且所获取流媒体数据的时间戳小于所述未读取的流媒体数据的请求开始时间,或所述所述缓存队列中最后一帧数据的时间戳大于或等于所述未读取的流媒体数据的请求结束时间的情况下,结束获取流媒体数据。
[0031]可选的,当检测到获取流媒体数据的请求为多个请求时,所述方法还包括:
[0032]在所述多个请求中的请求开始时间或请求结束时间存在交错时间段覆盖的情况下,更新存在交错时间段覆盖的请求中的请求开始时间或请求结束时间,以使更新后的所述请求开始时间或请求结束时间包括更新前的所述请求开始时间或请求结束时间;
[0033]将更新后的所述多个请求合并为一个请求。
[0034]根据本专利技术实施例的第三方面,提供一种流媒体数据缓存装置,包括:
[0035]获取模块,用于响应于至少一个监控场景触发的缓存请求,根据每个缓存请求获取对应的流媒体数据;
[0036]第一缓存模块,用于按照设定缓存时长将获取的每路流媒体数据缓存到不同的缓存队列中。
[0037]可选的,所述装置还包括:
[0038]选择模块,用于在所述第一缓存模块在按照设定缓存时长将获取的每路流媒体数据缓存到不同的缓存队列中之前,选择获取的所述每路流媒体数据对应的媒体编码格式;
[0039]编码模块,用于按照选择的所述媒体编码格式分别对获取的所述每路流媒体数据进行编码,得到编码后的每路流媒体数据;
[0040]所述第一缓存模块,还用于按照设定缓存时长将编码后的所述每路流媒体数据缓存到不同的缓存队列中。
[0041]可选的,所述装置还包括:
[0042]第一判断模块,用于在所述响应于至少一个监控场景触发的缓存请求之后,判断是否存在与所述至少一个监控场景对应的缓存队列;
[0043]创建模块,用于在所述第一判断模块判定不存在与所述至少一个监控场景对应的缓存队列的情况下,创建与所述少一个监控场景对应的缓存队列;
[0044]所述获取模块,还用于在所述创建模块创建与所述少一个监控场景对应的缓存队列后,根据每个缓存请求获取对应的流媒体数据。
[0045]可选的,所述获取模块,还用于在所述第一判断模块判定存在与所述至少一个监控场景对应的缓存队列的情况下,根据每个缓存请求获取对应的流媒体数据。
[0046]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种流媒体数据缓存方法,其特征在于,包括:响应于至少一个监控场景触发的缓存请求,根据每个缓存请求获取对应的流媒体数据;按照设定缓存时长将获取的每路流媒体数据缓存到不同的缓存队列中。2.根据权利要求1所述的流媒体数据缓存方法,其特征在于,在按照设定缓存时长将获取的每路流媒体数据缓存到不同的缓存队列中之前,所述方法还包括:选择获取的所述每路流媒体数据对应的媒体编码格式;按照选择的所述媒体编码格式分别对获取的所述每路流媒体数据进行编码,得到编码后的每路流媒体数据;所述按照设定缓存时长将获取的每路流媒体数据缓存到不同的缓存队列中,包括:按照设定缓存时长将编码后的所述每路流媒体数据缓存到不同的缓存队列中。3.根据权利要求1所述的流媒体数据缓存方法,其特征在于,在响应于至少一个监控场景触发的缓存请求之后,所述方法还包括:在存在与所述至少一个监控场景对应的缓存队列的情况下,执行所述根据每个缓存请求获取对应的流媒体数据的步骤;或者在不存在与所述至少一个监控场景对应的缓存队列的情况下,创建与所述至少一个监控场景对应的缓存队列,执行所述根据每个缓存请求获取对应的流媒体数据的步骤。4.根据权利要求1至3任一项所述的流媒体数据缓存方法,其特征在于,所述方法还包括:在缓存的所述流媒体数据的时间长度超过所述设定缓存时长的情况下,移除所述缓存队列中的头部数据,继续缓存所述流体数据到所述缓存队列的尾部。5.根据权利要求4所述的流媒体数据缓存方法,其特征在于,按照下述步骤确定缓存的流媒体数据的时间长度:确定开始缓存所述媒体流数据的时间戳到结束缓存所述媒体流数据的时间戳之差为缓存所述媒体数据流的时间长度。6.一种流媒体数据缓存方法,其特征在于,包括:检测到获取流媒体数据的请求,所述请求包括:请求缓存队列中流媒体数据的请求开始时间和请求结束时间;根据所述流媒体数据的请求开始时间和请求结束时间,确定所述缓存队列中待获取的流媒体数据;获取所述缓存队列中待获取的流媒体数据。7.根据权利要求6所述的流媒体数据缓存方法,其特征在于,所述根据所述流媒体数据的请求开始时间和请求结束时间,确定所述缓存队列中待获取的流媒体数据,包括:在所述流媒体数据的请求开始时间和请求结束时间为有效时间的情况下,将所述流媒体数据的请求开始时间和请求结束时间与所述缓存队列中流媒体数据的每帧数据的时间戳从缓存队列的头部依次进行匹配;确定匹配成功的对应时间段内的流媒体数据为待获取的流媒体数据。8.根据权利要求6或7所述的流媒体数据缓存方法,其特征...

【专利技术属性】
技术研发人员:冯剑
申请(专利权)人:成都中科创达软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1