[发明专利]视频文件提供方法及装置有效
| 申请号: | 201510373553.6 | 申请日: | 2015-06-30 |
| 公开(公告)号: | CN104994433B | 公开(公告)日: | 2017-12-26 |
| 发明(设计)人: | 梁永生;徐永丰;周家飞 | 申请(专利权)人: | 上海帝联信息科技股份有限公司 |
| 主分类号: | H04N21/472 | 分类号: | H04N21/472;H04N21/858;H04N21/232 |
| 代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 郭学秀,吴敏 |
| 地址: | 200333 上海市*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 视频文件 提供 方法 装置 | ||
技术领域
本发明属于网络视频技术领域,特别是涉及一种视频文件提供方法及装置。
背景技术
FLV(Flash Video)流媒体格式是一种新兴的视频格式。FLV视频文件不仅可以轻松迅速地导入闪存(Flash)中,且能够对视频文件起到保护版权的作用,也可以不通过本地的微软或者REAL播放器播放视频。目前几乎所有的大型视频网站都采用FLV视频文件,是目前增长最快、最为广泛的视频传播格式。
视频拖动是一种按照范围请求视频内容的方法,分为按时间范围和文件偏移量范围两种方式。现有技术中,FLV视频文件拖动一般是根据脚本标记(script tag)中的关键帧(keyframes)列表实现的,此列表将关键帧的时间与在闪存视频文件中的偏移量一一对应起来。
但是,不是所有的FLV视频文件中均带有keyframes列表。对于没有keyframes列表的FLV视频文件,当获取到用户的请求时间时,需要从文件的第一个数据帧到位于文件末尾的最后一个数据帧进行一一遍历,以确定用户需要的数据帧的起始位置和结束位置,并将对应的视频文件数据返回给用户。因此,对于这种视频文件的提供方法存在处理速度缓慢,且会对磁盘造成较大的压力。
发明内容
本发明实施例解决的问题是提高视频文件的提供速度,减小对磁盘造成的压力。
为解决上述问题,本发明实施例提供了一种视频文件播放方法,所述方法包括:
根据接收到的来自客户端的播放请求,获取视频文件的搜索起始位置;
根据所述搜索起始位置,确定对应的数据帧,并将所确定的所述数据帧对应的视频文件的内容返回给所述客户端进行播放,其中,所述视频文件包括两个以上的关键帧。
可选地,所述根据接收到的来自客户端的播放请求,获取视频文件的搜索起始位置,包括:
从所述播放请求中获取所述请求播放起始时间点,从所述视频文件的文件头中获取所述视频文件的总时间和总大小的信息;
采用所述播放起始时间点与所述视频文件的总大小的乘积除以所述视频文件的总时间得到所述搜索起始位置。
可选地,所述根据所述搜索起始位置,确定对应的数据帧,并将所确定的数据帧对应的视频文件的内容返回给客户端进行播放,包括:
当确定所述搜索起始位置不具有数据帧帧头特征时,从所述搜索起始位置开始进行位置偏移,以搜索得到一具有数据帧帧头特征的位置;
从所述具有数据帧帧头特征的位置的第一位置中获取第一数值的信息;
当确定所述第一数值为第一预设数值时,从所述具有数据帧帧头特征的位置中的第二位置处获取第二数值的信息,并从所述具有数据帧帧头特征的位置偏移一数据帧的大小到达第三位置处,从所述第三位置处获取第三数值的信息;
当确定所述第二数值与第二预设数值之和等于所述第三数值时,确定所述具有数据帧帧头特征的位置所在的帧为数据帧;
判断所述数据帧是否为关键帧;
当判断所述数据帧为关键帧时,判断所述关键帧对应的时间与所述播放起始时间点是否一致;
当确定所述关键帧对应的时间与所述播放起始时间点一致时,确定所述关键帧为与所述播放请求起始时间对应的关键帧;
从所述与所述播放请求起始时间对应的数据帧开始向后进行位置偏移得到与从所述播放请求中获取的播放请求结束时间对应的关键帧;
将所述播放请求起始时间点对应的关键帧至所述播放请求结束时间点对应的关键帧对应的视频文件的内容返回给客户端进行播放。
可选地,当确定所述第二数值与第二预设数值之和等于所述第三数值时,还包括:
分别获取所述数据帧的前一数据帧的帧头中记录的帧类型和数据大小,以及帧尾中记录的数据大小的信息;
当根据所述前一数据帧的帧头中的帧类型确定所述前一数据帧为所述预设类型的数据帧,且所述前一数据帧的帧头中记录的数据大小与所述预设数值之和,与帧尾中记录的数据大小相等时,确定所述数据帧为所述搜索起始时间对应的数据帧。
可选地,当所述数据帧的帧头中记录的数据大小与预设数值之和,与所述数据帧的帧尾中记录的数据大小相等时,还包括:
分别获取所述数据帧的后一数据帧的帧头中记录的帧类型和数据大小,以及帧尾中记录的数据大小的信息;
当根据所述后一数据帧的帧头中帧类型确定所述后一数据帧为所述预设类型的数据帧,且所述后一数据帧的帧头中记录的数据大小与所述预设数值之和,与帧尾中记录的数据大小相等时,确定所述数据帧为与所述请求时间对应的数据帧。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海帝联信息科技股份有限公司,未经上海帝联信息科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510373553.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种带LED照明化妆镜的多媒体音箱
- 下一篇:视频信号显示方法和系统





