admin管理员组文章数量:1531948
2024年4月24日发(作者:)
(19)中华人民共和国国家知识产权局
(12)发明专利说明书
(21)申请号 CN2.1
(22)申请日 2013.01.28
(71)申请人 北京暴风科技股份有限公司
地址 100088 北京市海淀区马甸东路17号金澳国际大厦26层
(72)发明人 鲍金龙 杨立东 高上 李凤山
(74)专利代理机构
代理人
(51)
H04N21/414
H04N21/44
H04N21/4402
H04N21/643
(10)申请公布号 CN 103051941 A
(43)申请公布日 2013.04.17
权利要求说明书 说明书 幅图
(54)发明名称
一种在移动平台上播放本地视频的
方法和系统
(57)摘要
本发明公开了一种在移动平台上播
放本地视频的方法,包括如下步骤:S11:
当需要播放以F1格式封装的媒体文件时,
通知控制模块;S12:控制模块申请内存,
用于保存转码模块转码输出的内容;并将
以F1格式封装的媒体文件的地址传输给转
码模块;S13:转码模块读取磁盘上的以
F1格式封装的媒体文件,并转码成以F2
格式封装的媒体文件数据,并保存在上述
内存中;S14:根据系统播放器的请求,定
制的协议传输模块将转码生成的以F2格式
封装的媒体文件数据通过网络协议发送给
系统播放器,供其播放。该方法省却了现
有技术中播放视频所导致的时间和磁盘空
间的支出。此外,本发明还公开了一种在
移动平台上播放本地视频的系统。
法律状态
法律状态公告日
法律状态信息
2019-12-17
专利权的保全
2016-08-31
专利权人的姓名或者名称、地址
的变更
2015-10-28
授权
2013-05-15
实质审查的生效
2013-04-17
公开
法律状态
专利权的保全
专利权人的姓名或者名
称、地址的变更
授权
实质审查的生效
公开
2021-12-17
专利权的保全
专利权的保全
2021-12-07
专利权保全的解除
专利权保全的解除
权 利 要 求 说 明 书
1.一种在移动平台上播放本地视频的方法,其特征在于,包括如下步骤:
S11:当需要播放以F1格式封装的媒体文件时,通知控制模块;
S12:控制模块申请内存,用于保存转码模块转码输出的内容;并将以F1格式封
装的媒体文件的地址传输给转码模块;
S13:转码模块读取磁盘上的以F1格式封装的媒体文件,并转码成以F2格式封装
的媒体文件数据,并保存在上述内存中;
S14:根据系统播放器的请求,定制的协议传输模块将转码生成的以F2格式封装
的媒体文件数据通过网络协议发送给系统播放器,供其播放;
其中,F1格式为系统播放器不支持的媒体文件封装格式,F2格式为系统播放器支
持的媒体文件封装格式。
2.如权利要求1所述的一种在移动平台上播放本地视频的方法,其特征在于,在步
骤S13中,控制模块同时调动定制的协议传输模块监听等待系统播放器的播放请
求。
3.如权利要求2所述的一种在移动平台上播放本地视频的方法,其特征在于,步骤
S13与步骤S14之间还包括如下步骤:
步骤Sa:控制模块调用系统播放器向定制的协议传输模块通过网络协议请求播放
数据。
其特征在于,在步骤S13中,所述转码模块对以F1格式封装的媒体文件进行分段
转码;当内存写满时,转码暂停,直至协议传输模块将内存中的数据取走后,转码
模块继续转码。
5.一种在移动平台上播放本地视频的系统,其特征在于,包括控制模块、转码模块
和定制的协议传输模块;
所述控制模块控制整个播放进程,并实时控制转码模块、协议传输模块和移动平台
自带的系统播放器;
所述转码模块将以F1格式封装的媒体文件转码为以F2格式封装的媒体文件;
当系统播放器请求数据时,所述协议传输模块将转码生成的以F2格式封装的媒体
文件传输给系统播放器,供其播放;
其中,F1格式为系统播放器不支持的媒体文件封装格式,F2格式为系统播放器支
持的媒体文件封装格式。
6.如权利要求5所述的一种在移动平台上播放本地视频的系统,其特征在于,所述
转码模块将以F1格式封装的媒体文件转码为以F2格式封装的媒体文件后,并将
其保存在移动平台的内存中。
7.如权利要求5所述的一种在移动平台上播放本地视频的系统,其特征在于,所述
转码模块对以F1格式封装的媒体文件进行分段转码;当内存写满时,转码暂停,
直至协议传输模块将内存中的数据取走后,转码模块继续转码。
其特征在于,所述协议传输模块为定制的HTTP服务器传输模块。
说 明 书
技术领域
本发明涉及移动平台上的视频播放技术领域,特别涉及一种在移动平台上播放本地
视频的方法。此外,本发明还涉及一种在移动平台上播放本地视频的系统。
背景技术
在移动设备上观看多媒体文件已是越来越普及的大众需求。但是由于多媒体文件为
了减少保存传输的代价,大都采用压缩编码的方式后再封装保存。播放这些文件首
先要对其进行解封装后再解压缩,解压缩过程一般都有较高的运算复杂度。如果利
用软件来处理这个过程(实际上就是利用CPU来做复杂的解压缩运算),对CPU
的运算能力和电池的续航能力都是一个考验。而硬件解码器的解码效率高而且省电,
是移动平台播放多媒体文件的首选。但通常移动设备的开发包中不提供直接调用硬
件解码器的接口,只能通过调用系统播放器间接调用硬件解码器,而系统播放器支
持的媒体文件格式很有限,这就限制了硬件解码器的能力。例如:通常系统硬件解
码器支持H.264的视频编码标准和AAC的音频编码标准。但是大部分系统播放器
只支持MP4等少数文件封装格式,而不支持FLV等很多常用格式。这样,虽然采
用了H.264和AAC标准但使用FLV封装的媒体文件就不能用系统播放器播放。虽
然可以利用转码工具将FLV文件转码成MP4文件,但这需要额外的磁盘空间和操
作时间。
因而,现有技术存在有如下缺陷:
第一,在播放前,先直接转码生成新文件的办法需要额外的磁盘空间和时间,但对
于磁盘空间本就不足的移动设备,这个方法不可取。
第二,直接调用系统硬件解码器类似于一种破解的方法,是在猜测系统硬件解码器
的调用接口,这种方法有很大的技术难度,在某些移动平台甚至是无法解决的。
其中,上文中相关的技术术语解释如下:
媒体文件封装格式:多媒体信息一般通过压缩编码后封装到某种文件格式中进行保
存和传输,常用的多媒体文件格式有FLV、MP4、AVI、MKV、RMVB等;
系统媒体播放器:移动平台自带的多媒体文件播放器,通常会利用系统芯片自带的
硬件解码器来解码多媒体文件并播出。
发明内容
本发明要解决的技术问题为提供一种在移动平台上播放本地视频的方法,该方法的
结构设计可以利用系统播放器实时播放其原本不支持的文件格式,从而省却了现有
技术中先转码生成系统播放器支持的文件格式所导致的时间和磁盘空间的支出,提
高了播放效率,降低了播放成本。此外,本发明另一个要解决的技术问题为提供一
种在移动平台上播放本地视频的系统。
为解决上述技术问题,本发明提供一种在移动平台上播放本地视频的方法,包括如
下步骤:
S11:当需要播放以F1格式封装的媒体文件时,通知控制模块;
S12:控制模块申请内存,用于保存转码模块转码输出的内容;并将以F1格式封
装的媒体文件的地址传输给转码模块;
S13:转码模块读取磁盘上的以F1格式封装的媒体文件,并转码成以F2格式封装
的媒体文件数据,并保存在上述内存中;
S14:根据系统播放器的请求,定制的协议传输模块将转码生成的以F2格式封装
的媒体文件数据通过网络协议发送给系统播放器,供其播放;
其中,F1格式为系统播放器不支持的媒体文件封装格式,F2格式为系统播放器支
持的媒体文件封装格式。
优选地,在步骤S13中,控制模块同时调动定制的协议传输模块监听等待系统播
放器的播放请求。
优选地,步骤S13与步骤S14之间还包括如下步骤:
步骤Sa:控制模块调用系统播放器向定制的协议传输模块通过网络协议请求播放
数据。
优选地,在步骤S13中,所述转码模块对以F1格式封装的媒体文件进行分段转码;
当内存写满时,转码暂停,直至协议传输模块将内存中的数据取走后,转码模块继
续转码。
此外,为解决上述技术问题,本发明还提供一种在移动平台上播放本地视频的系统,
包括控制模块、转码模块和定制的协议传输模块;
所述控制模块控制整个播放进程,并实时控制转码模块、协议传输模块和移动平台
自带的系统播放器;
所述转码模块将以F1格式封装的媒体文件转码为以F2格式封装的媒体文件;
当系统播放器请求数据时,所述协议传输模块将转码生成的以F2格式封装的媒体
文件传输给系统播放器,供其播放;
其中,F1格式为系统播放器不支持的媒体文件封装格式,F2格式为系统播放器支
持的媒体文件封装格式。
优选地,所述转码模块将以F1格式封装的媒体文件转码为以F2格式封装的媒体
文件后,并将其保存在移动平台的内存中。
优选地,所述转码模块对以F1格式封装的媒体文件进行分段转码;当内存写满时,
转码暂停,直至协议传输模块将内存中的数据取走后,转码模块继续转码。
优选地,所述协议传输模块为定制的HTTP服务器传输模块。、
以下论述本发明的技术效果:
在本发明中,本发明提供一种在移动平台上播放本地视频的方法,包括如下步骤:
S11:当需要播放以F1格式封装的媒体文件时,通知控制模块;
S12:控制模块申请内存,用于保存转码模块转码输出的内容;并将以F1格式封
装的媒体文件的地址传输给转码模块;
S13:转码模块读取磁盘上的以F1格式封装的媒体文件,并转码成以F2格式封装
的媒体文件数据,并保存在上述内存中;
S14:根据系统播放器的请求,定制的协议传输模块将转码生成的以F2格式封装
的媒体文件数据通过网络协议发送给系统播放器,供其播放。
在上述方法设计中,在系统播放器与本地视频之间添加了控制模块和协议传输模块,
从而控制系统播放器对本地视频的调取,在实时播放过程中,通过转码模块将F1
文件转码为F2文件,并随着转码,将转码后的数据保存在内存中;同时,定制的
协议传输模块读取保存在内存中的数据,并根据系统播放器的请求,向系统播放器
传送数据,供其播放。
在现有技术中,当系统播放器播放其不支持的F1文件时,需要先将通过转码器将
该F1文件转码为F2文件,并保存在移动平台的磁盘中,然后再用系统播放器播
放,由此导致了转码时间和磁盘空间的支出,因而播放效率较低,播放成本较高。
而在本发明中,由上文所述,实时转码,实时控制,实时传输,从而省却了现有技
术中先转码生成系统播放器支持的文件格式所导致的时间和磁盘空间的支出,提高
了播放效率,降低了播放成本。
此外,本发明所提供的一种在移动平台上播放本地视频的系统,其技术效果与上文
相同,本发明在此不作限制。
附图说明
图1为本发明一种实施例中在移动平台上播放本地视频的方法的逻辑流程图;
图2为本发明一种实施例中在移动平台上播放本地视频的系统的逻辑原理图。
具体实施方式
本发明的核心为提供一种在移动平台上播放本地视频的方法,该方法的结构设计可
以利用系统播放器实时播放其原本不支持的文件格式,从而省却了现有技术中先转
码生成系统播放器支持的文件格式所导致的时间和磁盘空间的支出,提高了播放效
率,降低了播放成本。此外,本发明另一个核心为提供一种在移动平台上播放本地
视频的系统。
为了使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施
例对本发明作进一步的详细说明。
请参考图1和图2,图1为本发明一种实施例中在移动平台上播放本地视频的方法
的逻辑流程图;图2为本发明一种实施例中在移动平台上播放本地视频的系统的逻
辑原理图。
在一种实施例中,如图1所示,本发明所提供的一种在移动平台上播放本地视频的
方法,包括如下步骤:
S11:当需要播放以F1格式封装的媒体文件时,通知控制模块;
S12:控制模块申请内存,用于保存转码模块转码输出的内容;并将以F1格式封
装的媒体文件的地址传输给转码模块;
S13:转码模块读取磁盘上的以F1格式封装的媒体文件,并转码成以F2格式封装
的媒体文件数据,并保存在上述内存中;
S14:根据系统播放器的请求,定制的协议传输模块将转码生成的以F2格式封装
的媒体文件数据通过网络协议发送给系统播放器,供其播放;
其中,F1格式为系统播放器不支持的媒体文件封装格式,F2格式为系统播放器支
持的媒体文件封装格式。
具体地,在上述实施例中,在步骤S13中,控制模块同时调动定制的协议传输模
块监听等待系统播放器的播放请求。并且,步骤S13与步骤S14之间还包括如下
步骤:
步骤Sa:控制模块调用系统播放器向定制的协议传输模块通过网络协议请求播放
数据。
在上述实施例中,还可以做出进一步设计。具体地,在步骤S13中,所述转码模
块对以F1格式封装的媒体文件进行分段转码;当内存写满时,转码暂停,直至协
议传输模块将内存中的数据取走后,转码模块继续转码。
具体地,所述协议传输模块为定制的HTTP服务器传输模块,网络协议可以为
HTTP传输协议。当然,本发明对此不作限制,如果系统播放器支持,HTTP协议
可以换做RTSP、RTMP等流媒体协议。
在上述方法设计中,在系统播放器与本地视频之间添加了控制模块和HTTP服务器
传输模块,从而控制系统播放器对本地视频的调取,在实时播放过程中,通过转码
模块将F1文件转码为F2文件,并随着转码,将转码后的数据保存在内存中;同
时,定制HTTP服务器传输模块读取保存在内存中的数据,并根据系统播放器的请
求,向系统播放器传送数据,供其播放,从而实现了实时转码、实时传输、实时控
制和实时播放的目的。
在现有技术中,当系统播放器播放其不支持的F1文件时,需要先将通过转码器将
该F1文件转码为F2文件,并保存在移动平台的磁盘中,然后再用系统播放器播
放,由此导致了转码时间和磁盘空间的支出,因而播放效率较低,播放成本较高。
而在本发明中,由上文所述,实时转码,实时控制,实时传输,从而省却了现有技
术中先转码生成系统播放器支持的文件格式所导致的时间和磁盘空间的支出,提高
了播放效率,降低了播放成本。
此外,本发明还提供一种实施例中在移动平台上播放本地视频的系统。
具体地,如图2所示,该系统包括控制模块、转码模块和定制的协议传输模块;其
中,所述协议传输模块可以为基于HTTP协议定制的HTTP服务器传输模块,在此
基础上,系统播放器还需要支持通过HTTP协议播放。
在上述技术方案中,控制模块:控制整个播放进程,并实时控制转码模块、协议传
输模块和移动平台自带的系统播放器。
转码模块:负责读取要播放的文件,并将以F1格式封装的媒体文件转码为以F2
格式封装的媒体文件,并保存在内存中。
HTTP服务器传输模块:当系统播放器请求数据时,所述协议传输模块读取转码模
块保存到内存中的数据,将转码生成的以F2格式封装的媒体文件通过HTTP协议
传输给系统播放器,供其播放。
本发明技术方案实现的详细过程如下:
第一,当需要播放F1格式文件时,首先通知控制模块。
第二,控制模块首先申请内存(简称M)用于保存转码模块输出的内容;并将F1
格式文件地址传给转码模块。
第三,转码模块从磁盘中读取F1格式文件,并开始转码生成F2格式数据,并保
存在内存M中(注意:转码过程是陆续完成的,当内存写满时转码暂停,等待定
制的HTTP服务器传输模块从内存中将数据取走后腾出内存空间,转码过程再继续,
并将输出的数据保存在腾出的内存空间中)。
第四,与第三步同时,控制模块调起定制的HTTP服务器传输模块监听等待系统播
放器的请求。
第五,在第四步之后,控制模块调用系统播放器向定制的HTTP服务器传输模块通
过HTTP协议请求播放数据;
第六,定制的HTTP服务器传输模块监听到系统播放器的请求后,从内存M中将
数据通过HTTP协议发送给系统播放器;此后系统播放器开始播放。
在上述技术方案中,F1格式文件为FLV文件,F2格式文件为MP4文件,以下介
绍FLV文件到MP4文件的实时转码过程;当然,F1格式文件也不限于FLV文件,
还可以为其他的不被系统播放器支持的格式文件,F2格式文件也不限于MP4文件,
还可以为其他的被系统播放器支持的格式文件,本发明对此不作限制:
MP4文件由多个Box组成,其中最重要的两个Box是Movie Box和
Media Data Box。Media Data Box主要包括所有的音、视频编码生成的ES数据;
而Movie Box主要包括整个MP4媒体文件的基本信息,比如:其所含音视频数据
所采用的编码标准、各音视频数据帧在文件中的位置索引和播放相对时间等。
FLV文件包括FLV header和FLV File Body两部分,FLV File Body由连续排列的
FLV Tag组成,各个FLV Tag间包含着FLV Tag尺寸的信息。每个FLV Tag或是
包含描述数据或是包含一帧视频数据或是包含一帧音频数据。描述数据会包含
FLV File的各种相关信息,比如视频输出尺寸、音频输出声道数等;包含视频数据
帧和音频数据帧的FLVTag还会包含这些帧播放的相对时间信息。由以上所有这些
信息,可以很容易、很快速地整理出FLV文件转码成MP4文件所需要的所有信息。
从FLV到MP4实时转码:
首先,通过解析FLV header和遍历FLV Tag可以收集到生成MovieBox的所有信
息,其中包括FLV文件音视频数据和将要生成的MP4文件的Media Data Box所包
含音视频数据之间的对应关系;
其次,生成Movie Box保存在转码系统自有的缓存中;
最后,根据FLV音视频数据和MP4音视频数据之间的对应关系,以及已生成的
Movie Box,实时生成MP4文件数据。
以上对本发明所提供的一种在移动平台上播放本地视频的方法和系统进行了详细介
绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的
说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的
普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进
和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
版权声明:本文标题:一种在移动平台上播放本地视频的方法和系统 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1713957304a380102.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论