一种在移动设备中在线播放F4v视频的方法及系统的制作方法

文档序号:7821411阅读:250来源:国知局
一种在移动设备中在线播放F4v视频的方法及系统的制作方法
【专利摘要】本发明实施例提供的一种在移动设备中在线播放F4v视频的方法及系统,可以向视频资源服务器请求F4v视频文件及匹配的MP4头数据,并按照先后顺序依次将所接收的MP4头数据、所接收的F4v视频文件中的F4v元数据文件、所接收的F4v视频文件中分段视频中的音视频流文件发送到视频播放器中。由于本发明向视频播放器发送的数据符合MP4视频的封装格式,因此无需进行视频格式转换,视频播放器即可将按照对MP4的解码方式调用显卡对其进行解码并播放。本发明可以有效提高解码效率,降低了CPU的运行负担,避免了CPU运算能力的消耗。
【专利说明】一种在移动设备中在线播放F4v视频的方法及系统

【技术领域】
[0001]本发明涉及移动设备视频播放【技术领域】,特别是涉及一种在移动设备中在线播放F4v视频的方法及系统。

【背景技术】
[0002]F4V视频格式采用H264高清编码,相比于传统的FLV视频格式,它可以在同等体积的前提下实现更高的分辨率,而且可以支持更高比特率。随着网络带宽的不断提高,人们对视频清晰度越来越高的要求,因此F4V视频格式将逐渐成为网络流媒体主流格式。
[0003]由于移动设备携带方便,因此用户常常通过移动设备观看网络视频。现有的移动设备大多带有显卡GPU,对于MP4格式视频,移动设备中的视频播放器可以直接调用显卡对多种格式的视频进行解码以播放MP4格式视频,也即通过硬解码方式播放MP4格式视频。但是移动设备的视频播放器不支持F4v格式的播放,无法直接调用显卡对F4v格式视频进行解码,只能通过CPU首先将其转换为视频播放器支持的格式,然后调用显卡对其进行解码,也即通过软解码方式播放F4v格式视频。
[0004]但是软解码相对于硬解码而言,解码效率较低,且视频格式的转换会增加CPU的运行负担,极大的消耗CPU的运算能力。


【发明内容】

[0005]本发明实施例的目的在于提供一种在移动设备中在线播放F4v视频的方法及系统,以实现基于硬解码方式在移动设备中播放F4v视频的目的。
[0006]为达到上述目的,本发明实施例公开了一种在移动设备中在线播放F4v视频的方法,应用于移动设备中,所述移动设备与视频资源服务器通信连接,所述视频资源服务器中存储有F4v视频文件及与F4v视频文件匹配的MP4头数据,所述F4v视频文件中包括有F4v元数据文件和多个分段视频,每个分段视频中均包括:分段视频元数据文件及音视频流文件,所述方法包括:
[0007]监听所述移动设备中的视频播放器发出的请求在线播放F4v视频文件的超文本传输协议HTTP请求;
[0008]在监听到所述HTTP请求后,解析所述HTTP请求的报头,获得所述报头携带的请求在线播放的F4v视频文件的标识;
[0009]向所述视频资源服务器请求具有所述标识的F4v视频文件及与F4v视频文件匹配的MP4头数据,接收所述视频资源服务器返回的与F4v视频文件匹配的MP4头数据及F4v视频文件;
[0010]按照先后顺序依次将所接收的MP4头数据、所接收的F4v视频文件中的F4v元数据文件、所接收的F4v视频文件中分段视频中的音视频流文件发送到所述视频播放器中,以使所述视频播放器调用显卡对所接收的数据进行解码并播放视频。
[0011]可选的,还包括:
[0012]监听所述移动设备中的视频播放器发出的请求跳转到F4v视频文件的第一位置进行在线播放的HTTP请求;
[0013]对该HTTP请求的报头进行解析,获得所述第一位置;
[0014]确定所述第一位置所在的分段视频;
[0015]向所述视频资源服务器请求所确定的分段视频;
[0016]接收所述视频资源服务器根据该请求返回的分段视频并将所接收的分段视频中的音视频流文件发送到所述视频播放器中。
[0017]可选的,所述确定所述第一位置所在的分段视频,包括:
[0018]获得F4v视频文件中各分段视频的数据量及各分段视频的先后顺序;
[0019]根据所获得的各分段视频的数据量及各分段视频的先后顺序确定所述第一位置所在的分段视频。
[0020]可选的,在获得所述报头携带的请求在线播放的F4v视频文件的标识后,所述方法还包括:
[0021]判断具有所述标识的F4v视频文件是否存在于所述视频资源服务器中,如果是,则向所述视频播放器返回HTTP响应。
[0022]可选的,所述视频资源服务器包括主服务器及镜像服务器,所述主服务器和所述镜像服务器中均存储有F4v视频文件及与F4v视频文件匹配的MP4头数据,
[0023]所述向所述视频资源服务器请求具有所述标识的F4v视频文件及与F4v视频文件匹配的MP4头数据,接收所述视频资源服务器返回的与F4v视频文件匹配的MP4头数据及F4v视频文件,包括:
[0024]向所述主服务器请求具有所述标识的F4v视频文件及与F4v视频文件匹配的MP4头数据;
[0025]如果在预设时间段内所述主服务器返回了与F4v视频文件匹配的MP4头数据及F4v视频文件,则接收所述主服务器返回的与F4v视频文件匹配的MP4头数据及F4v视频文件;
[0026]如果在预设时间段内所述主服务器未返回与F4v视频文件匹配的MP4头数据及F4v视频文件,则向所述镜像服务器请求具有所述标识的F4v视频文件及与F4v视频文件匹配的MP4头数据;
[0027]接收所述镜像服务器返回的与F4v视频文件匹配的MP4头数据及F4v视频文件。
[0028]一种在移动设备中在线播放F4v视频的系统,应用于移动设备中,所述移动设备与视频资源服务器通信连接,所述视频资源服务器中存储有F4v视频文件及与F4v视频文件匹配的MP4头数据,所述F4v视频文件中包括有F4v元数据文件和多个分段视频,每个分段视频中均包括:分段视频元数据文件及音视频流文件,所述系统包括:播放请求监听模块、第一报头解析模块、第一视频请求模块和第一视频发送模块,
[0029]所述播放请求监听模块,用于监听所述移动设备中的视频播放器发出的请求在线播放F4v视频文件的超文本传输协议HTTP请求;
[0030]所述第一报头解析模块,用于在监听到所述HTTP请求后,解析所述HTTP请求的报头,获得所述报头携带的请求在线播放的F4v视频文件的标识;
[0031]所述第一视频请求模块,用于向所述视频资源服务器请求具有所述标识的F4v视频文件及与F4v视频文件匹配的MP4头数据,接收所述视频资源服务器返回的与F4v视频文件匹配的MP4头数据及F4v视频文件;
[0032]所述第一视频发送模块,用于按照先后顺序依次将所接收的MP4头数据、所接收的F4v视频文件中的F4v元数据文件、所接收的F4v视频文件中分段视频中的音视频流文件发送到所述视频播放器中,以使所述视频播放器调用显卡对所接收的数据进行解码并播放视频。
[0033]可选的,还包括:跳转请求监听模块、第二报头解析模块、视频确定模块、第二视频请求模块和第二视频发送模块,
[0034]所述跳转请求监听模块,用于监听所述移动设备中的视频播放器发出的请求跳转到F4v视频文件的第一位置进行在线播放的HTTP请求;
[0035]所述第二报头解析模块,用于对该HTTP请求的报头进行解析,获得所述第一位置;
[0036]所述视频确定模块,用于确定所述第一位置所在的分段视频;
[0037]所述第二视频请求模块,用于向所述视频资源服务器请求所确定的分段视频;
[0038]所述第二视频发送模块,用于接收所述视频资源服务器根据该请求返回的分段视频并将所接收的分段视频中的音视频流文件发送到所述视频播放器中。
[0039]可选的,所述视频确定模块包括:分段视频信息获得子模块和分段视频确定子模块,
[0040]所述分段视频信息获得子模块,用于获得F4v视频文件中各分段视频的数据量及各分段视频的先后顺序;
[0041]所述分段视频确定子模块,用于根据所获得的各分段视频的数据量及各分段视频的先后顺序确定所述第一位置所在的分段视频。
[0042]可选的,还包括:视频判断模块和响应模块,
[0043]所述视频判断模块,用于在所述第一报头解析模块获得所述报头携带的请求在线播放的F4v视频文件的标识后,判断具有所述标识的F4v视频文件是否存在于所述视频资源服务器中,如果是,则触发所述响应模块;
[0044]所述响应模块,用于向所述视频播放器返回HTTP响应。
[0045]可选的,所述视频资源服务器包括主服务器及镜像服务器,所述主服务器和所述镜像服务器中均存储有F4v视频文件及与F4v视频文件匹配的MP4头数据,
[0046]所述第一视频请求模块,包括:第一请求子模块、第一接收子模块、第二请求子模块和第二接收子模块,
[0047]所述第一请求子模块,用于向所述主服务器请求具有所述标识的F4v视频文件及与F4v视频文件匹配的MP4头数据;
[0048]所述第一接收子模块,用于在预设时间段内所述主服务器返回了与F4v视频文件匹配的MP4头数据及F4v视频文件时,接收所述主服务器返回的与F4v视频文件匹配的MP4头数据及F4v视频文件;
[0049]所述第二请求子模块,用于在预设时间段内所述主服务器未返回与F4v视频文件匹配的MP4头数据及F4v视频文件时,向所述镜像服务器请求具有所述标识的F4v视频文件及与F4v视频文件匹配的MP4头数据;
[0050]所述第二接收子模块,用于接收所述镜像服务器返回的与F4v视频文件匹配的MP4头数据及F4v视频文件。
[0051]本发明实施例提供的一种在移动设备中在线播放F4v视频的方法及系统,可以向视频资源服务器请求F4v视频文件及匹配的MP4头数据,并按照先后顺序依次将所接收的MP4头数据、所接收的F4v视频文件中的F4v元数据文件、所接收的F4v视频文件中分段视频中的音视频流文件发送到视频播放器中。由于本发明向视频播放器发送的数据符合MP4视频的封装格式,因此无需进行视频格式转换,视频播放器即可将按照对MP4的解码方式调用显卡对其进行解码并播放。由于移动设备均支持对MP4视频的硬解码,且F4v视频格式和MP4视频格式均采用H264编码,因此本发明可以使得视频播放器使用硬解码方式对F4v视频文件进行解码,然后播放F4v视频文件。本发明可以有效提高解码效率,降低了 CPU的运行负担,避免了 CPU运算能力的消耗。

【专利附图】

【附图说明】
[0052]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0053]图1为本发明实施例提供的一种在移动设备中在线播放F4v视频的方法的流程图;
[0054]图2为本发明实施例提供的另一种在移动设备中在线播放F4v视频的方法的流程图;
[0055]图3为本发明实施例提供的另一种在移动设备中在线播放F4v视频的方法的流程图;
[0056]图4为本发明实施例提供的一种在移动设备中在线播放F4v视频的系统的结构示意图;
[0057]图5为本发明实施例提供的另一种在移动设备中在线播放F4v视频的系统的结构示意图;
[0058]图6为本发明实施例提供的另一种在移动设备中在线播放F4v视频的系统的结构示意图。

【具体实施方式】
[0059]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0060]如图1所示,本发明实施例提供的一种在移动设备中在线播放F4v视频的方法,应用于移动设备中,所述移动设备与视频资源服务器通信连接,所述视频资源服务器中存储有F4v视频文件及与F4v视频文件匹配的MP4头数据,所述F4v视频文件中包括有F4v元数据文件和多个分段视频,每个分段视频中均包括:分段视频元数据文件及音视频流文件,该方法可以包括:
[0061]S100、监听所述移动设备中的视频播放器发出的请求在线播放F4v视频文件的超文本传输协议HTTP请求;
[0062]可选的,移动设备中可以设置有用以模拟视频资源服务器的本地网络服务器,由该本地网络服务器执行本发明实施例提供的一种在移动设备中在线播放F4v视频的方法。
[0063]具体的,可以通过server socket来模拟本地网络服务器,以接收视频播放器发出的HTTP请求并向视频播放器返回HTTP响应。本地网络服务器是按照http标准通信格式模拟出的网络环境,在视频播放器看来,本地网络服务器就是一个真实的视频资源服务器。因此本地网络服务器可以监听视频播放器发出的HTTP请求。具体的,本地网络服务器可以通过监听移动设备中的一个特定端口(如端口 2048)来监听视频播放器发出的HTTP请求。具体的,可以把所请求播放的视频资源按照特定格式组合成一个标准http资源地址(如http://127.0.0.1:2048/id.111,其中2048是指定的端口号,id是请求资源的标识符);然后将该http资源地址赋给视频播放器,视频播放器就会向这个地址发送标准格式的HTTP请求。
[0064]Socket通常也称作〃套接字〃,由服务端和客户端构成,用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。HTTP也是一种Socket服务,它从诞生之日起就使用80端口,所有的HTTP服务都会默认绑定到80端口上,本发明则使用了另外的端口提供一种遵循HTTP标准的服务,从而模拟HTTP的功能和服务。
[0065]S200、在监听到所述HTTP请求后,解析所述HTTP请求的报头,获得所述报头携带的请求在线播放的F4v视频文件的标识;
[0066]其中,所述标识可以为F4v视频文件的名称、网络地址、编号等。
[0067]HTTP请求的报头中携带有请求在线播放的F4v视频文件的标识,对其进行解析后即可获得所携带的标识。例如,一种解析后的HTTP请求的报头可以为:
[0068]GET/id.1ll HTTP/1.1
[0069]Cache-Control: no-cache
[0070]Connect1n: Keep-Alive
[0071]Pragma:getlfoFileUR1.dlna.0rg
[0072]Accept:*/*
[0073]User-Agent:NSPlayer/12.00.9200.16409 WMFSDK/12.00.9200.16409
[0074]GetContentFeatures.DLNA.0RG:1
[0075]Host: 127.0.0.1:2048
[0076]其中,id.1ll即为视频文件的标识。
[0077]其中,在S200获得所述报头携带的请求在线播放的F4v视频文件的标识后,图1所示方法还可以包括:
[0078]判断具有所述标识的F4v视频文件是否存在于所述视频资源服务器中,如果是,则向所述视频播放器返回HTTP响应。
[0079]其中,返回的HTTP响应中可以携带有视频存在确定信息、视频类型信息、视频数据量信息等。通过HTTP响应,本发明可以告知视频播放器其所请求的视频的信息,使视频播放器为接收视频数据、解码和播放做好准备。
[0080]当然,在具有所述标识的F4v视频文件未存在于所述视频资源服务器中时,也可以向视频播放器返回消息,如404消息,以使视频播放器通过相应界面告知用户无法找到相关视频。
[0081]S300、向所述视频资源服务器请求具有所述标识的F4v视频文件及与F4v视频文件匹配的MP4头数据,接收所述视频资源服务器返回的与F4v视频文件匹配的MP4头数据及F4v视频文件;
[0082]可以理解的是,视频资源服务器在将视频压片入库时,就会提取视频信息,根据视频信息生成MP4头数据。
[0083]S400、按照先后顺序依次将所接收的MP4头数据、所接收的F4v视频文件中的F4v元数据文件、所接收的F4v视频文件中分段视频中的音视频流文件发送到所述视频播放器中,以使所述视频播放器调用显卡对所接收的数据进行解码并播放视频。
[0084]如前所述,F4v视频文件中包括有F4v元数据文件和多个分段视频,每个分段视频中均包括:分段视频元数据文件及音视频流文件。
[0085]为方便起见,下面使用Metadata表示F4v元数据文件,使用DataF4v代表分段视频,使用meta代表分段视频元数据文件,使用data代表分段视频中的音视频流文件。其中,F4v元数据文件中记录有整个视频的所有关键帧及各分段视频的音频、视频长度描述等信息。分段视频元数据文件记录本分段视频的关键帧描述。
[0086]F4V 视频文件中包括:Metadata+DataF4vl+DataF4v2+DataF4v3+DataF4v4+......+DataF4vN,其中,N为分段视频个数;
[0087]每一个DataF4v 均包括:meta+data,也即 DataF4vl 包括:metal+datal,DataF4v2包括:meta2+data2,以此类推。
[0088]而MP4 视频文件中包括:MP4Header+MetadataMP4+DataMP4,其中,MP4Header 为MP4头数据,MetadataMP4为MP4元数据文件,DataMP4为MP4中的音视频流文件。
[0089]移动设备的显卡一般均支持MP4格式,也即移动设备可以对MP4格式的视频进行硬解码。F4v和MP4都属于ISMAMP4容器且均采用H264编码,因此移动设备的显卡可以对F4v视频文件中的元数据文件及音视频流文件进行解码。通过对比F4v视频文件和MP4视频文件中的内容可以看出,MP4视频文件相对于F4v视频文件增加了 MP4Header,且MP4视频文件中没有分段视频元数据文件meta,因此,可以将MP4Header和F4V视频文件中的Metadata、datal、data2......dataN 作为一个 MP4 文件。
[0090]因此,在向视频播放器发送数据时,首先发送MP4头数据,然后发送所接收的F4v视频文件中的F4v元数据文件,最后发送所接收的F4v视频文件中分段视频中的音视频流文件,这样,在视频播放器看来,其接收到的就是一个MP4视频文件,可以通过显卡进行硬解码,无需进行视频格式转换。由于F4v和MP4都属于ISMAMP4容器且均采用H264编码,因此移动设备的显卡可以对F4v视频文件中的元数据文件及音视频流文件进行解码。这样,本发明就实现了基于硬解码方式对F4v视频文件的播放。
[0091]本发明实施例提供的一种在移动设备中在线播放F4v视频的方法,可以向视频资源服务器请求F4v视频文件及匹配的MP4头数据,并按照先后顺序依次将所接收的MP4头数据、所接收的F4v视频文件中的F4v元数据文件、所接收的F4v视频文件中分段视频中的音视频流文件发送到视频播放器中。由于本发明向视频播放器发送的数据符合MP4视频的封装格式,因此无需进行视频格式转换,视频播放器即可将按照对MP4的解码方式调用显卡对其进行解码并播放。由于移动设备均支持对MP4视频的硬解码,且F4v视频格式和MP4视频格式均采用H264编码,因此本发明可以使得视频播放器使用硬解码方式对F4v视频文件进行解码,然后播放F4v视频文件。本发明可以有效提高解码效率,降低了 CPU的运行负担,避免了 CPU运算能力的消耗。
[0092]如图2所示,本发明实施例提供的另一种在移动设备中在线播放F4v视频的方法,还可以包括:
[0093]S500、监听所述移动设备中的视频播放器发出的请求跳转到F4v视频文件的第一位置进行在线播放的HTTP请求;
[0094]S600、对该HTTP请求的报头进行解析,获得所述第一位置;
[0095]例如:该HTTP请求的报头可以为:
[0096]GET/id.1ll HTTP/1.1
[0097]Cache-Control: no-cache
[0098]Connect1n: Keep-Alive
[0099]Pragma:getlfoFileUR1.dlna.0rg
[0100]Accept:*/*
[0101]Range:bytes = 43171840-176705438
[0102]User-Agent:NSPlayer/12.00.9200.16409 WMFSDK/12.00.9200.16409
[0103]GetContentFeatures.DLNA.0RG:1
[0104]Host: 127.0.0.1:2048
[0105]其中,43171840即为所请求调整到的第一位置。
[0106]S700、确定所述第一位置所在的分段视频;
[0107]具体的,S700可以包括:
[0108]获得F4v视频文件中各分段视频的数据量及各分段视频的先后顺序;
[0109]根据所获得的各分段视频的数据量及各分段视频的先后顺序确定所述第一位置所在的分段视频。
[0110]例如:有三个分段视频,按照先后顺序分别为分段1、分段2和分段3,其中,分段I为20000000字节,分段2为20000000字节,分段3为136705438字节。则可以确定第一位置43171840位于分段3中。
[0111]S800、向所述视频资源服务器请求所确定的分段视频;
[0112]S900、接收所述视频资源服务器根据该请求返回的分段视频并将所接收的分段视频中的音视频流文件发送到所述视频播放器中。
[0113]这样,视频播放器就可以从第一位置或第一位置之前的某个位置开始播放所接收到的分段视频。
[0114]因此,图2所示方法还可以基于硬解码方式实现对F4v视频文件的快进或快退。
[0115]在图1所示实施例基础上,如图3所示,本发明实施例提供的另一种在移动设备中在线播放F4v视频的方法中,视频资源服务器可以包括主服务器及镜像服务器,所述主服务器和所述镜像服务器中均存储有F4v视频文件及与F4v视频文件匹配的MP4头数据,图1所示实施例中的S300,可以包括:
[0116]S310、向所述主服务器请求具有所述标识的F4v视频文件及与F4v视频文件匹配的MP4头数据;
[0117]S320、判断所述主服务器是否在预设时间段内返回了与F4v视频文件匹配的MP4头数据及F4v视频文件,如果是,则执行S330,否则执行S340 ;
[0118]S330、接收所述主服务器返回的与F4v视频文件匹配的MP4头数据及F4v视频文件;
[0119]S340、向所述镜像服务器请求具有所述标识的F4v视频文件及与F4v视频文件匹配的MP4头数据;
[0120]S350、接收所述镜像服务器返回的与F4v视频文件匹配的MP4头数据及F4v视频文件。
[0121]可以理解的是,由于视频文件数据量较大,因此会长时间占用网络,容易受网络不稳定性的影响。本发明可以在主服务器返回视频文件超时时自动向镜像服务器请求视频文件,可以有效提高视频接收的有效性,避免受网络不稳定性的影响。
[0122]与上述方法实施例相对应,本发明还提供了一种在移动设备中在线播放F4v视频的系统。
[0123]如图4所示,本发明实施例提供的一种在移动设备中在线播放F4v视频的系统,该系统应用于移动设备中,所述移动设备与视频资源服务器通信连接,所述视频资源服务器中存储有F4v视频文件及与F4v视频文件匹配的MP4头数据,所述F4v视频文件中包括有F4v元数据文件和多个分段视频,每个分段视频中均包括:分段视频元数据文件及音视频流文件,该系统可以包括:播放请求监听模块100、第一报头解析模块200、第一视频请求模块300和第一视频发送模块400,
[0124]播放请求监听模块100,用于监听所述移动设备中的视频播放器发出的请求在线播放F4v视频文件的超文本传输协议HTTP请求;
[0125]可选的,移动设备中可以设置有用以模拟视频资源服务器的本地网络服务器,本发明实施例提供的在移动设备中在线播放F4v视频的系统可以应用于该本地网络服务器中。
[0126]具体的,可以通过server socket来模拟本地网络服务器,以接收视频播放器发出的HTTP请求并向视频播放器返回HTTP响应。本地网络服务器是按照http标准通信格式模拟出的网络环境,在视频播放器看来,本地网络服务器就是一个真实的视频资源服务器。因此本地网络服务器可以监听视频播放器发出的HTTP请求。具体的,本地网络服务器可以通过监听移动设备中的一个特定端口(如端口 2048)来监听视频播放器发出的HTTP请求。具体的,可以把所请求播放的视频资源按照特定格式组合成一个标准http资源地址(如http://127.0.0.1:2048/id.111,其中2048是指定的端口号,id是请求资源的标识符);然后将该http资源地址赋给视频播放器,视频播放器就会向这个地址发送标准格式的HTTP请求。
[0127]第一报头解析模块200,用于在监听到所述HTTP请求后,解析所述HTTP请求的报头,获得所述报头携带的请求在线播放的F4v视频文件的标识;
[0128]其中,所述标识可以为F4v视频文件的名称、网络地址、编号等。
[0129]HTTP请求的报头中携带有请求在线播放的F4v视频文件的标识,对其进行解析后即可获得所携带的标识。
[0130]第一视频请求模块300,用于向所述视频资源服务器请求具有所述标识的F4v视频文件及与F4v视频文件匹配的MP4头数据,接收所述视频资源服务器返回的与F4v视频文件匹配的MP4头数据及F4v视频文件;
[0131]第一视频发送模块400,用于按照先后顺序依次将所接收的MP4头数据、所接收的F4v视频文件中的F4v元数据文件、所接收的F4v视频文件中分段视频中的音视频流文件发送到所述视频播放器中,以使所述视频播放器调用显卡对所接收的数据进行解码并播放视频。
[0132]本发明可以在向视频播放器发送数据时,首先发送MP4头数据,然后发送所接收的F4v视频文件中的F4v元数据文件,最后发送所接收的F4v视频文件中分段视频中的音视频流文件,这样,在视频播放器看来,其接收到的就是一个MP4视频文件,可以通过显卡进行硬解码,无需进行视频格式转换。由于F4v和MP4都属于ISMAMP4容器且均采用H264编码,因此移动设备的显卡可以对F4v视频文件中的元数据文件及音视频流文件进行解码。这样,本发明就实现了基于硬解码方式对F4v视频文件的播放。
[0133]本发明实施例提供的一种在移动设备中在线播放F4v视频的系统,可以向视频资源服务器请求F4v视频文件及匹配的MP4头数据,并按照先后顺序依次将所接收的MP4头数据、所接收的F4v视频文件中的F4v元数据文件、所接收的F4v视频文件中分段视频中的音视频流文件发送到视频播放器中。由于本发明向视频播放器发送的数据符合MP4视频的封装格式,因此无需进行视频格式转换,视频播放器即可将按照对MP4的解码方式调用显卡对其进行解码并播放。由于移动设备均支持对MP4视频的硬解码,且F4v视频格式和MP4视频格式均采用H264编码,因此本发明可以使得视频播放器使用硬解码方式对F4v视频文件进行解码,然后播放F4v视频文件。本发明可以有效提高解码效率,降低了 CPU的运行负担,避免了 CPU运算能力的消耗。
[0134]如图5所示,本发明实施例提供的另一种在移动设备中在线播放F4v视频的系统,还可以包括:跳转请求监听模块500、第二报头解析模块600、视频确定模块700、第二视频请求模块800和第二视频发送模块900,
[0135]所述跳转请求监听模块500,用于监听所述移动设备中的视频播放器发出的请求跳转到F4v视频文件的第一位置进行在线播放的HTTP请求;
[0136]所述第二报头解析模块600,用于对该HTTP请求的报头进行解析,获得所述第一位置;
[0137]所述视频确定模块700,用于确定所述第一位置所在的分段视频;
[0138]其中,视频确定模块700可以包括:分段视频信息获得子模块和分段视频确定子模块,
[0139]所述分段视频信息获得子模块,用于获得F4v视频文件中各分段视频的数据量及各分段视频的先后顺序;
[0140]所述分段视频确定子模块,用于根据所获得的各分段视频的数据量及各分段视频的先后顺序确定所述第一位置所在的分段视频。
[0141]所述第二视频请求模块800,用于向所述视频资源服务器请求所确定的分段视频;
[0142]所述第二视频发送模块900,用于接收所述视频资源服务器根据该请求返回的分段视频并将所接收的分段视频中的音视频流文件发送到所述视频播放器中。
[0143]这样,视频播放器就可以从第一位置或第一位置之前的某个位置开始播放所接收到的分段视频。
[0144]因此,图5所示系统还可以基于硬解码方式实现对F4v视频文件的快进或快退。
[0145]在图4所示系统基础上,本发明实施例提供的另一种在移动设备中在线播放F4v视频的系统中,还可以包括:视频判断模块和响应模块,
[0146]所述视频判断模块,用于在所述第一报头解析模块获得所述报头携带的请求在线播放的F4v视频文件的标识后,判断具有所述标识的F4v视频文件是否存在于所述视频资源服务器中,如果是,则触发所述响应模块;
[0147]所述响应模块,用于向所述视频播放器返回HTTP响应。
[0148]其中,返回的HTTP响应中可以携带有视频存在确定信息、视频类型信息、视频数据量信息等。通过HTTP响应,本发明可以告知视频播放器其所请求的视频的信息,使视频播放器为接收视频数据、解码和播放做好准备。
[0149]当然,在具有所述标识的F4v视频文件未存在于所述视频资源服务器中时,也可以向视频播放器返回消息,如404消息,以使视频播放器通过相应界面告知用户无法找到相关视频。
[0150]在图4所示系统基础上,本发明实施例提供的另一种在移动设备中在线播放F4v视频的系统中,所述视频资源服务器包括主服务器及镜像服务器,所述主服务器和所述镜像服务器中均存储有F4v视频文件及与F4v视频文件匹配的MP4头数据,
[0151]如图6所示,图4所示实施例中的第一视频请求模块300,可以包括:第一请求子模块310、第一接收子模块320、第二请求子模块330和第二接收子模块340,
[0152]所述第一请求子模块310,用于向所述主服务器请求具有所述标识的F4v视频文件及与F4v视频文件匹配的MP4头数据;
[0153]所述第一接收子模块320,用于在预设时间段内所述主服务器返回了与F4v视频文件匹配的MP4头数据及F4v视频文件时,接收所述主服务器返回的与F4v视频文件匹配的MP4头数据及F4v视频文件;
[0154]所述第二请求子模块330,用于在预设时间段内所述主服务器未返回与F4v视频文件匹配的MP4头数据及F4v视频文件时,向所述镜像服务器请求具有所述标识的F4v视频文件及与F4v视频文件匹配的MP4头数据;
[0155]所述第二接收子模块340,用于接收所述镜像服务器返回的与F4v视频文件匹配的MP4头数据及F4v视频文件。
[0156]可以理解的是,由于视频文件数据量较大,因此会长时间占用网络,容易受网络不稳定性的影响。本发明可以在主服务器返回视频文件超时时自动向镜像服务器请求视频文件,可以有效提高视频接收的有效性,避免受网络不稳定性的影响。
[0157]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0158]本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0159]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【权利要求】
1.一种在移动设备中在线播放F4v视频的方法,其特征在于,应用于移动设备中,所述移动设备与视频资源服务器通信连接,所述视频资源服务器中存储有F4v视频文件及与F4v视频文件匹配的MP4头数据,所述F4v视频文件中包括有F4v元数据文件和多个分段视频,每个分段视频中均包括:分段视频元数据文件及音视频流文件,所述方法包括: 监听所述移动设备中的视频播放器发出的请求在线播放F4v视频文件的超文本传输协议HTTP请求; 在监听到所述HTTP请求后,解析所述HTTP请求的报头,获得所述报头携带的请求在线播放的F4v视频文件的标识; 向所述视频资源服务器请求具有所述标识的F4v视频文件及与F4v视频文件匹配的MP4头数据,接收所述视频资源服务器返回的与F4v视频文件匹配的MP4头数据及F4v视频文件; 按照先后顺序依次将所接收的MP4头数据、所接收的F4v视频文件中的F4v元数据文件、所接收的F4v视频文件中分段视频中的音视频流文件发送到所述视频播放器中,以使所述视频播放器调用显卡对所接收的数据进行解码并播放视频。
2.根据权利要求1所述的方法,其特征在于,还包括: 监听所述移动设备中的视频播放器发出的请求跳转到F4v视频文件的第一位置进行在线播放的HTTP请求; 对该HTTP请求的报头进行解析,获得所述第一位置; 确定所述第一位置所在的分段视频; 向所述视频资源服务器请求所确定的分段视频; 接收所述视频资源服务器根据该请求返回的分段视频并将所接收的分段视频中的音视频流文件发送到所述视频播放器中。
3.根据权利要求2所述的方法,其特征在于,所述确定所述第一位置所在的分段视频,包括: 获得F4v视频文件中各分段视频的数据量及各分段视频的先后顺序; 根据所获得的各分段视频的数据量及各分段视频的先后顺序确定所述第一位置所在的分段视频。
4.根据权利要求1所述的方法,其特征在于,在获得所述报头携带的请求在线播放的F4v视频文件的标识后,所述方法还包括: 判断具有所述标识的F4v视频文件是否存在于所述视频资源服务器中,如果是,则向所述视频播放器返回HTTP响应。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述视频资源服务器包括主服务器及镜像服务器,所述主服务器和所述镜像服务器中均存储有F4v视频文件及与F4v视频文件匹配的MP4头数据, 所述向所述视频资源服务器请求具有所述标识的F4v视频文件及与F4v视频文件匹配的MP4头数据,接收所述视频资源服务器返回的与F4v视频文件匹配的MP4头数据及F4v视频文件,包括: 向所述主服务器请求具有所述标识的F4v视频文件及与F4v视频文件匹配的MP4头数据;如果在预设时间段内所述主服务器返回了与F4v视频文件匹配的MP4头数据及F4v视频文件,则接收所述主服务器返回的与F4v视频文件匹配的MP4头数据及F4v视频文件;如果在预设时间段内所述主服务器未返回与F4v视频文件匹配的MP4头数据及F4v视频文件,则向所述镜像服务器请求具有所述标识的F4v视频文件及与F4v视频文件匹配的MP4头数据; 接收所述镜像服务器返回的与F4v视频文件匹配的MP4头数据及F4v视频文件。
6.一种在移动设备中在线播放F4v视频的系统,其特征在于,应用于移动设备中,所述移动设备与视频资源服务器通信连接,所述视频资源服务器中存储有F4v视频文件及与F4v视频文件匹配的MP4头数据,所述F4v视频文件中包括有F4v元数据文件和多个分段视频,每个分段视频中均包括:分段视频元数据文件及音视频流文件,所述系统包括:播放请求监听模块、第一报头解析模块、第一视频请求模块和第一视频发送模块, 所述播放请求监听模块,用于监听所述移动设备中的视频播放器发出的请求在线播放F4v视频文件的超文本传输协议HTTP请求; 所述第一报头解析模块,用于在监听到所述HTTP请求后,解析所述HTTP请求的报头,获得所述报头携带的请求在线播放的F4v视频文件的标识; 所述第一视频请求模块,用于向所述视频资源服务器请求具有所述标识的F4v视频文件及与F4v视频文件匹配的MP4头数据,接收所述视频资源服务器返回的与F4v视频文件匹配的MP4头数据及F4v视频文件; 所述第一视频发送模块,用于按照先后顺序依次将所接收的MP4头数据、所接收的F4v视频文件中的F4v元数据文件、所接收的F4v视频文件中分段视频中的音视频流文件发送到所述视频播放器中,以使所述视频播放器调用显卡对所接收的数据进行解码并播放视频。
7.根据权利要求6所述的系统,其特征在于,还包括:跳转请求监听模块、第二报头解析模块、视频确定模块、第二视频请求模块和第二视频发送模块, 所述跳转请求监听模块,用于监听所述移动设备中的视频播放器发出的请求跳转到F4v视频文件的第一位置进行在线播放的HTTP请求; 所述第二报头解析模块,用于对该HTTP请求的报头进行解析,获得所述第一位置; 所述视频确定模块,用于确定所述第一位置所在的分段视频; 所述第二视频请求模块,用于向所述视频资源服务器请求所确定的分段视频; 所述第二视频发送模块,用于接收所述视频资源服务器根据该请求返回的分段视频并将所接收的分段视频中的音视频流文件发送到所述视频播放器中。
8.根据权利要求7所述的系统,其特征在于,所述视频确定模块包括:分段视频信息获得子模块和分段视频确定子模块, 所述分段视频信息获得子模块,用于获得F4v视频文件中各分段视频的数据量及各分段视频的先后顺序; 所述分段视频确定子模块,用于根据所获得的各分段视频的数据量及各分段视频的先后顺序确定所述第一位置所在的分段视频。
9.根据权利要求6所述的系统,其特征在于,还包括:视频判断模块和响应模块, 所述视频判断模块,用于在所述第一报头解析模块获得所述报头携带的请求在线播放的F4v视频文件的标识后,判断具有所述标识的F4v视频文件是否存在于所述视频资源服务器中,如果是,则触发所述响应模块; 所述响应模块,用于向所述视频播放器返回HTTP响应。
10.根据权利要求6至9中任一项所述的系统,其特征在于,所述视频资源服务器包括主服务器及镜像服务器,所述主服务器和所述镜像服务器中均存储有F4v视频文件及与F4v视频文件匹配的MP4头数据, 所述第一视频请求模块,包括:第一请求子模块、第一接收子模块、第二请求子模块和第二接收子模块, 所述第一请求子模块,用于向所述主服务器请求具有所述标识的F4v视频文件及与F4v视频文件匹配的MP4头数据; 所述第一接收子模块,用于在预设时间段内所述主服务器返回了与F4v视频文件匹配的MP4头数据及F4v视频文件时,接收所述主服务器返回的与F4v视频文件匹配的MP4头数据及F4v视频文件; 所述第二请求子模块,用于在预设时间段内所述主服务器未返回与F4v视频文件匹配的MP4头数据及F4v视频文件时,向所述镜像服务器请求具有所述标识的F4v视频文件及与F4v视频文件匹配的MP4头数据; 所述第二接收子模块,用于接收所述镜像服务器返回的与F4v视频文件匹配的MP4头数据及F4v视频文件。
【文档编号】H04N21/6587GK104363511SQ201410710425
【公开日】2015年2月18日 申请日期:2014年11月28日 优先权日:2014年11月28日
【发明者】丁昉 申请人:北京奇艺世纪科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1