一种支持实时视频缓存多路读取的帧调整方法与流程

文档序号:17608705发布日期:2019-05-07 20:55阅读:来源:国知局

技术特征:

1.一种支持实时视频缓存多路读取的帧调整方法,其特征在于,包括以下步骤:

步骤1:根据数据源的信息和设备内存信息,设置主缓存数据链表的数目阈值;

步骤2:将每一路数据源的每一个帧拆分为若干个含有该帧信息的有序数据包,再将数据包按顺序写入主缓存数据链表中;

步骤3:针对主缓存的每一路读请求依次分配不同的读者ID,当读者读取某一个数据包的时候,将该包标识为该读者正在使用,读取完毕后,清除该读者的使用标识;

步骤4:判断主缓存队列的数目是否大于阈值,若是,则转到步骤5,若否,则转到步骤9;

步骤5:从主缓存的数据链表头部依次将没有读者使用的数据包按顺序放入空闲链表,直到有读者正在读取的数据包;

步骤6:将正在读取的数据包以及其后与其同属一个视频帧的数据包转移到二级缓存数据链表中;

步骤7:继续调整主缓存数据链表,将没有读者使用的数据包依次放入空闲链表,直到下一个关键帧的头包或者一个正在读取的数据包;

步骤8:判断主缓存队列的数目是否大于阈值,若是,则转到步骤5,若否,则转到步骤9;

步骤9:当读者读取到所在帧的最后一个数据包时,判断该读者读取的是否为二级缓存数据链表,若是,则将该读者移至主缓存中最新的关键帧处继续读取,将无读者读取的二级缓存的数据包放入空闲链表中,若否,则等待读取主缓存中最新的数据。

2.根据权利要求1所述的支持实时视频缓存多路读取的帧调整方法,其特征在于,步骤3中当读者读取数据包的时候,将读者ID标记入数据包中,表示该数据包正在使用,读者使用完毕后在数据包中清除该读者ID,表示该读者已使用完毕。

3.根据权利要求1所述的支持实时视频缓存多路读取的帧调整方法,其特征在于,所述主缓存数据链表为媒体数据缓存链表。

4.根据权利要求1所述的支持实时视频缓存多路读取的帧调整方法,其特征在于,所述二级缓存数据链表为主缓存数据链表的补充链表。

5.根据权利要求1所述的支持实时视频缓存多路读取的帧调整方法,其特征在于,所述空闲链表为内存池,用于为主缓存数据链表提供内存资源。

6.根据权利要求1所述的支持实时视频缓存多路读取的帧调整方法,其特征在于,步骤2中将数据包按顺序写入主缓存数据链表中具体为:从空闲链表中获取节点并写入数据,依次插入到主缓存数据链表中。

7.根据权利要求1所述的支持实时视频缓存多路读取的帧调整方法,其特征在于,步骤9中主缓存中最新的数据利用以下方式获取:从空闲链表中获取节点并写入数据,依次插入到主缓存数据链表中,并将主缓存中使用过的节点归还给空闲链表。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1