[发明专利]一种视频缓存方法、装置及可读存储介质有效
| 申请号: | 201810260499.8 | 申请日: | 2018-03-27 |
| 公开(公告)号: | CN110312156B | 公开(公告)日: | 2022-04-22 |
| 发明(设计)人: | 韩存爱 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
| 主分类号: | H04N21/433 | 分类号: | H04N21/433;H04N21/231 |
| 代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭润湘 |
| 地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 视频 缓存 方法 装置 可读 存储 介质 | ||
1.一种视频缓存方法,其特征在于,所述方法包括:
基于对视频播放程序的操作向服务器发送针对目标视频的视频播放请求,并接收所述服务器响应于所述视频播放请求发送的目标视频流,所述目标视频流包括I帧数据帧和非I帧数据帧,所述非I帧数据帧包括B帧数据帧和P帧数据帧;
将已缓存的I帧被释放后得到的空闲内存置于空闲内存缓冲队列包括的大缓冲队列中;以及,
将已缓存的B帧和P帧被释放后得到的空闲内存置于所述空闲内存缓冲队列包括的小缓冲队列中;其中,所述大缓冲队列中的每个空闲内存的内存量均大于所述小缓冲队列中的空闲内存的内存量;
根据所述I帧数据帧的数据帧数量从所述大缓冲队列中确定相等数量的空闲内存;
以及,根据所述非I帧数据帧的数据帧数量从所述小缓冲队列中确定相等数量的空闲内存;
利用获取的空闲内存,将所述I帧数据帧缓存于I帧数据帧对应的数据缓冲队列中;以及,
利用获取的空闲内存,将所述非I帧数据帧缓存于非I帧数据帧对应的数据缓冲队列中;
根据用户选择的视频播放场景或者上一视频播放周期的视频缓存信息及网络状态,确定目标缓存量;其中,所述视频播放场景用于指示视频片源的特性;
在利用获取的目标空闲内存缓存的数据帧的数量达到所述目标缓存量时,对已缓存的数据帧进行解码播放所述目标视频。
2.如权利要求1所述的方法,其特征在于,利用获取的目标空闲内存,将所述I帧数据帧和所述非I帧数据帧缓存于不同的数据缓冲队列中,包括:
根据所述目标视频流中的数据帧的获得顺序,依次为每个数据帧设置缓存顺序标记;其中,所述缓存顺序标记用于指示数据帧的解码顺序;
按照设置的缓存顺序标记,利用获取的目标空闲内存分别将所述I帧数据帧和所述非I帧数据帧缓存于不同的数据缓冲队列中。
3.如权利要求2所述的方法,其特征在于,根据所述目标视频流中的数据帧的获得顺序,依次为每个数据帧设置缓存顺序标记,包括:
根据所述目标视频流中的I帧数据帧的获得顺序,为每个I帧设置一级顺序标记,以及针对以每个I帧作为基准编码I帧的B帧和P帧设置两级顺序标记,所述两级顺序标记的第一级顺序标记为其对应的基准编码I帧的顺序标记,第二级顺序标记根据B帧和P帧的获得顺序设置。
4.如权利要求1所述的方法,其特征在于,根据所述目标视频流,从空闲内存缓冲队列中获取目标空闲内存,包括:
在所述空闲内存缓冲队列不为空时,则根据所述I帧数据帧和所述非I帧数据帧分别包括的数据帧数量,从所述空闲内存缓冲队列中获取所述目标空闲内存;
在所述空闲内存缓冲队列为空且满足预定等待条件时,则等待所述空闲内存缓冲队列中置入空闲内存,并从置入的空闲内存中获取所述目标空闲内存。
5.如权利要求4所述的方法,其特征在于,还包括:
在所述空闲内存缓冲队列为空但不满足所述预定等待条件时,则根据所述I帧数据帧和所述非I帧数据帧分别包括的数据帧的数据量申请内存;
利用申请的内存分别将所述I帧数据帧和所述非I帧数据帧缓存于不同的数据缓冲队列中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810260499.8/1.html,转载请声明来源钻瓜专利网。





