一种播放视频的方法和装置

文档序号:1721497 发布日期:2019-12-17 浏览:23次 >En<

阅读说明:本技术 一种播放视频的方法和装置 (method and device for playing video ) 是由 谢清峰 黄镇林 范少卓 李竞佳 于 2018-06-08 设计创作,主要内容包括:本发明公开了一种播放视频的方法和装置,属于视频播放技术领域。所述方法包括:视频客户端接收目标视频的播放指令,调用软件播放器获取所述目标视频的目标视频信息;所述视频客户端根据预设播放规则和所述目标视频信息,判断是否调用系统硬件播放器对所述目标视频进行播放;如果是,所述视频客户端则调用所述系统硬件播放器对所述目标视频进行播放,否则,继续调用所述软件播放器对所述目标视频进行播放。采用本发明,可以提高视频播放质量。(The invention discloses a method and a device for playing a video, and belongs to the technical field of video playing. The method comprises the following steps: the method comprises the steps that a video client receives a playing instruction of a target video and calls a software player to obtain target video information of the target video; the video client judges whether a system hardware player is called to play the target video or not according to a preset playing rule and the target video information; if so, the video client calls the system hardware player to play the target video, otherwise, the software player continues to be called to play the target video. By adopting the invention, the video playing quality can be improved.)

一种播放视频的方法和装置

技术领域

本发明涉及视频播放技术领域,特别涉及一种播放视频的方法和装置。

背景技术

随着互联网技术的不断进步,视频市场迎来了蓬勃发展,观看视频成为了一种当下主流的娱乐形式。视频服务商可以采用流媒体等技术为用户提供大量的视频,用户可以通过安装在终端上的视频客户端观看这些视频。

视频客户端可以按照默认设置的硬件解码播放方式或者软件解码播放方式,对视频进行播放,其中,硬件解码播放方式为视频客户端调用终端的系统硬件播放器播放视频,软件解码播放方式为视频客户端调用自身的软件播放器播放视频。由于视频的播放信息各不相同,例如flv、rm、mp4等多样的视频格式,分辨率、帧率、码率等繁杂的视频参数,以及不同终端的系统硬件播放器和不同视频客户端的软件播放器的性能也参差不齐,因此,视频客户端在按照上述默认播放方式播放视频时,容易出现画面模糊、卡顿、甚至无法播放的播放问题。这时,视频客户端会提示用户切换播放方式,以解决上述播放问题。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:

视频客户端在获取到待播放的视频后,无法预先判断视频的较佳播放方式,只能按照默认播放方式来播放视频,导致视频客户端在播放视频时经常出现播放问题,故而,视频播放质量较差。

发明内容

为了解决现有技术的问题,本发明实施例提供了一种播放视频的方法和装置。所述技术方案如下:

第一方面,提供了一种播放视频的方法,所述方法包括:

视频客户端接收目标视频的播放指令,调用软件播放器获取所述目标视频的目标视频信息;

所述视频客户端根据预设播放规则和所述目标视频信息,判断是否调用系统硬件播放器对所述目标视频进行播放;

如果是,所述视频客户端则调用所述系统硬件播放器对所述目标视频进行播放,否则,继续调用所述软件播放器对所述目标视频进行播放。

进一步的,所述视频客户端根据预设播放规则和所述目标视频信息,判断是否调用系统硬件播放器对所述目标视频进行播放,包括:

所述视频客户端在所述预设播放规则中查找所述目标视频信息对应的目标播放规则;

如果所述目标播放规则中规定调用系统硬件播放器播放视频,所述视频客户端则判断为调用所述系统硬件播放器对所述目标视频进行播放;

如果未查找到所述目标播放规则,或者,所述目标播放规则中规定调用所述软件播放器播放视频,所述视频客户端则判断为不调用所述系统硬件播放器对所述目标视频进行播放。

进一步的,所述方法还包括:

如果在播放所述目标视频时出现播放异常,则所述视频客户端收集异常信息和播放器信息;

所述视频客户端将所述异常信息、所述播放器信息以及所述目标视频信息反馈给服务器,以使所述服务器基于所述异常信息、所述播放器信息以及所述目标视频信息更新所述预设播放规则。

进一步的,所述方法还包括:

所述视频客户端周期性从所述服务器更新所述预设播放规则;

或者,所述视频客户端基于所述服务器发送的更新指令,从所述服务器更新所述预设播放规则。

进一步的,所述方法还包括:

如果所述软件播放器在播放所述目标视频时出现播放异常,所述视频客户端则调用所述系统硬件播放器播放所述目标视频;

或者,如果所述系统硬件播放器在播放所述目标视频时出现播放异常,所述视频客户端则调用所述软件播放器播放所述目标视频。

第二方面,提供了一种播放视频的装置,所述装置包括:

获取模块,用于接收目标视频的播放指令,调用软件播放器获取所述目标视频的目标视频信息;

判断模块,用于根据预设播放规则和所述目标视频信息,判断是否调用系统硬件播放器对所述目标视频进行播放;

调用模块,用于如果是,则调用所述系统硬件播放器对所述目标视频进行播放,否则,继续调用所述软件播放器对所述目标视频进行播放。

进一步的,所述判断模块还用于:

在所述预设播放规则中查找所述目标视频信息对应的目标播放规则;

如果所述目标播放规则中规定调用系统硬件播放器播放视频,则判断为调用所述系统硬件播放器对所述目标视频进行播放;

如果未查找到所述目标播放规则,或者,所述目标播放规则中规定调用所述软件播放器播放视频,则判断为不调用所述系统硬件播放器对所述目标视频进行播放。

进一步的,所述装置还包括:

反馈模块,用于如果在播放所述目标视频时出现播放异常,则收集异常信息和播放器信息;将所述异常信息、所述播放器信息以及所述目标视频信息反馈给服务器,以使所述服务器基于所述异常信息、所述播放器信息以及所述目标视频信息更新所述预设播放规则。

进一步的,所述装置还包括:

更新模块,用于周期性从所述服务器更新所述预设播放规则;或者,基于所述服务器发送的更新指令,从所述服务器更新所述预设播放规则。

进一步的,所述调用模块还用于:

如果所述软件播放器在播放所述目标视频时出现播放异常,则调用所述系统硬件播放器播放所述目标视频;或者,如果所述系统硬件播放器在播放所述目标视频时出现播放异常,则调用所述软件播放器播放所述目标视频。

第三方面,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的播放视频的方法。

第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面所述的播放视频的方法。

本发明实施例提供的技术方案带来的有益效果是:

本发明实施例中,视频客户端接收目标视频的播放指令,调用软件播放器获取所述目标视频的目标视频信息;所述视频客户端根据预设播放规则和所述目标视频信息,判断是否调用系统硬件播放器对所述目标视频进行播放;如果是,所述视频客户端则调用所述系统硬件播放器对所述目标视频进行播放,否则,继续调用所述软件播放器对所述目标视频进行播放。这样,视频客户端可以基于获取到的视频信息,并结合预设播放规则,预先判断出视频的较佳播放方式,进而视频客户端可以按照较佳播放方式播放视频,避免按照默认播放方式出现的播放问题,从而可以达到较好的视频播放质量。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种播放视频的方法流程图;

图2是本发明实施例提供的一种播放视频的方法流程图;

图3是本发明实施例提供的一种播放视频的装置结构示意图;

图4是本发明实施例提供的一种终端的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本发明实施例提供了一种播放视频的方法,该方法的执行主体可以是终端,终端可以是具备视频播放功能的任意设备,如智能手机、平板电脑、智能电视、智能机顶盒等,终端中可以由终端厂商预先设置系统硬件播放器,系统硬件播放器可以对视频进行解码播放,同时,系统硬件播放器可以设置有供其他视频客户端调用的视频播放接口。终端中还可以由用户安装视频客户端,视频客户端可以是各视频服务商开发的视频播放软件,视频客户端可以内置软件播放器,软件播放器可以对视频进行解码播放。上述终端中可以包括处理器、存储器、收发器,其中,处理器可以用于进行播放视频的处理,存储器可以用于存储处理过程中需要的数据以及产生的数据,收发器可以用于接收和发送处理过程中的相关数据。

下面将结合具体实施方式,对图1所示的一种播放视频的方法的处理流程进行详细的说明,内容可以如下:

步骤101:视频客户端接收目标视频的播放指令,调用软件播放器获取目标视频的目标视频信息。

在实施中,当用户想要观看某一视频(可称为目标视频)时,用户可以在终端打开视频客户端,搜索目标视频,这时终端可以显示目标视频的信息页。用户点击该信息页中的视频播放按键后,视频客户端则可以接收到目标视频的播放指令,播放指令可以携带有目标视频的URL(Uniform Resource Locator,统一资源定位符)地址。之后,视频客户端可以提取目标视频的URL地址,并调用内置的软件播放器访问该URL地址,进而软件播放器可以获取到目标视频的视频信息(可称为目标视频信息),并可以将获取的目标视频信息发送给视频客户端,其中,目标视频信息可以包括目标视频的视频格式、视频分辨率等参数等信息,如flv格式、3840×2160分辨率等。以采用HLS(HTTP Live Streaming,协议播放直播流)流媒体协议传输目标视频为例,目标视频的URL地址指向目标视频的索引文件,索引文件中可以记录有目标视频信息,这样,软件播放器通过访问目标视频的URL地址,可以获取到目标视频的索引文件,进而,软件播放器可以通过解析上述索引文件获取到目标视频信息。在其他情况下,软件播放器还可以通过访问目标视频的URL地址获取目标视频的视频数据,然后可以通过解析视频数据的头部信息获取到目标视频信息。

需要说明的是,终端厂商为了保证系统硬件播放器的稳定性,普遍对系统硬件播放器的修改权限进行了严格限制,使得视频服务商很难修改系统硬件播放器,从而视频服务商开发的视频客户端很难在调用系统硬件播放器后,获取系统硬件播放器解析出的视频信息。而视频客户端经由视频服务商开发,视频服务商可以很容易地对视频客户端内置的软件播放器的处理流程进行设置,因此,视频客户端可以通过调用软件播放器,获取到软件播放器解析出的视频信息。

步骤102:视频客户端根据预设播放规则和目标视频信息,判断是否调用系统硬件播放器对目标视频进行播放。

在实施中,视频客户端在本地可以存储有预设播放规则,预设播放规则中可以记录各种视频信息对应的较佳播放方式,例如,flv格式、3840×2160分辨率的视频信息对应的较佳播放方式可以为调用软件播放器进行播放,mp4格式、1920×1080分辨率的视频信息对应的较佳播放方式可以为调用系统硬件播放器进行播放。由于系统硬件播放器的播放效果普遍优于软件播放器,因此可以按照下述标准设定播放规则:如果系统硬件播放器可以支持某视频信息,则调用系统硬件播放器对具有该视频信息的视频进行播放。这样,软件播放器在获取到目标视频的目标视频信息后,可以将目标视频信息发送给视频客户端,进而,视频客户端可以利用存储的预设播放规则和接收到的目标视频信息,判断是否调用系统硬件播放器对目标视频进行播放。

可选的,视频客户端判断是否调用系统硬件播放器对目标视频进行播放的处理,具体可以如下:视频客户端在预设播放规则中查找目标视频信息对应的目标播放规则;如果目标播放规则中规定调用系统硬件播放器播放视频,视频客户端则判断为调用系统硬件播放器对目标视频进行播放;如果未查找到目标播放规则,或者,目标播放规则中规定调用软件播放器播放视频,视频客户端则判断为不调用系统硬件播放器对目标视频进行播放。

在实施中,预设播放规则中可以包括多条播放规则,每条播放规则可以对应一种视频信息,每条播放规则中可以规定:调用某播放器播放具有某视频信息的视频。另外,由于视频信息过多,每条播放规则对应的一种视频信息中可以只包括几类视频信息,例如视频格式、分辨率、帧率等。预设播放规则可以如表一所示,在表一中示例给出了一种与视频格式、分辨率、帧率相对应的预设播放规则。

表一

这样,视频客户端在获取到目标视频信息后,可以在预设播放规则中查找目标视频信息对应的目标播放规则。如果在预设播放规则中可以查找到目标视频信息对应的目标播放规则,且目标播放规则中规定调用系统硬件播放器播放视频,则视频客户端可以判断为调用系统硬件播放器对目标视频进行播放;如果在预设播放规则中可以查找到目标视频信息对应的目标播放规则,但是目标播放规则中规定调用软件播放器播放视频,则视频客户端可以判断为不调用系统硬件播放器对目标视频进行播放。在另一种情况下,如果在预设播放规则中没有查找到目标视频信息对应的目标播放规则,考虑到系统硬件播放器的兼容性较差,则视频客户端可以判断为不调用系统硬件播放器对目标视频进行播放。

步骤103:如果是,视频客户端则调用系统硬件播放器对目标视频进行播放,否则,继续调用软件播放器对目标视频进行播放。

在实施中,视频客户端根据预设播放规则和目标视频信息进行判断后,如果判断结果为调用系统硬件播放器对目标视频进行播放,视频客户端则可以调用系统硬件播放器对目标视频进行播放;如果判断结果为不调用系统硬件播放器对目标视频进行播放,视频客户端则可以调用软件播放器对目标视频进行播放。这样,视频客户端基于获取到的目标视频信息,并结合预设播放规则,可以预先判断出目标视频的较佳播放方式,进而视频客户端可以按照较佳播放方式播放目标视频,避免按照默认播放方式出现的播放问题,从而可以达到较好的视频播放质量。

可选的,视频客户端在播放器出现播放异常时,可以上报服务器,相应的处理可以如下:如果在播放目标视频时出现播放异常,则视频客户端收集异常信息和播放器信息;视频客户端将异常信息、播放器信息以及目标视频信息反馈给服务器,以使服务器基于异常信息、播放器信息以及目标视频信息更新预设播放规则。

在实施中,视频客户端可以对目标视频的播放状态进行监测。如果目标视频的目标视频信息为新出现的视频信息,例如新开发的视频格式、分辨率,则预设播放规则中很可能没有记录该目标播放信息,那么,视频客户端在判断调用软件播放器对目标视频进行播放后,软件播放器可能会出现播放异常,比如画面模糊、卡顿、甚至无法播放等异常播放状态。在另一种情况下,如果预设播放规则只记录设定的几类视频信息,比如只记录视频格式、分辨率、帧率,且预设播放规则中记录的目标视频信息对应的播放方式为调用系统硬件播放器播放,则视频客户端在判断调用系统硬件播放器对目标视频进行播放后,可能因为目标视频信息中未记录在预设播放规则中的视频信息,例如码率,导致系统硬件播放器在播放目标视频时因为不支持该码率而出现异常播放状态。

具体的,如果检测到异常播放状态,视频客户端可以收集播放过程中出现的异常信息,例如画面模块、卡顿或者无法播放,以及播放器信息,即当前调用的软件播放器或系统硬件播放器。之后,视频客户端可以将异常信息、播放器信息以及目标视频信息反馈给服务器,服务器可以是视频服务商维护的用于更新预设播放规则的任意服务器。这样,上述服务器可以对接收到的上述异常信息、播放器信息以及视频信息进行分析,从而可以对预设播放规则进行更新。例如,如果预设播放规则中没有记录上报的视频信息对应的播放方式,则服务器可以基于上报的播放器信息,在预设播放规则中增加该上报的视频信息对应的播放方式,即调用与上报的播放器信息不同的播放器,来播放具有该视频信息的视频,例如,视频客户端上报的播放器信息为软件播放器,则表明视频客户端调用软件播放器对该视频进行播放的效果较差,相应的,视频客户端可以调用系统硬件播放器对该视频进行播放。

可选的,视频客户端可以从服务器处更新预设播放规则,相应的处理可以如下:视频客户端周期性从服务器更新预设播放规则;或者,视频客户端基于服务器发送的更新指令,从服务器更新预设播放规则。

在实施中,服务器可以不断接收到各个视频客户端上报的异常信息、播放器信息以及视频信息,进而服务器可以不断更新预设播放规则,以使视频客户端可以基于更新后的预设播放规则,避免之前出现的播放异常情形再次发生,从而达到较好的视频播放质量。视频客户端可以按照预设周期,例如三天或一周,从服务器处更新预设播放规则;视频客户端还可以在接收到服务器推送的更新指令时,从服务器更新预设播放规则。这样,既可以保证视频客户端及时获取到较新的预设播放规则,又可以避免频繁同步带来的系统资源浪费。

可选的,视频客户端可以在播放异常时自动切换播放器,则相应的处理可以如下:如果软件播放器在播放目标视频时出现播放异常,视频客户端则调用系统硬件播放器播放目标视频;或者,如果系统硬件播放器在播放目标视频时出现播放异常,视频客户端则调用软件播放器播放目标视频。

在实施中,视频客户端可以对目标视频的播放状态进行监测。如果视频客户端调用软件播放器对目标视频进行播放时,出现了播放异常,视频客户端则可以调用系统硬件播放器播放目标视频;如果视频客户端调用系统硬件播放器对目标视频进行播放时,出现了播放异常,视频客户端则可以调用软件播放器播放目标视频。这样,视频客户端在出现播放异常时,可以自动切换调用的播放器,保证视频播放质量,同时,还可以解决部分用户无法切换播放方式的问题,提高用户体验。

上述关于视频客户端对目标视频的播放处理可以参考图2。

本发明实施例中,视频客户端接收目标视频的播放指令,调用软件播放器获取所述目标视频的目标视频信息;所述视频客户端根据预设播放规则和所述目标视频信息,判断是否调用系统硬件播放器对所述目标视频进行播放;如果是,所述视频客户端则调用所述系统硬件播放器对所述目标视频进行播放,否则,继续调用所述软件播放器对所述目标视频进行播放。这样,视频客户端可以基于获取到的视频信息,并结合预设播放规则,预先判断出视频的较佳播放方式,进而视频客户端可以按照较佳播放方式播放视频,避免按照默认播放方式出现的播放问题,从而可以达到较好的视频播放质量。

基于相同的技术构思,本发明实施例还提供了一种播放视频的装置,如图3所示,所述装置包括:

获取模块301,用于接收目标视频的播放指令,调用软件播放器获取所述目标视频的目标视频信息;

判断模块302,用于根据预设播放规则和所述目标视频信息,判断是否调用系统硬件播放器对所述目标视频进行播放;

调用模块303,用于如果是,则调用所述系统硬件播放器对所述目标视频进行播放,否则,继续调用所述软件播放器对所述目标视频进行播放。

可选的,所述判断模块301还用于:

在所述预设播放规则中查找所述目标视频信息对应的目标播放规则;

如果所述目标播放规则中规定调用系统硬件播放器播放视频,则判断为调用所述系统硬件播放器对所述目标视频进行播放;

如果未查找到所述目标播放规则,或者,所述目标播放规则中规定调用所述软件播放器播放视频,则判断为不调用所述系统硬件播放器对所述目标视频进行播放。

可选的,所述装置还包括:

反馈模块304,用于如果在播放所述目标视频时出现播放异常,则收集异常信息和播放器信息;将所述异常信息、所述播放器信息以及所述目标视频信息反馈给服务器,以使所述服务器基于所述异常信息、所述播放器信息以及所述目标视频信息更新所述预设播放规则。

可选的,所述装置还包括:

更新模块305,用于周期性从所述服务器更新所述预设播放规则;或者,基于所述服务器发送的更新指令,从所述服务器更新所述预设播放规则。

可选的,所述调用模块303还用于:

如果所述软件播放器在播放所述目标视频时出现播放异常,则调用所述系统硬件播放器播放所述目标视频;或者,如果所述系统硬件播放器在播放所述目标视频时出现播放异常,则调用所述软件播放器播放所述目标视频。

本发明实施例中,视频客户端接收目标视频的播放指令,调用软件播放器获取所述目标视频的目标视频信息;所述视频客户端根据预设播放规则和所述目标视频信息,判断是否调用系统硬件播放器对所述目标视频进行播放;如果是,所述视频客户端则调用所述系统硬件播放器对所述目标视频进行播放,否则,继续调用所述软件播放器对所述目标视频进行播放。这样,视频客户端可以基于获取到的视频信息,并结合预设播放规则,预先判断出视频的较佳播放方式,进而视频客户端可以按照较佳播放方式播放视频,避免按照默认播放方式出现的播放问题,从而可以达到较好的视频播放质量。

需要说明的是:上述实施例提供的播放视频的装置在播放视频时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的播放视频的装置与播放视频的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图4示出了一种终端的结构示意图。该终端可以用于实施上述实施例中提供的播放视频的方法。

终端400可以包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、音频电路160、WiFi(Wireless Fidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源150等部件。本领域技术人员可以理解,图4中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。

输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可以包括触敏表面131以及其他输入设备132。

显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端400的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可以包括显示面板141。

音频电路160、扬声器161,传声器162可提供用户与终端400之间的音频接口。

WiFi属于短距离无线传输技术,终端400通过WiFi模块170可以帮助用户收发电子邮件浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。

处理器180是终端400的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端400的各种功能和处理数据,从而对手机进行整体监控。

终端400还包括给各个部件供电的电源150(比如电池)

终端400还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行述一个或者一个以上程序包含用于进行上述播放视频的处理的指令。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于处理视频的方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类