一种网络直播视频加载方法和终端与流程

文档序号:14186655阅读:144来源:国知局

本发明涉及互联网视频直播领域,更具体地,涉及一种网络直播视频加载方法和终端。



背景技术:

网络直播技术是一种以互联网通讯为基础的,为用户提供流媒体节目(如电视、广播、电影等)的实时播放的技术。随着网络传输技术和流媒体技术的不断成熟,通过高速互联网提供的流媒体直播服务正在越来越普及,众多网络直播系统纷纷涌现。流媒体内容提供商、网络直播运营商和网络直播客户端三者形成了网络直播系统的主体。任何单位和个人都可使用这种被称为“网络直播”的业务,将各种视频、音频、文字、图片等即时信息通过有线或无线网络,用直播的方式传送给广大网民,并可与广大网民进行互动交流。

直播应用一般会给用户展示当前正在直播的直播间列表,用户点击列表中的直播间进行观看,由于列表数据并非实时更新,观看直播的一般方式是用户点击进入直播间后,拉取最新的播放地址,交给播放器进行播放。

然而,上述过程在网速足够的情况下,需要进行一次网络请求获取地址,一次连接播放服务器,以及解码等过程,耗时3-5秒不等,在此期间用户无法操作。此外,用户选择进入直播间后,终端设备要进行一系列的页面渲染、视频流加载以及视频解析工作,会在瞬间占用很大的终端资源,造成用户加载页面的延迟和卡顿现象,影响用户的使用体验。



技术实现要素:

本发明提供了一种网络直播视频加载方法和终端,以解决现有技术中存在的加载网络视频直播页面时,页面渲染以及视频流的加载和解析占用设备资源过多,页面加载的延迟和卡顿现象的问题。

为了解决上述问题,本发明公开了一种网络直播视频加载方法,所述方法包括:分离主进程和播放进程;接收用户对直播间信息的选择操作;所述主进程渲染直播间页面操作层以及所述播放进程获取并解析视频数据;所述主进程启动直播间页面;所述播放进程播放所述视频数据。

为了解决上述问题,本发明还公开了一种终端,所述终端包括:进程分离模块,用于分离主进程和播放进程;接收模块,用于接收用户对直播间信息的选择操作;主进程模块,用于主进程渲染直播间页面操作层,以及启动直播间页面,处理封面图像文件;播放进程模块,用于播放进程获取并解析视频数据,以及播放所述视频数据。

与现有技术相比,本发明具有以下优点:

本发明提供的一种网络直播视频加载方法和终端,从主进程分离出播放进程专门处理视频加载和解析等任务,因此,能够提高设备内存使用率,提高处理器吞吐率;主进程在启动直播间页面前,从列表页面获取播放地址,在用户选中房间时进行延时显示播放页面并进行页面操作层渲染和预拉流等策略,加快进入播放的速度,提高设备资源利用率,提升应用的流畅度和用户等的使用体验待时间。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明实施例一的一种网络直播视频加载方法的步骤流程图;

图2为本发明实施例二提供的一种网络直播视频加载终端的结构示意图;

图3为本发明实施例三提供的一种网络直播视频加载终端的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

实施例一

参照图1,示出了本发明实施例一的一种网络直播视频加载方法的流程图。

本发明实施例的网络直播视频加载方法包括以下步骤:

步骤101:分离主进程和播放进程。

一般情况下,单个应用默认只有一个进程,进程是系统分配资源和调度的基本单位,每个进程都有自己独立的资源和内存空间,其它进程不能任意访问当前进程的内存和资源,系统给每个进程分配的内存会有限制。

如果一个进程占用内存超过了这个内存限制,在应用的运行过程中就会出现各种问题,特别是很多涉及到大图片的频繁操作或者需要读取一大段在内存中使用的数据时,如果此时程序运行的流畅性会受到很大的影响。

为了彻底地解决应用内存的问题,具有多核处理器的智能终端可采用单个应用使用多进程的方式,它允许在同一个应用内,为了分担主进程的压力,将占用内存的某些页面单独开一个进程,比如flash、视频播放页面,频繁绘制的页面等。

本实施例中的网络直播视频加载方法就采用了上述的进程分离方法,将除了和视频图像的下载及解析有关的工作以外的所有任务通过主进程完成,分离出的播放进程专门处理视频加载和解析等任务,能够在很大程度上释放内存空间,提高应用运行的流畅度。

步骤102:接收用户对直播间信息的选择操作。

优选地,本实施例的网络直播视频加载方法,接收用户对直播间信息的选择操作的步骤之前还包括加载处理封面图像的操作,具体包括以下步骤:

从直播间列表页面中获取直播间封面地址;根据所述直播间封面地址获取所述直播间列表页面封面图像文件并缓存至本地;对所述封面图像文件进行模糊化处理,生成封面模糊图像文件。

直播应用一般会给用户展示当前正在直播的房间列表,用户点击列表中的房间进行观看,由于列表数据并非实时更新,观看直播的一般方式是用户点击进入房间后,拉取最新的播放地址,交给播放器进行播放,此过程在网速足够的情况下,需要进行一次网络请求获取地址,一次连接播放服务器,以及解码等过程,耗时3-5秒不等,在此期间用户无法操作,体验较差。

在大部分情况下,用户的拉流地址不会改变,因此针对上述现象,可以在列表页面提供播放地址,在用户选中房间时进行预拉流,减少请求地址和页面启动的时间等,能够较快进入播放,减少用户等待时间。

步骤103:主进程渲染直播间页面操作层,播放进程获取并解析视频数据。

终端在接收到用户的选择操作并从将播放从主进程中分离出后,两个进程就开始同时执行各自分配的任务。

其中,主进程的任务包括:启动跨进程通信器并计时预设延时启动直播间页面;渲染直播间页面操作层。

播放进程的任务包括:所述播放进程启动播放器消息队列并选取空闲播放器;播放器消息队列接收跨进程通信器发送的播放地址;根据播放地址选取播放服务器;连接播放服务器;从播放服务器中获取视频数据;解析视频数据。

在程序启动时,创建播放进程,开始播放消息队列护循环,当用户点击某个直播间时,将播放地址跨进程传递给播放消息队列,播放消息队列选取空闲的播放器实例,播放器进程开始异步进行播放,首先连接播放服务器,并开始拉取视频数据,当拉取到可以解析的最小帧结构时开始解析,解析出的音频直接播放,视频等待主进程设置渲染页面。

步骤104:主进程启动直播间页面。

一种优选的主进程启动直播间页面的方式如下:预设延时结束后,加载启动动画,启动直播间页面;加载直播间页面操作层并显示封面模糊图像文件。

优选地,可以延时500毫秒启动页面,页面启动动画持续300毫秒,这样用户从点击观看至看到播放页面最快要经历800毫秒,为提前连接拉流服务器和解码创造了800毫秒的时间,让用户降低感官上的首屏时间。

步骤105:播放进程播放视频数据。

优选地,本实施例的网络直播视频加载方法还包括:主进程将播放地址跨进程传递给播放进程后,异步拉取最新的房间信息,等待延时预设,并启动播放页面,播放页面启动动画,并将播放页面设置给播放进程,最新的房间信息拉取到之后和播放器去加载的进行矫正,如果一样就等待播放,如果不一样,就向播放进程消息队列发送停止命令,并设置新的播放地址等待播放。

播放进程的地址矫正,如果收到停止当前播放命令就立即异步停止当前线程,并释放资源,同时新选择一个空闲可用的播放器播放矫正后的新地址。

本发明实施例提供的一种网络直播视频加载方法,能通过从主进程分离出播放进程专门处理视频加载和解析等任务,提高设备内存使用率和处理器吞吐率;主进程在在列表页面获取播放地址,在用户选中房间时进行延时显示播放页面并进行页面操作层渲染和预拉流等策略,加快进入播放的速度,提高设备资源利用率,提升应用的流畅度和用户等的使用体验待时间。此外,本实施例所提供的网络直播视频加载方法,还可在列表页面获取播放地址后,用户选择直播间前预获取并处理封面,进一步提高获取和解析视频数据时处理器使用率,提升了应用的流畅度和用户的使用体验。

实施例二

参照图2,示出了本发明的一种网络直播视频加载终端的结构示意图。本实施例所示的网络直播视频加载终端包括:

进程分离模块201,用于分离主进程和播放进程。

接收模块202,用于接收用户对直播间信息的选择操作。

主进程模块203,用于主进程渲染直播间页面操作层,以及启动直播间页面。

播放进程模块204,用于播放进程获取并解析视频数据,以及播放视频数据。

本发明实施例提供的一种网络直播视频加载终端,能通过从主进程分离出播放进程专门处理视频加载和解析等任务,在用户选中房间时进行延时显示播放页面并进行预拉流等策略,加快进入播放的速度,提高设备资源利用率,提升应用的流畅度和用户等的使用体验待时间。

实施例三

参照图3,示出了本发明的一种网络直播视频加载终端的结构示意图。本实施例所示的网络直播视频加载终端包括:

进程分离模块301,用于分离主进程和播放进程;接收模块302,用于接收用户对直播间信息的选择操作;主进程模块303,用于主进程渲染直播间页面操作层,以及启动直播间页面;播放进程模块304,用于播放进程获取并解析视频数据,以及播放视频数据。

优选地,本实施例的主进程模块303包括:第一主进程子模块3031,用于计时预设延时并启动跨进程通信器;第二主进程子模块3032,用于渲染直播间页面操作层;动画子模块3033,用于预设延时结束后,加载启动动画,启动直播间页面;封面子模块3034,用于缓存封面图像文件;页面加载子模块3035,用于加载直播间页面操作层并显示封面模糊图像文件。

优选地,本实施例的主进程模块303还包括:地址获取子模块3036,用于从直播间列表页面中获取直播间页面地址;封面缓存子模块3037,用于根据直播间页面地址获取直播间列表页面封面图像文件并缓存至本地;封面模糊子模块3038,用于对封面图像文件进行模糊化处理,生成封面模糊图像文件。

优选地,本实施例的主进程模块303还包括:异步信息拉取子模块3039,用于主进程将播放地址通过跨进程播放器发送给播放消息队列后,开始异步拉取最新房间信息;对比子模块30310,用于主进程拉取到最新房间信息后,将最新房间信息和播放进程连接的播放服务器地址进行对比;矫正子模块30311,用于在对比结果不同时,向播放进程消息队列发送停止命令,并设置新的播放地址等待播放

优选地,本实施例的播放进程模块304包括:第一播放进程子模块3041,用于播放进程启动播放器消息队列并启动播放器缓存池;第二播放进程子模块3042,用于播放器消息队列接收跨进程通信器发送的播放地址;播放器选取子模块3043,用于根据播放地址在播放器缓存池中选取空闲播放器;流媒体连接子模块3044,用于连接播放地址所在流媒体服务器;视频数据获取子模块3045,用于从流媒体服务器中获取视频数据;视频解析子模块3046,用于解析视频数据。

本发明实施例的一种网络直播视频加载终端用于实现前述实施例一中相应的一种网络直播视频加载方法,并且具有相应的方法实施例的有益效果,在此不再赘述。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上对本发明所提供的一种网络直播视频加载方法和终端,进行了详细介绍,本文中应用了具体个例对本发明的实施步骤及实现装置进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1