[发明专利]一种支持MP4文件逐行下载实时转换的方法在审
申请号: | 201510976195.8 | 申请日: | 2015-12-24 |
公开(公告)号: | CN105578276A | 公开(公告)日: | 2016-05-11 |
发明(设计)人: | 王雪辉;谢亚光;陈勇 | 申请(专利权)人: | 杭州当虹科技有限公司 |
主分类号: | H04N21/4402 | 分类号: | H04N21/4402;H04N21/854 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310000 浙江省杭州市滨江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 mp4 文件 逐行 下载 实时 转换 方法 | ||
技术领域
本发明涉及一种支持MP4文件逐行下载实时转换的方法。
背景技术
MP4文件格式是基于ISO/IEC14496-12:2012(MPEG-4Part12:ISObase mediafileformat),还有MOV、3GP、QT等都是以上述规范为基本模板的。对 于该类文件的解析过程,通常首先是读取文件的描述信息‘moov’box,然后再读 取数据信息‘mdat’box。其中‘moov’box包括了播放的必需元素:类型描述 (‘stsd’box),时间戳描述(‘stts’、‘ctts’box)以及文件物理位置(‘stco’或‘co64’box) 等。而‘mdat’box是用来存储文件数据,在整个文件大小中占有最大比例。
对于HTTP流媒体服务器来说,对文件系统有一个要求,需要满足逐行下 载(Progressivedownload)。也就是说对于MP4文件,要想快速加载及播放该类 文件,‘moov’box一定要在‘mdat’box的前面,否则服务器要先下载完‘mdat’box, 才能下载到‘moov’box,这是服务器无法接受的。所以当流媒体服务请求到这类 文件时,通常都是直接拒绝掉,不能播放的。
发明内容
基于此,有必要提供一种通过高效的转换算法,使请求端对所请求的MP4 文件可满足逐行下载的支持MP4文件逐行下载实时转换的方法。
根据本发明的一方面,提供了一种支持MP4文件逐行下载实时转换的方法, 包括如下步骤:
解析原始MP4文件并根据box划分成五个部分,五个部分分别为A1、A2、 A3、A4和A5,记录关键box的位置及大小;
构造新的虚拟文件组成,并算出虚拟文件的物理位置;
计算出原始MP4文件与虚拟文件的物理位置的offset,并在虚拟文件的物 理位置加上offset;
当接收请求端发送的请求数据时,根据请求的RequestPos做映射,将虚拟 文件的位置映射到原始MP4文件。
在其中一个实施例中,解析原始MP4文件并根据关键box划分成五个部分 的步骤中,A1包括‘fytp’box,A2包括‘moov’box,A3包括‘free’box,A4包括 ‘mdat’box,A5包括‘free’box。
在其中一个实施例中,记录关键box的位置及大小步骤中,关键box的位 置包括P1和P2,P1为original‘mdat’position,P2为original‘moov’position, 关键box的大小包括S1和S2,S1为‘mdat’size,S2为‘moov’size。
在其中一个实施例中,计算出原始MP4文件与虚拟文件的物理位置的偏移 值的步骤中,偏移值的算法为:offset=P2-P1+S1-S2。
在其中一个实施例中,构造新的虚拟文件组成步骤,还包括计算出虚拟文 件的P3,P3为virtual‘mdat’position,算法为P3=P2+S2-S1。
在其中一个实施例中,根据请求的RequestPos做映射的步骤中,具体映射 方法如下:
a、当RequestPos在A1或A5,则直接读取原始文件;
b、当RequestPos在A2,读取’moov’box数据;
c、当RequestPos在A3,映射为RequestPos+S1-S2;
d、当RequestPos在A4,映射为RequestPos+P1-P3。
这种支持MP4文件逐行下载实时转换的方法,通过设计虚拟MP4文件,将 ‘moov’box移至‘mdat’box前,可以实时的将非逐行下载的MP4文件转换为逐行 下载文件,使点播系统可以兼容更多的MP4文件。
附图说明
图1为一般原始MP4文件划分成五个部分的组成示意图;
图2为通过本发明一实施方式的支持MP4文件逐行下载实时转换的方法所 构造出的新的文件的五个部分的组成示意图。
具体实施方式
为了便于理解本发明,下面将用具体实施例对本发明进行更全面的描述。 但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。 相反地,提供这实施例的目的是使对本发明的公开内容的理解更加透彻全面。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州当虹科技有限公司,未经杭州当虹科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510976195.8/2.html,转载请声明来源钻瓜专利网。