[发明专利]一种离线视频播放方法、装置、设备及介质有效
申请号: | 202010162807.0 | 申请日: | 2020-03-10 |
公开(公告)号: | CN111327941B | 公开(公告)日: | 2022-07-08 |
发明(设计)人: | 林晓鑫 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | H04N21/433 | 分类号: | H04N21/433;H04N21/4402;H04N21/845 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 离线 视频 播放 方法 装置 设备 介质 | ||
1.一种离线视频播放方法,其特征在于,包括:
获取存储在本地的第一数据,所述第一数据为记录有第一视频的第一部分的信息数据,所述第一视频为直播软件直播过程中,通过离线缓存下载到本地的已经播放完毕的直播画面视频,所述第一数据的长度为缓存空间能够处理的最大数据长度;
创建第一媒体流;所述第一媒体流为用于管理播放的播放控件;
将所述第一数据加入所述第一媒体流中;
在所述第一媒体流中根据所述第一数据获取第二数据,包括:读取所述第一数据所记录的视频时长、视频宽高、视频关键帧及视频存储位置偏移量中的至少一种信息;根据所述第一数据所记录的视频时长、视频宽高、视频关键帧及视频存储位置偏移量中的至少一种信息,将所述第一数据封装为具有视频播放格式的视频流,以得到所述第二数据;其中,所述第二数据的数据格式为视频播放器播放的数据格式;其中,将所述第一数据封装为具有视频播放格式的视频流得到所述第二数据包括:从存储在本地缓存区中的第一数据二进制流片段解析出元数据moov,根据元数据moov中的关键帧信息取出视频帧、音频帧封装成视频分片的描述信息moofbox和实际媒体数据mdat box,得到当前切片视频的第二数据格式,继续读取下一段本地缓存区的第一数据二进制流片段,重复上述步骤,直至整个视频资源读取完毕;
按照所述第二数据的数据格式,通过所述视频播放器播放所述第一媒体流中的所述第二数据;
所述获取存储在本地的第一数据之前,还包括:
获取离线缓存请求,所述离线缓存请求用于请求缓存所述第一视频;
根据所述离线缓存请求,通过服务线程将所述第一视频下载到本地缓存中;
当下载完成时,控制所述服务线程向主线程发送第一通知消息,所述第一通知消息用于通知所述第一视频缓存完毕;
控制所述服务线程向数据库系统发送所述第一视频的缓存信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述离线缓存请求通过服务线程将所述第一视频下载到本地缓存中,包括:
控制所述服务线程获取所述第一视频的下载信息;
控制所述服务线程向所述主线程发送所述第一视频的下载信息。
3.根据权利要求1所述的方法,其特征在于,所述下载信息包括下载进度,则所述控制所述服务线程获取所述第一视频的下载信息,包括:
控制所述服务线程根据已下载所述第一视频的大小a除以所述第一视频的总大小b得到所述下载进度n=a/b。
4.根据权利要求1所述的方法,其特征在于,所述下载信息包括下载速度,则所述控制所述服务线程获取所述第一视频的下载信息,包括:
控制所述服务线程根据已下载所述第一视频的大小a除以两次获取下载进度之间的时间间隙t得到所述下载速度v=a/t。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取删除请求,所述删除请求用于请求删除缓存在本地的所述第一视频;
根据所述删除请求控制所述服务线程将本地缓存中的所述第一视频删除;
控制所述服务线程向所述主线程发送第二通知消息,所述第二通知消息用于通知所述第一视频已被删除;
控制所述服务线程将数据库系统中所述第一视频的缓存信息删除。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010162807.0/1.html,转载请声明来源钻瓜专利网。