【技术实现步骤摘要】
数据封装方法及装置、设备、存储介质
[0001]本申请实施例涉及数据处理技术,涉及但不限于一种数据封装方法及装置、设备、存储介质。
技术介绍
[0002]在智能视觉等领域中,通常需要这样一个视频处理平台,该视频处理平台用于对接入的外部采集设备进行视频流解析、并对解析后的视频流进行批量封装,然后将数据传输给算法模块进行分析处理。特别地,在海量视频流接入的情况下,如何以一种高效的方式将多路视频流数据进行封装,对于系统高性能、低延时指标的影响至关重要。
技术实现思路
[0003]有鉴于此,本申请实施例提供一种数据封装方法及装置、设备、存储介质。
[0004]本申请实施例的技术方案是这样实现的:
[0005]第一方面,本申请实施例提供一种数据封装方法,所述方法包括:获取包括多路视频的第一视频序列;对所述多路视频在第一视频序列中的排序进行调整,得到第二视频序列;基于所述多路视频在所述第二视频序列中的排序,将所述多路视频依次加入缓存池;对所述缓存池中的所述多路视频进行封装,得到封装后的视频数据。
[0006]通过上述方式,在海量视频接入时,能够使得每路视频流处理具有随机性,从而实现了整体数据的平衡性。
[0007]在一些实施例中,所述对所述多路视频在第一视频序列中的排序进行调整,得到第二视频序列,包括:获取所述第一视频序列中每一路视频的标识信息;对所述标识信息进行排序,得到所述标识信息的排序结果;根据所述排序结果,对所述多路视频在第一视频序列中的排序进行调整,得到第二视频序列。r/>[0008]通过上述方式,能够利用每路视频流的标识信息对多路视频在第一视频序列中的排序进行调整。
[0009]在一些实施例中,所述基于所述多路视频在所述第二视频序列中的排序,将所述多路视频依次加入缓存池,包括:基于所述多路视频在所述第二视频序列中的排序,将所述多路视频中的第一视频加入缓存池;在所述缓存池未达到刷新条件的情况下,基于所述多路视频在所述第二视频序列中的排序,将所述多路视频中的第二视频加入缓存池;其中,所述第一视频与所述第二视频在所述第二视频序列中处于相邻位置。
[0010]通过上述方式,能够在每次往缓存池中加入数据前检查缓存池,然后根据此时的刷新条件确定是否继续加入数据。
[0011]在一些实施例中,所述对所述缓存池中的所述多路视频进行封装,得到封装后的视频数据,包括:对已加入所述缓存池的视频进行封装,得到封装后的视频数据;所述方法还包括:在所述缓存池达到刷新条件的情况下,将封装后的视频数据传输至业务处理模块,并清空所述缓存池。
[0012]通过上述方式,能够在每次往缓存池中加入数据前检查缓存池,然后根据此时的刷新条件确定是否将缓存池内的数据传输给业务处理模块。
[0013]在一些实施例中,所述刷新条件包括以下至少一种:所述缓存池中的已存数据量大于第一预设阈值;其中,所述第一预设阈值由所述多路视频的视频路数确定;所述缓存池中的已存数据量大于第二预设阈值;其中,所述第二预设阈值由所述缓存池的当前容量确定;设置的定时器达到预设的超时时间。
[0014]通过上述方式,能够根据当前视频流接入情况、当前缓存池的容量等更新刷新机制,具有更低的数据处理延时性。
[0015]在一些实施例中,所述方法还包括:确定所述缓存池所在设备的工作参数;根据所述设备的工作参数,调整所述缓存池的工作参数;其中,所述缓存池的工作参数包括以下至少一种:缓存池的容量、缓存池的超时时间。
[0016]通过上述方式,能够根据需求合理设定缓存池的工作参数,相比相关技术中单路单池的设计更具扩展性。
[0017]在一些实施例中,在所述设备的工作参数包括设备的负载、且所述缓存池的工作参数包括缓存池的容量的情况下,所述根据所述设备的工作参数,调整所述缓存池的工作参数,包括:在所述设备的负载大于第一预设阈值的情况下,减少所述缓存池的容量;或,在所述设备的负载小于等于所述第一预设阈值的情况下,增加所述缓存池的容量。
[0018]通过上述方式,能够根据设备的负载动态地调整缓存池的容量大小。
[0019]在一些实施例中,在所述设备的工作参数包括特定任务的耗时时长、且所述缓存池的工作参数包括缓存池的超时时间的情况下,所述根据所述设备的工作参数,调整所述缓存池的工作参数,包括:在所述特定任务的耗时时长小于第二预设阈值的情况下,降低所述缓存池的超时时间;或,在所述特定任务的耗时时长大于等于所述第二预设阈值的情况下,提高所述缓存池的超时时间。
[0020]通过上述方式,能够根据特定任务的耗时时长动态地调整缓存池的超时时间。
[0021]在一些实施例中,所述对所述多路视频在第一视频序列中的排序进行调整,得到第二视频序列,包括:对所述第一视频序列进行解码,得到多个视频帧数据;建立所述第一视频序列中每一路视频的标识信息与预设的视频流结构之间的映射关系;基于所述映射关系和所述多个视频帧数据,对所述多路视频在第一视频序列中的排序进行调整,得到第二视频序列;所述基于所述多路视频在所述第二视频序列中的排序,将所述多路视频依次加入缓存池,包括:基于所述多路视频在所述第二视频序列中的排序,将所述多路视频的视频帧数据依次加入缓存池。
[0022]通过上述方式,能够利用精确的映射机制实现在视频流封装分解过程中数据的正确性。
[0023]第二方面,本申请实施例提供一种数据封装装置,所述装置包括:获取单元,用于获取包括多路视频的第一视频序列;调整单元,用于对所述多路视频在第一视频序列中的排序进行调整,得到第二视频序列;加入单元,用于基于所述多路视频在所述第二视频序列中的排序,将所述多路视频依次加入缓存池;封装单元,用于对所述缓存池中的所述多路视频进行封装,得到封装后的视频数据。
[0024]第三方面,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存
储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述数据封装方法中的步骤。
[0025]第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述数据封装方法中的步骤。
[0026]本申请实施例提供一种数据封装方法及装置、设备、存储介质,通过获取包括多路视频的第一视频序列;对所述多路视频在第一视频序列中的排序进行调整,得到第二视频序列;基于所述多路视频在所述第二视频序列中的排序,将所述多路视频依次加入缓存池;对所述缓存池中的所述多路视频进行封装,得到封装后的视频数据,如此,在海量视频接入时,能够使得每路视频流处理具有随机性,从而实现了整体数据的平衡性。
附图说明
[0027]图1为本申请实施例数据封装方法的实现流程示意图一;
[0028]图2为本申请实施例数据封装方法的实现流程示意图二;
[0029]图3为本申请实施例数据封装方法的实现流程示意图三;
[0030]图4为本申请实施例数据封装装置的组成结构本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种数据封装方法,其特征在于,所述方法包括:获取包括多路视频的第一视频序列;对所述多路视频在第一视频序列中的排序进行调整,得到第二视频序列;基于所述多路视频在所述第二视频序列中的排序,将所述多路视频依次加入缓存池;对所述缓存池中的所述多路视频进行封装,得到封装后的视频数据。2.根据权利要求1所述的方法,其特征在于,所述对所述多路视频在第一视频序列中的排序进行调整,得到第二视频序列,包括:获取所述第一视频序列中每一路视频的标识信息;对所述标识信息进行排序,得到所述标识信息的排序结果;根据所述排序结果,对所述多路视频在第一视频序列中的排序进行调整,得到第二视频序列。3.根据权利要求1或2所述的方法,其特征在于,所述基于所述多路视频在所述第二视频序列中的排序,将所述多路视频依次加入缓存池,包括:基于所述多路视频在所述第二视频序列中的排序,将所述多路视频中的第一视频加入缓存池;在所述缓存池未达到刷新条件的情况下,基于所述多路视频在所述第二视频序列中的排序,将所述多路视频中的第二视频加入缓存池;其中,所述第一视频与所述第二视频在所述第二视频序列中处于相邻位置。4.根据权利要求1至3任一项所述的方法,其特征在于,所述对所述缓存池中的所述多路视频进行封装,得到封装后的视频数据,包括:对已加入所述缓存池的视频进行封装,得到封装后的视频数据;所述方法还包括:在所述缓存池达到刷新条件的情况下,将封装后的视频数据传输至业务处理模块,并清空所述缓存池。5.根据权利要求3或4所述的方法,其特征在于,所述刷新条件包括以下至少一种:所述缓存池中的已存数据量大于第一预设阈值;其中,所述第一预设阈值由所述多路视频的视频路数确定;所述缓存池中的已存数据量大于第二预设阈值;其中,所述第二预设阈值由所述缓存池的当前容量确定;设置的定时器达到预设的超时时间。6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:确定所述缓存池所在设备的工作参数;根据所述设备的工作参数,调整所述缓存池的工作参数;其中,所述缓存池的工作参数包括以下至少一种:缓存池的容量、缓存池的超时时间。7.根据权利要求6所述的方法,其特征...
【专利技术属性】
技术研发人员:罗雕,孙栋梁,张帅,
申请(专利权)人:成都商汤科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。