【技术实现步骤摘要】
一种数据流封装方法、装置、设备、存储介质及程序产品
[0001]本申请涉及数据处理技术,尤其涉及一种数据流的封装方法、装置、设备、存储介质及程序产品。
技术介绍
[0002]为了便于数据流的传输和分发,通常需要对获得的媒体数据流封装为传输数据流。然而,相关技术中,在生成传输数据流时,均需要引入一些冗余数据。在针对相同的媒体数据流进行进行封装的基础下,引入的冗余数据越多,必然会使得传输数据流的大小增加,也即所得到的传输数据流存在所造成的传输资源消耗大、传输时延较高的问题。
技术实现思路
[0003]本申请实施例提供一种数据流封装方法、装置、设备、计算机可读存储介质及计算机程序产品,能够减小传输数据流的传输资源的消耗和传输时延。
[0004]本申请实施例的技术方案是这样实现的:
[0005]本申请实施例提供一种数据流封装方法,包括:
[0006]针对存储路径中的媒体数据流进行解析,得到所述媒体数据流的媒体信息、N个帧数据、以及每个所述帧数据对应的时间信息;
[0007]利用所述媒体 ...
【技术保护点】
【技术特征摘要】
1.一种数据流封装方法,其特征在于,所述方法包括:针对存储路径中的媒体数据流进行解析,得到所述媒体数据流的媒体信息、N个帧数据、以及每个所述帧数据对应的时间信息;利用所述媒体信息,生成用于解析所述媒体数据流对应的传输数据流的元数据;基于每个所述帧数据对应的所述时间信息,针对N个所述帧数据进行封装,得到M个数据包;M<N,M和N均为正整数;将M个所述数据包分别进行切片,并针对切片所得到的T个切片数据进行封装,得到T个传输包;T为正整数;将所述元数据对应的传输包,以及T个所述传输包所组成的数据流,确定为所述媒体数据流对应的传输数据流,完成对所述媒体数据流的封装。2.根据权利要求1所述的方法,其特征在于,所述基于每个所述帧数据对应的所述时间信息,针对N个所述帧数据进行封装,得到M个数据包,包括:针对N个所述帧数据中的第i个所述帧数据进行类型确定,得到第i个所述帧数据所对应的帧类型;其中,1≤i≤N,所述帧类型用于表征所述帧数据是否为关键帧;依据第i个所述帧数据对应的所述帧类型,确定第i个所述帧数据对应的待封装包,并利用每个所述帧数据所对应的时间信息中与所述待封装包相对应的目标时间信息,对所述待封装包进行封装,得到对应的数据包;当将i迭代至N时,完成对N个所述帧数据的封装,得到M个所述数据包。3.根据权利要求2所述的方法,其特征在于,所述依据第i个所述帧数据对应的所述帧类型,确定第i个所述帧数据对应的待封装包,包括:当所述帧类型表征第i个所述帧数据属于关键帧时,将第i个所述帧数据的确定为第i个所述帧数据对应的待封装包;当所述帧类型表征第i个所述帧数据为非关键帧时,将第i个所述帧数据与缓存队列中的帧数据进行合并,并将合并结果确定为第i个所述帧数据的待封装包。4.根据权利要求3所述的方法,其特征在于,所述将第i个所述帧数据与缓存队列中的帧数据进行合并,包括:将第i个所述帧数据写入至缓存队列中,并在所述缓存队列中的帧数据的数据量达到缓存阈值时,对所述缓存队列中的所述帧数据进行合并,得到所述合并结果。5.根据权利要求2至4任一项所述的方法,其特征在于,所述目标时间信息包括:显示时间戳和解码时间戳;所述利用每个所述帧数据所对应的时间信息中与所述待封装包相对应的目标时间信息,对所述待封装包进行封装,得到对应的数据包,包括:对所述显示时间戳和所述解码时间戳进行一致性确定,得到一致性结果;依据所述一致性结果,针对所述待封装包的封装头进行字段设置,得到所述待封装包的目标封装头;针对所述待封装包添加所述目标封装头,完成对所述待封装包的封装,得到对应的所述数据包。6.根据权利要求5所述的方法,其特征在于,所述依据所述一致性结果,针对所述待封装包的封装头进行字段设置,得到所述待封装包的目标封装头,包括:当所述一致性结果表征所述显示时间戳和所述解码时间戳一致时,将所述显示时间戳
写入到所述封装头中,并将所述封装头中的时间戳标识字段设置为第一数值,得到所述待封装包的所述目标封装头;当所述一致性结果表征所述显示时间戳和所述解码时间戳不一致时,将所述显示时间戳和所述解码时间戳共同写入所述封装头中,并将所述封装头中的时间戳标识字段设置为第二数值,得到所述待封装包的所述目标封装头。7.根据权利要求1至4任一项所述的方法,其特征在于,所述针对切片所得到的T个切片数据...
【专利技术属性】
技术研发人员:彭然,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。