对移动终端中非支持格式的视频进行转换的方法及系统的制作方法

文档序号:9331008阅读:242来源:国知局
对移动终端中非支持格式的视频进行转换的方法及系统的制作方法
【技术领域】
[0001]本申请涉及视频播放领域,具体地说,是涉及一种对移动终端中非支持格式的视频进行转换的方法及系统。
【背景技术】
[0002]目前,移动终端从互联网多媒体中点播视频越来越广泛,而常用的视频又具有各种不同的格式。视频格式就是指将视频中的视频数据、音频数据和相关信息数据组织起来的方式。视频数据在存储和传输过程中都是按照某种特定的格式来实现的,不同的视频格式实现方式也不相同的。现阶段常用的视频格式主要有TS、FLV、HLS等。
[0003]TS (Transport Stream),全称为MPEG2-TS,是高清摄像机拍摄下进行的文件封装格式。TS文件是通过分包发送的,每一个包长为188字节。包的结构为:包头为4个字节,负载为184个字节。在TS流里可以填入很多类型的数据,如视频、音频、自定义信息等。TS主要应用于实时传送视频,比如实时广播的电视节目。TS格式的视频文件的特点是从视频流的任一片段开始都是可以独立解码播放的,目前的移动终端播放器都是可以独立播放TS格式视频文件的。
[0004]HLS (HTTP Live Streaming)是基于HTTP的流媒体传输协议,可实现流媒体的直播和点播,主要应用在1S系统,为1S设备提供音视频直播和点播方案。HLS点播,基本上就是常见的分段HTTP点播,不同在于,它的分段非常小。要实现HLS点播,重点在于对媒体文件分段,目前有不少开源工具可以使用。HLS文件包括一个m3u8的索引文件、TS媒体分片文件和key加密串文件。
[0005]为了播放某个视频,终端上的视频播放器首选需要识别出该视频的格式,并按照相关协议对视频进行正确的分析。在实际应用中,出于成本等因素的考虑,一种播放器往往仅支持一种或某几种特定的视频播放格式,而对于其它不支持的格式是不能进行播放的。
[0006]然而,在某些情况下,用户还希望终端播放器能够播放其它不支持的视频格式。随着移动终端的普及,这种需求也越来越普遍。
[0007]就以现在的1S系统播放器为例,正如本领域公知的,1S系统的系统播放器是不支持FLV格式的视频播放的,但是1S系统支持HLS格式的视频播放。并且1S系统版本也没有开放硬件解码接口,只有系统播放器具有硬件解码的能力。如此,在1S系统的视频播放器播放FLV等非系统播放器支持格式的视频播放时,因无法使用硬件解码功能,会导致系统帧率低、发热多以及耗电量高等问题。
[0008]目前的解决方式是通过服务器完成FLV格式的转换,再传输给本地播放器播放。这种方式的服务器包括:流化模块、格式转换模块和存储模块。客户端通过网络向服务器请求视频数据,如果请求的视频为播放器支持的格式,流化模块直接从存储模块读取数据并发送至播放器播放;如果播放器请求的数据不是其支持的格式,则流化模块将请求发送给格式转换模块,格式转换模块从存储模块读取原始的视频数据,并将其转换成播放器支持的视频格式(通常是HLS格式),并将转换后的视频数据返回给流化模块,再通过流化模块将转换后的视频数据发送给播放器。按照此种方案,格式的转换过程全部是在后台服务器完成的,播放器收到的永远是其支持的视频格式。
[0009]以下结合图1和2说明现有技术中移动终端播放非支持格式视频的方法:
[0010]其中,图1为现有技术中移动终端播放非支持格式视频的系统结构示意图,具体内容为:
[0011]互联网分别连接移动终端和服务器,通过互联网实现移动终端和服务器的数据信息传输。并且,服务器还包括:存储模块、格式转换模块和流化模块,存储模块、格式转换模块和流化模块上述模块之间彼此两两相连接。
[0012]如图2所示,为现有技术中移动终端播放非支持格式视频的示意图,具体内容为:
[0013]步骤201,移动终端向网络服务器发送视频播放请求;
[0014]步骤202,网络服务器经过解析、读取和计算处理后向移动终端发送索引文件及第一片TS文件;
[0015]步骤203,移动终端获取第一片TS文件;
[0016]步骤204,移动终端的播放器播放第一片TS文件;
[0017]步骤205,网络服务器向移动终端发送第二片TS文件;
[0018]步骤206,移动终端获取第二片TS文件;
[0019]步骤207,移动终端的播放器播放第二片TS文件;
[0020]步骤208,网络服务器向移动终端发送第三片TS文件;
[0021]步骤209,移动终端获取第三片TS文件;
[0022]步骤210,移动终端的播放器播放第三片TS文件;
[0023]如此,网络服务器将移动终端非支持格式的视频转换为移动终端支持视频格式的TS分片文件发送至移动终端,移动终端依次接收网络服务器发送的经过转换的TS分片文件进行播放。
[0024]移动终端通过互联网向服务器请求视频数据时,如果请求的视频为移动终端播放器支持的格式,流化模块直接从存储模块读取数据并发送至移动终端播放器;若移动终端请求的是非移动终端播放器支持的格式视频,则流化模块将请求信息发送至格式转换模块,格式转换模块收到请求信息之后从存储模块中读取原始的视频数据,并将原始的视频数据转换成终端播放器支持的视频格式(通常是HLS格式),再将转换后的视频数据返回给流化模块,通过流化模块将转换后的视频数据发送至移动终端。
[0025]但是按照上述的现有方法,终端播放器就无法播放本地的非支持格式视频,只能播放在服务器转换好的终端播放器支持的视频格式。而且,当移动终端较多时,服务器就需要同时进行大量的格式转换工作,这对服务器本身性能要求较高,大大增加了服务器成本。在实际部署中,为了增加网络效率,往往将服务器的流化模块部署在边缘节点,而将格式转换模块部署在中心节点,如此,流化模块和格式转换模块之间的网络传输又会成为性能瓶颈。
[0026]从上述内容可以看出,现有在1S支持的设备上,解决移动终端播放本地不支持格式视频,尤其是FLV格式视频会出现以下问题:
[0027]1、现有技术中在1S支持的移动终端上移动终端不能播放本地的不支持格式视频如FLV格式视频,要想播放不支持格式视频只能通过从服务器下载。
[0028]2、在服务器上转换视频格式然后下载的不足就是,当移动终端较多时,服务器就需要同时进行大量的格式转换工作,加大了服务器本身性能要求,大大增加了服务器成本。
[0029]3、现有技术中,服务器的流化模块和格式转换模块之间的网络传输性能效率低,从而导致移动终端视频播放不流畅的问题。

【发明内容】

[0030]为了解决在上述现有技术中出现的问题,本发明的目的是提供一种对移动终端中非支持格式的视频进行转换的方法及系统,以解决现有技术中在1S支持的移动终端上不能播放本地的不支持格式视频,如FLV格式视频的问题。
[0031]本发明提供了一种对移动终端中非支持格式的视频进行转换的方法,该方法包括:
[0032]所述移动终端接收向网络服务器发送非支持格式的视频请求信息后返回的带有该视频对应的索引文件信息,并对该索引文件信息转换为本地索引文件信息保存;
[0033]所述移动终端向该移动终端内的代理服务器发送该非支持格式的视频的转换请求信息,所述代理服务器对该视频进行分片处理,生成分片后的至少一个TS文件,并将所述TS文件与所述本地索引文件建立对应关系,保存在该移动终端的内存队列中;
[0034]所述移动终端的播放器根据在所述内存队列中所述本地索引文件调取所述TS文件进行播放。
[0035]进一步地,其中,所述代理服务器对该视频进行分片处理,生成分片后的至少一个TS文件,进一步包括:
[0036]所述代理服务器根据所述非支持格式的视频的转换请求信息中的请求分片数,计算得出所述视频在视频流中的偏移量,所述代理服务器根据所述偏移量确定seek操作中该视频的分片位置,进而对所述视频进行分片处理,生成分片后的至少一个TS文件。
[0037]进一步地,其中,进而对所述视频进行分片处理,进一步为:
[0038]所述代理服务器对所述视频的视频帧进行判断,当判断到当前的视频帧不是关键帧和/或当前帧的时间戳时,对下一视频帧进行判断;当判断到当前的视频帧是关键帧且该视频帧为当前帧的时间戳时,对所述视频的该视频帧进行分片处理。
[0039]进一步地,其中,对所述视频的该视频帧进行分片处理,进一步为:
[0040]所述代理服务器根据所述本地索引文件计算出每一视频帧相对应于所述视频绝对开始时间的绝对结束时间,并根据该绝对结束时间将每个所述视频帧的原始时间戳调整为对应的绝对时间戳,再根据每个视频帧的绝对时间戳对所述视频的该视频帧进行分片处理。
[0041]进一步地,其中,所述索引文件信息,进一步为:m3u8文件。
[0042]进一步地,其中,该系统设置在所述移动终端中,该系统包括:接收模块、处理模
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1