视频文件播放方法、装置和系统的制作方法
【技术领域】
[0001]本发明涉及多媒体播放技术领域,尤其涉及一种视频文件播放方法、装置和系统。
【背景技术】
[0002]目前的安卓(Android)操作系统提供了播放器的功能,普通的视频播放调用系统播放器即可完成,但是由于系统播放器由操作系统采用黑盒的方式提供,当开发遇到问题时难以定位,以及系统播放器往往难以满足一个专业的视频播放软件的需求,比如说Android操作系统的播放器不支持超文本传输协议实时媒体流(HTTP Live Streaming,HLS)格式的播放、不支持分段MP4文件的播放等,会采用自研播放器进行视频播放,但是由于自研播放器的性能等原因,播放效果并不好。
[0003]在实现本发明的过程中,发明人发现现有技术中存在以下技术问题:
[0004]现有技术中,Android系统采用系统播放器或者自研播放器进行视频播放,播放方式较单一,系统播放器和自研播放器均有各自的缺点,其中系统播放器难以满足某些播放要求,对于不支持的视频格式会出现视频文件打开失败的问题;自研播放器在性能和稳定性上较差,一旦遇到问题也会造成播放失败。
【发明内容】
[0005]本发明实施例提供一种视频文件播放方法、装置和系统,用于解决视频文件的播放方式较单一的问题,提高视频文件的播放性能。
[0006]本发明实施例提供了一种视频文件播放方法,该方法包括:
[0007]接收到对视频文件的播放请求后,获取配置信息,根据该配置信息中的播放器选择策略信息从预先配置的多种播放器中选择一种播放器;
[0008]根据选择的所述播放器对应的内核信息播放所述视频文件,所述内核信息是用于实现所述播放器的播放方式的信息。
[0009]本发明实施例提供了一种视频文件播放服务方法,该方法包括:
[0010]接收到来自终端的配置信息请求消息后,根据该配置信息请求消息得到包含播放器选择策略信息的配置信息;
[0011]将所述配置信息返回给所述终端,以使所述终端根据该配置信息中的播放器选择策略信息从预先配置的多种播放器中选择播放视频文件所使用的播放器。
[0012]本发明实施例提供了一种视频文件播放装置,该装置包括:
[0013]媒体播放器管理模块,用于在接收到对视频文件的播放请求后,获取配置信息,根据该配置信息中的播放器选择策略信息从预先配置的多种播放器中选择一种播放器;
[0014]播放模块,用于根据选择的所述播放器对应的内核信息播放所述视频文件,所述内核信息是用于实现所述播放器的播放方式的信息。
[0015]本发明实施例提供了一种视频文件播放服务装置,该装置包括:
[0016]请求消息接收单元,用于接收来自终端的配置信息请求消息;
[0017]配置信息生成单元,用于根据该配置信息请求消息得到包含播放器选择策略信息的配置信息;
[0018]配置信息发送单元,用于将所述配置信息返回给所述终端,以使所述终端根据该配置信息中的播放器选择策略信息从预先配置的多种播放器中选择播放视频文件所使用的播放器。
[0019]本发明实施例提供了一种视频文件播放系统,该系统包括:
[0020]终端,用于接收到对视频文件的播放请求后,获取配置信息,根据该配置信息中的播放器选择策略信息从预先配置的多种播放器中选择一种播放器;根据选择的所述播放器对应的内核信息播放所述视频文件,所述内核信息是用于实现所述播放器的播放方式的信息;
[0021]服务器,用于接收到来自终端的配置信息请求消息后,根据该配置信息请求消息得到包含播放器选择策略信息的配置信息;将所述配置信息返回给所述终端。
[0022]本发明实施例提供的方案中,预先配置多种播放器,在需要播放视频文件时,根据配置信息中的播放器选择策略信息从多种播放器中选择一种播放器,然后根据选择的播放器的播放方式播放该视频文件。可见,本方案中预先配置有多种播放器,可以根据配置信息选择一种播放器,并根据选择的播放器的播放方式进行视频文件的播放,从而解决了现有技术中所有视频文件使用一种播放器进行播放导致的播放方式较单一的问题,并且,可以通过配置播放器选择策略信息使得不同的视频文件使用各自适合的播放器进行播放,从而可以提高视频文件的播放性能。
【附图说明】
[0023]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024]图1为本发明实施例一提供的视频文件播放方法流程示意图;
[0025]图2为本发明实施例二提供的视频文件播放服务方法的流程示意图;
[0026]图3A为本发明实施例三中基于安卓系统的终端模块示意图;
[0027]图3B为本发明实施例三的交互流程示意图;
[0028]图4为本发明实施例四提供的视频文件播放装置结构示意图;
[0029]图5为本发明实施例五提供的视频文件播放服务装置结构示意图;
[0030]图6为本发明实施例六提供的终端结构示意图;
[0031]图7为本发明实施例七提供的服务器结构示意图;
[0032]图8为本发明实施例八提供的系统结构示意图。
【具体实施方式】
[0033]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0034]为了解决视频文件的播放方式较单一的问题,提高视频文件的播放性能,本发明实施例中配置多种播放器,在需要播放视频文件时,根据配置信息中的播放器选择策略信息从多种播放器中选择一种播放器,然后根据选择的播放器的内核信息播放该视频文件。
[0035]实施例一:
[0036]参见图1,本发明实施例针对视频文件播放侧提供一种视频文件播放方法,包括以下步骤:
[0037]步骤10:接收到对视频文件的播放请求后,获取配置信息,根据该配置信息中的播放器选择策略信息从预先配置的多种播放器中选择一种播放器;
[0038]步骤11:根据选择的播放器对应的内核信息播放该视频文件,其中,内核信息是用于实现播放器的播放方式的信息。
[0039]进一步的,在步骤10中从预先配置的多种播放器中选择一种播放器之后,还可以确定选择的播放器所对应的屏幕绘制方式;相应的,步骤11中是根据选择的播放器对应的内核信息以及确定的屏幕绘制方式播放视频文件。
[0040]具体的,上述步骤10中获取配置信息的方式具体可以包括:
[0041]向服务器端发送配置信息请求消息;接收服务器端返回的配置信息;和/或,获取保存在本地的配置信息。
[0042]也即,可以根据服务器端发送的播放器选择策略信息选择播放器,或者,根据服务器端发送的播放器选择策略信息和本地保存的播放器选择策略信息一起选择播放器,或者,仅根据本地保存的播放器选择策略信息选择播放器。
[0043]具体的,获取到的配置信息中还可以包括播放器与屏幕绘制方式的对应关系;上述步骤10中确定选择的播放器所对应的屏幕绘制方式,具体实现可以为:根据该配置信息中的播放器与屏幕绘制方式的对应关系,确定选择的播放器所对应的屏幕绘制方式。
[0044]较佳的,上述步骤11中在按照选择的播放器的播放方式和屏幕绘制方式播放视频文件的过程中,若在打开或播放所述视频文件时出现异常,则根据异常情况确定是否满足播放器切换条件,在确定满足播放器切换条件时,记录当前的播放状态(包括播放位置、是否正在播放等),并关闭当前的播放器,从多个播放器中重新选择一个播放器,确定重新选择的播放器对应的屏幕绘制方式,根据重新选择的播放器对应的内核信息、重新选择的播放器对应的屏幕绘制方式和记录的播放状态,继续播放视频文件。该方案可以在播放过程中实现播放器的切换,可以尽量避免在播放器打开或播放视频文件过程中出现异常造成的播放失败的问题。
[0045]具体的,获取到的配置信息中还可以包括播放器切换条件,上述根据异常情况确定是否满足播放器切换条件,具体为:根据异常情况确定是否满足配置信息中包含的播放器切换条件。举例说明,该播放器切换条件可以包括:当前出现的异常情况的类型为设定类型、采用当前播放器尝试播放视频文件的次数达到设定值等等。
[0046]上述是根据配置信息来控制切换,还可以根据用户的选择控制切换,具体的,在打开或播放视频文件的过程中出现异常时,发出是否需要切换播放器的提示信息;在用户选择需要切换播放器后,记录当前的播放状态,并关闭当前的播放器,从多个播放器中重新选择一个播放器,确定重新选择的播放器对应的屏幕绘制方式,根据重新选择的播放器对应的内核信息、重新选择的播放器对应的屏幕绘制方式和记录的播放状态,继续播放视频文件。
[0047]具体的,上述步骤11中根据选择的播放器的内核信息和屏幕绘制方式播放视频文件,具体实现可以如下:
[0048]根据视频文件的地址信息获取到视频文件的视频信息,根据视频文件的视频格式对该视频信息进行解析得到解码信息,根据该解码信息得到每一帧的图像信息,调用屏幕绘制方式对应的视频显示控件,该视频显示控件根据每一帧的图像信息进行图像绘制,并将绘制出的每帧图像依次显示在屏幕中。
[0049]例如,在该方法基于安卓操作系统时,该系统包括:媒体播放器管理模块、针对每种播放器分别包括一个内核封装模块、播放器视频展现模块,播放器视频展现模块针对每种屏幕绘制方式分别包括一个视频显示控件;
[0050]具体播放流程如下:媒体播放器管理模块接收到对视频文件的播放请求后,获取配置信息,根据该配置信息中的播放器选择策略信息从预先配置的多种播放器中选择一种播放器,确定选择的播放器所对应的屏幕绘制方式,将视频文件的地址信息传递给选择的播放器对应的内核封装模块;
[0051]内核封装模块根据地址信息获取到视频文件的视频信息,对该视频信息进行解析得到解码信息,根据该解码信息得到每一帧的图像信息,将该图像信息传递给播放器视频展现模块;
[0052]播放器视频展现模块调用屏幕绘制方式对应的视频显示控件,该视频显示控件根据每一帧的图像信息进行图像绘制,并将绘制出的每帧图像依次显示在屏幕中。
[