欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种视频加载方法、计算机设备及可读存储介质独创技术25828字

一种视频加载方法、计算机设备及可读存储介质

2021-03-25 00:29:18

一种视频加载方法、计算机设备及可读存储介质

  技术领域

  本发明涉及互联网领域,尤其涉及一种视频加载方法、计算机设备及可读存储介质。

  背景技术

  随着互联网技术的发展,人们使用网络观看直播已经逐渐得到普及化。人们在观看直播视频的时候,往往发现,直播平台对于直播间直播视频的加载时间过长,首次打开直播间观看视频的用户通常需要等待数秒才能观看到直播画面。这种现象在用户网速较差时尤为显著。

  直播间视频初始化加载速度过慢的原因主要是,需获取视频信息、音频信息、关注信息、礼物信息、弹幕信息和公布信息所有信息后,再加载显示界面,耗时长,进而影响用户的观看体验。

  发明内容

  针对现有直播间视频初始化速度慢的问题,现提供一种旨在可快速加载的视频加载方法、计算机设备及可读存储介质。

  本发明提供了一种视频加载方法,包括下述步骤:

  获取播放请求,根据所述播放请求调用播放器,获取与所述播放请求对应的播放信息;

  采用所述播放器解析播放信息并加载所述播放信息;

  当所述播放器播放所述播放信息的首帧数据后,加载直播组件。

  优选的,获取与所述播放请求对应的播放信息,包括:

  采用视频加载协议拉取最优节点时的网络状态,获取与所述播放请求对应的所述播放信息。

  优选的,所述获取播放信息响应,采用所述播放器解析播放信息并加载所述播放信息的步骤,包括:

  采用所述播放器解析播放信息;

  加载并校正所述播放信息。

  优选的,所述播放信息包括:视频信息和音频信息。

  优选的,所述采用所述播放器解析播放信息的步骤,包括:

  采用Metal接口对视频信息的图像进行解析处理。

  优选的,所述加载并校正所述播放信息的步骤,包括:

  根据解析的顺序预先加载所述播放信息中的视频信息,或音频信息;

  将预先加载的第一类信息的时间戳以及后续加载的第二类信息的时间戳对齐,播放所述播放信息。

  优选的,当所述第一类信息为音频信息时,在加载所述第二类信息即视频信息之前,包括:

  获取最近时间段的关键帧图片,在加载所述首帧数据之前,播放所述关键帧图片。

  优选的,所述加载并校正所述播放信息的步骤,包括:

  根据所述播放信息的播放模式校正当前播放界面的播放模式,并加载所述播放信息。

  优选的,所述首帧数据为视频首帧数据。

  优选的,所述直播组件选自以下至少一种:进场特效组件、弹幕组件、贡献榜组件、排行榜组件、关注组件、皮肤组件、道具组件、公告组件。

  本发明还提供了一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

  本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现上述方法的步骤。

  上述技术方案的有益效果:

  本技术方案中,当获取播放请求后,可先根据播放请求调用播放器,获取与播放请求对应的播放信息,采用播放器解析播放信息并预先加载播放信息,缩短了加载所有显示信息的时间,提升用户的体验效果,当播放器播放播放信息的首帧数据后,再加载直播组件,从而将所有的显示信息显示于播放界面中。本技术方案实现了在未全部加载所有信息之前提前加载播放信息,从而完成客户端的初始化,以使用户在未加载全部页面之前提前感受播放的内容,达到提升用户交互体验的目的。

  附图说明

  图1为本发明所述的视频加载的系统框架图的一种实施例的框架图;

  图2为本发明所述的视频加载方法的一种实施例的方法流程图;

  图3为本发明解析并加载播放信息的一种实施例的方法流程图;

  图4为本发明加载并校正播放信息的一种实施例的方法流程图;

  图5为高斯模糊样式图片的一种实施例的示意图;

  图6为高斯模糊样式图片的另一种实施例的示意图;

  图7为本发明所述的视频加载系统的一种实施例的模块图;

  图8为本发明实施例提供的执行视频加载方法的计算机设备的硬件结构示意图。

  具体实施方式

  以下结合附图与具体实施例进一步阐述本发明的优点。

  这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

  在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

  应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

  在本发明的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本发明及区别每一步骤,因此不能理解为对本发明的限制。

  本申请实施例的视频可以呈现于大型视频播放设备、游戏机、台式计算机、智能手机、平板电脑、MP3(MovingPictureExpertsGroupAudioLayerIII,动态影像专家压縮标准音频层)播放器、MP4(MovingPictureExpertsGroupAudioLayerlV,动态影像专家压縮标准音频层面)播放器、膝上型便携计算机、电子书阅读器以及其它显示终端等客户端。

  本申请实施例的视频不仅可以应用于比赛类型的视频播放节目中,而且还可以应用在任何可呈现视频的应用场景,比如说,可以应用在一些求职节目中,应用在一些相亲节目中,应用在多方对抗的娱乐节目中等等。本申请实施例以视频应用于足球类直播视频播放节目中为例子,但是并不局限于此。

  本申请实施例中,直播端(即推流端)用户通过将直播信息经由服务器的处理后,可以再由服务器发送给各个观看端(即拉流端),各个观看端再播放该直播信息。请参考图1,图1是本申请实施例提供的视频加载的系统架构图。如图1所示,A用户通过无线网络将直播信息传输给服务器W,B用户、C用户通过无线网络观看A用户的直播视频,D用户和E用户均通过有线网络观看A用户的直播视频并将各自的弹幕信息传输给服务器W。此处只给出一个服务器W,此处的应用场景还可以包括多台相互通讯的服务器。服务器W可以是云端服务器,还可以是本地服务器。在本申请实施例中,服务器W放置在云端侧。假如A用户发送直播信息,服务器W对该直播信息进行处理,并将该直播信息转发给A用户、B用户、C用户、D用户、E用户。需要说明的是:A用户的设备不局限于图示的移动设备,所有可以进行推流/直播的智能终端均可适用。

  本发明为解决现有客户端初始化加载速度慢的缺陷,提出了一种视频加载方法。参阅图2,其为一符合本发明一优选实施例的视频加载方法的流程示意图,从图中可以看出,本实施例中所提供的视频加载方法主要包括以下步骤:

  S1.获取播放请求,根据所述播放请求调用播放器,获取与所述播放请求对应的播放信息;

  现有客户端的播放器在执行播放操作之前,播放器需要根据用户触发的播放请求向直播服务器请求播放地址,直播服务器再将播放地址经由运营商服务器解析后发送至播放器,播放器再根据该播放地址获取相应的播放信息。上述获取播放地址的过程因过程繁琐耗时长,从而延长了客户端初始化的时间。在本步骤中的播放请求中包括播放地址,播放器可根据该播放地址直接获取播放信息,节省了获取播放地址的时间,即缩短了客户端初始化的时间。

  需要说明的是,获取与所述播放请求对应的播放信息可包括:

  采用视频加载协议拉取最优节点时的网络状态,获取与所述播放请求对应的所述播放信息。该视频加载协议可包括网络状况(如:network_status,platform_network_status),播放地址(如:playurl_h264,playurl_h265),横竖屏状态(broadcast_type),可扩展参数(extra_parameters)等参数。通过网络状况参数拉取最优节点时的网络状态,外部路由器(Router)按视频加载协议跳转直播间,执行加载播放信息的流程,即无需重新拉取播放地址,播放的地址就已经是内容分发网络(Content Delivery Network,简称CDN)最优节点,缩短拉取播放地址的时间,从而达到加速加载播放信息的目的。

  S2.采用所述播放器解析播放信息并加载所述播放信息;

  其中,所述播放信息可包括:视频信息,和/或音频信息。

  现有的客户端需要获取所有的加载信息(如:播放信息、进场特效信息、弹幕信息、道具信息和公告信息等)后,再控制播放器执行播放操作,耗时长,用户的体验效果差。在本步骤中,为了缩短播放信息之前等待的时间,采用播放器优先加载视频信息和音频信息,先进行视频信息和音频信息的播放,以提升用户的互动效果。

  在实际应用中,可优先同时加载视频信息和音频信息。也可优先加载视频信息和音频信息中任意一类信息。

  如图3所示,在所述步骤S2中所述获取播放信息响应,采用所述播放器解析播放信息并加载所述播放信息的步骤,包括:

  S21.采用所述播放器解析播放信息;

  作为举例而非限定,步骤S21可包括:

  采用Metal接口对视频信息的图像进行解析处理,从而提升图像渲染速度。

  Metal接口是一种低层次的渲染应用程序编程接口,提供了软件所需的最低层,保证软件可以运行在不同的图形芯片上。Metal提升了处理器效能,可让其性能完全发挥。

  在步骤S21还可采用中央处理器或图形处理器对视频信息的图像进行解析处理。

  S22.加载并校正所述播放信息。

  参考图4所示,在步骤S22加载并校正所述播放信息的步骤具体可包括:

  S221.根据解析的顺序预先加载所述播放信息中的视频信息,或音频信息;

  S222.将预先加载的第一类信息的时间戳以及后续加载的第二类信息的时间戳对齐,播放所述播放信息。

  需要说明的是,当第一类信息为视频信息时,第二类信息为音频信息;当第一类信息为音频信息时,第二类信息为视频信息。上述时间戳对齐采用的方法为业界公认技术方法。

  为了保证视频信息与音频信息播放同步性,当预先加载完一类信息后,需将视频信息的时间戳与音频信息的时间戳对齐,以保证后续加载播放的另一类信息与前一类信息在时序上的一致性。

  当所述第一类信息为音频信息时,在步骤S22加载所述第二类信息即视频信息之前,可包括:

  获取最近时间段的关键帧图片,在加载所述首帧数据之前,播放所述关键帧图片。需要说明的是:最近时间段的关键帧图片为用户通过客户端触发播放请求时,在直播列表页中呈现的与该播放请求对应的直播间图片,在首帧视频数据出现之前,展示该图片的高斯模糊样式(如图5和图6所示),从而提升用户的体验。该关键帧图片还可以是该播放请求对应的直播间的封面图片。

  在步骤S23所述加载并校正所述播放信息的步骤中还可包括:

  根据所述播放信息的播放模式校正当前播放界面的播放模式,并加载所述播放信息。

  考虑到用户观看直播时,有横屏与竖屏两种状态,为了防止加载的视频信息的播放模式与播放界面的播放模式不一致(即播放界面为横屏加载视频为竖屏;或播放界面为竖屏加载视频为横屏),可在加载的视频信息之前,获取当前主播端的页面直播模式,根据该直播模式将客户端播放界面的播放模式切换为与直播端的直播模式一致的播放界面,以适应当前直播模式,使播放视频界面与直播视频界面模式保持一致。

  S3.当所述播放器播放所述播放信息的首帧数据后,加载直播组件。

  其中,所述直播组件可选自以下至少一种:进场特效组件、弹幕组件、贡献榜组件、排行榜组件、关注组件、皮肤组件、道具组件、公告组件等组件。

  需要说明的是,所述首帧数据为视频首帧数据。

  在本实施例中,当获取播放请求后,可先根据播放请求调用播放器,获取与播放请求对应的播放信息,采用播放器解析播放信息并预先加载播放信息,缩短了加载所有显示信息的时间,提升用户的体验效果,当播放器播放播放信息的首帧数据后,再加载直播组件,从而将所有的显示信息显示于播放界面中。本技术方案实现了在未全部加载所有信息之前提前加载播放信息,从而完成客户端的初始化,以使用户在未加载全部页面之前提前感受播放的内容,达到提升用户交互体验的目的。

  如图7所示,一种视频加载系统1包括:播放单元11和加载单元12,其中:

  播放单元11,用于获取播放请求,根据所述播放请求调用播放器,获取与所述播放请求对应的播放信息;

  需要说明的是,与获取与所述播放请求对应的播放信息可包括:

  采用视频加载协议拉取最优节点时的网络状态,获取与所述播放请求对应的所述播放信息。

  现有客户端的播放器在执行播放操作之前,播放器需要根据用户触发的播放请求向直播服务器请求播放地址,直播服务器再将播放地址经由运营商服务器解析后发送至播放器,播放器再根据该播放地址获取相应的播放信息。上述获取播放地址的过程耗时长,从而延长了客户端初始化的时间。在实施例中的播放单元11获取的播放请求中包括播放地址,播放器可根据该播放地址直接获取播放信息,节省了获取播放地址的时间,即缩短了客户端初始化的时间。

  加载单元12,用于采用所述播放器解析播放信息并加载所述播放信息;

  其中,所述播放信息可包括:视频信息,和/或音频信息。

  加载单元12可根据解析的顺序预先加载所述播放信息中的视频信息,或音频信息;将预先加载的第一类信息的时间戳以及后续加载的第二类信息的时间戳对齐,播放所述播放信息。

  需要说明的是:上述时间戳对齐采用的方法为业界公认技术方法。

  为了保证视频信息与音频信息播放同步性,当预先加载完一类信息后,需将视频信息的时间戳与音频信息的时间戳对齐,以保证后续加载播放的另一类信息与前一类信息在时序上的一致性。

  加载单元12加载所述第二类信息即视频信息之前可获取最近时间段的关键帧图片,在加载所述首帧数据之前,播放所述关键帧图片。需要说明的是:最近时间段的关键帧图片为用户通过客户端触发播放请求时,在直播列表页中呈现的与该播放请求对应的直播间图片,在首帧视频数据出现之前,展示该图片的高斯模糊样式(如图5和图6所示),从而提升用户的体验。该关键帧图片还可以是该播放请求对应的直播间的封面图片。

  所示加载单元12还用于当所述播放器播放所述播放信息的首帧数据后,加载直播组件。

  其中,所述直播组件可选自以下至少一种:进场特效组件、弹幕组件、贡献榜组件、排行榜组件、关注组件、皮肤组件、道具组件、公告组件。

  需要说明的是,所述首帧数据为视频首帧数据。

  在本实施例中,当获取播放请求后,可先根据播放请求调用播放器,获取与播放请求对应的播放信息,采用播放器解析播放信息并预先加载播放信息,缩短了加载所有显示信息的时间,提升用户的体验效果,当播放器播放播放信息的首帧数据后,再加载直播组件,从而将所有的显示信息显示于播放界面中。本技术方案实现了在未全部加载所有信息之前提前加载播放信息,以使用户在未加载全部页面之前提前感受播放的内容,从而达到提升用户交互体验的目的。

  如图8所示,一种计算机设备2,所述计算机设备2包括:

  存储器21,用于存储可执行程序代码;以及

  处理器22,用于调用所述存储器21中的所述可执行程序代码,执行步骤包括上述的视频加载方法。

  图8中以一个处理器22为例。

  存储器21作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的视频加载方法对应的程序指令/模块(例如,图7所示的播放单元11和加载单元12)。处理器22通过运行存储在存储器21中的非易失性软件程序、指令以及模块,从而执行计算机设备2的各种功能应用以及数据处理,即实现上述方法实施例视频加载方法。

  存储器21可以包括存储程序区和存储数据区,其中,存储程序区可存储搡作系统、至少一个功能所需要的应用程序;存储数据区可存储用户在计算机设备2的播放信息。此外,存储器21可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器21可选包括相对于处理器22远程设置的存储器21,这些远程存储器21可以通过网络连接至视频加载系统1。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

  所述一个或者多个模块存储在所述存储器21中,当被所述一个或者多个处理器22执行时,执行上述任意方法实施例中的视频加载方法,例如,执行以上描述的图2中的方法步骤S1至步骤S3、图3中的方法步骤S21至步骤S22、图4中的方法步骤S221至步骤S222,实现图7所示的播放单元11和加载单元12的功能。

  上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

  本申请实施例的计算机设备2以多种形式存在,包括但不限于:

  (1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。

  (2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。

  (3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

  (4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

  (5)其他具有数据交互功能的电子装置。

  本申请实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图8中的一个处理器22,可使得上述一个或多个处理器22可执行上述任意方法实施例中的视频加载方法,例如,执行以上描述的图2中的方法步骤S1至步骤S3、图3中的方法步骤S21至步骤S22、图4中的方法步骤S221至步骤S222,实现图7所示的播放单元11和加载单元12的功能。

  以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

  通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。

  实施例一、

  视频加载方法可应用于主播端中,用户通过主播端发起直播请求后,主播端可根据播放请求调用播放器;通过摄像头采集用户的视频信息,利用麦克风采用用户的音频信息,将视频信息和音频信息合成为视频流媒体文件上传至服务器,以便于直播服务器进行直播操作;主播端获取服务器反馈的播放信息后,采用播放器解析并加载播放信息,并对根据播放信息的播放模式校正当前播放界面的播放模式,以保证首帧视频信息的播放模式与当前直播端的播放播放相适应,若不一致,则播放经校正后的首帧视频信息;若一致则,则播放首帧视频信息,在加载其他的直播组件,如:礼物组件、弹幕组件、关注组件、公告组件等。

  实施例二、

  视频加载方法可应用于拉流端中,拉流端的用户向服务器发起直播请求后,拉流端可根据播放请求调用播放器初始化播放器的缓存区;拉流端获取服务器反馈的播放信息后,采用播放器解析并加载播放信息,并对根据播放信息的播放模式校正当前播放界面的播放模式,以保证首帧视频信息的播放模式与当前直播端的播放播放相适应,若不一致,则播放经校正后的首帧视频信息;若一致则,则播放首帧视频信息,在加载其他的直播组件,如:礼物组件、弹幕组件、关注组件、公告组件等。

  需要说明的是,视频加载方法不仅可以应用于直播场景中,还可应用于轮播或关闭播放等场景中。

  最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

《一种视频加载方法、计算机设备及可读存储介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)