一种直播视频加载方法和装置与流程

文档序号:12498359阅读:256来源:国知局
一种直播视频加载方法和装置与流程

本发明涉及互联网领域,特别涉及一种直播视频加载方法和装置。



背景技术:

随着互联网技术的发展,互联网直播已成为当今的潮流,越来越多的用户利用移动终端来观看视频直播节目。

当前直播视频的加载流程一般为:用户打开直播应用程序,并点击感兴趣的视频直播节目,然后移动终端上会显示所点击的视频正在加载的状态页,待直播视频加载到一定程度时即开始播放直播视频。

然而,这种直播视频的加载方式存在加载时间较长的问题,造成用户的观看体验下降。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种直播视频加载方法和装置,以缩短直播视频的加载时间。

一方面,提供一种直播视频加载方法,所述方法包括:

根据输入操作,在屏幕上显示多个直播视频的条目;

在显示所述多个直播视频的条目的同时,缓存所述屏幕上显示的所述多个直播视频的条目中的每个直播视频的条目对应的数据流;

一旦接收到对所述多个直播视频的条目中的一个直播视频的条目的触发操作,加载触发的所述直播视频,并显示所述直播视频的画面;

其中,所述条目包括直播视频的直播截图。

可选地,在一个实施例中,所述方法还包括:

在接收到滑动屏幕操作的情况下,在所述屏幕上显示刷新后的多个直播视频的条目的同时,缓存所述屏幕上显示的、刷新后的所述多个直播视频的条目中的每个直播视频的条目对应的数据流;

其中,所述滑动屏幕操作包括:向下滑动屏幕操作、向下滑动屏幕操作、向左滑动屏幕操作和向下滑动屏幕操作。

可选地,在另一个实施例中,所述方法还包括:

一旦在所述屏幕上显示的至少一个直播视频的条目经由滑动屏幕操作而不再出现在所述屏幕上时,释放针对所述至少一个直播视频的条目而缓存的数据流。

可选地,在另一个实施例中,所述方法还包括:

为所述屏幕上显示的每个直播视频的条目分配固定的存储空间;

一旦所述存储空间中存储的数据流大小达到阈值时,按照从早到晚的缓存时间顺序丢弃所述存储空间中的至少一部分数据流;

其中,丢弃的数据流的大小等于同一时刻缓存的数据流的大小。

可选地,在另一个实施例中,所述条目还包括以下至少一者:直播视频的介绍、直播视频的观看人数、直播视频的直播截图的统一资源定位符以及直播视频流地址,在所述屏幕上显示的直播视频的条目数目为至少3个。

另一方面,提供一种直播视频加载装置,所述装置包括输入模块、显示模块、缓存模块和加载模块,其中:

所述输入模块,用于接收输入操作;

所述显示模块,用于根据输入操作,在屏幕上显示多个直播视频的条目;

所述缓存模块,用于在所述显示模块显示所述多个直播视频的条目的同时,缓存所述屏幕上显示的所述多个直播视频的条目中的每个直播视频的条目对应的数据流;

所述加载模块,用于一旦所述输入模块接收到对所述多个直播视频的条目中的一个直播视频的条目的触发操作,加载触发的所述直播视频;

所述显示模块,还用于显示所述直播视频的画面;

其中,所述条目包括直播视频的直播截图。

可选地,在一个实施例中,在所述输入模块接收到滑动屏幕操作的情况下:

所述显示模块,还用于在所述屏幕上显示刷新后的多个直播视频的条目;

所述缓存模块还用于:缓存所述屏幕上显示的、刷新后的所述多个直播视频的条目中的每个直播视频的条目对应的数据流;

其中,所述滑动屏幕操作包括:向下滑动屏幕操作、向下滑动屏幕操作、向左滑动屏幕操作和向下滑动屏幕操作。

可选地,在另一个实施例中,所述缓存模块还用于:

一旦在所述屏幕上显示的至少一个直播视频的条目经由滑动屏幕操作而不再出现在所述屏幕上时,释放针对所述至少一个直播视频的条目而缓存的数据流。

可选地,在另一个实施例中,所述缓存模块还用于:

为所述屏幕上显示的每个直播视频的条目分配固定的存储空间;

一旦所述存储空间中存储的数据流大小达到阈值时,按照从早到晚的缓存时间顺序丢弃所述存储空间中的至少一部分数据流;

其中,丢弃的数据流的大小等于同一时刻缓存的数据流的大小。

可选地,在另一个实施例中,所述条目还包括以下至少一者:直播视频的介绍、直播视频的观看人数、直播视频的直播截图的统一资源定位符以及直播视频流地址,在所述屏幕上显示的直播视频的条目数目为至少3个。

另一方面,提供一种终端设备,所述终端设备包括存储器和处理器,所述存储器上存储有计算机程序,当所述处理器执行所述计算机程序时执行本发明实施例中的任一种直播视频加载方法。

其中,所述终端设备可以为手机、平板电脑、台式电脑等。

另一方面,提供一种非临时性存储介质,所述非临时性存储介质上存储有计算机程序,当所述计算机程序被处理器执行时运行本发明实施例中的任一种直播视频加载方法。

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

在显示直播视频的条目的同时,缓存屏幕上显示出的各个直播视频的条目对应的数据流,可以在用户观看直播视频之前,预先存储用户想要观看的直播视频的数据流。如此,后续在用户触发播放显示出的直播视频时,即可大大缩短直播视频的加载时间,甚至实现直播视频的直接播放。

附图说明

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

图1是本发明实施例提供的直播视频加载方法的流程图。

图2是用户打开直播平台应用时展示的条目的界面;

图3是数据流缓存维持的示意图;

图4是本发明实施例提供的一种直播视频加载装置的结构框图。

具体实施方式

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

图1是本发明实施例提供的直播视频加载方法的流程图。参照图1,本发明实施例提供的直播视频加载方法可包括:

11、根据输入操作,在屏幕上显示多个直播视频的条目。

本发明实施例中的输入操作可以为各种不同操作。例如,打开直播软件(例如,YY直播等)的操作,从直播软件的初始页切换到其他页面(例如,附近页面、潮音乐页面、体育页面等等)的操作等。当输入操作为打开直播软件的操作时,在屏幕上显示的是直播软件的初始页面,该初始页面上可显示多个直播视频的条目;当输入操作为从直播软件的初始页切换到其他页面时,在屏幕上显示的是切换到的页面下多个直播视频的条目。例如,用户在打开YY直播后,默认显示的热门页面下的多个直播视频的条目,当用户通过输入操作切换到例如体育页面时,则显示的是体育页面下多个直播视频的条目。当然,本发明实施例中的输入操作还可以为其他操作,例如返回操作等。

本发明实施例中的“条目(Item)”是直播视频的图形化抽象,可用来代表直播视频,条目中所包含的各种信息可表示直播视频的具体情况。一个条目可对应于一个直播视频。所述条目可包括直播视频的直播截图,所述直播截图可以为每隔固定时间间隔对直播视频进行截图得到的直播截图。当然,所述条目还包括以下至少一者:直播视频的介绍、直播视频的观看人数、直播视频的直播截图的统一资源定位符(URL)以及直播视频流地址。也就是说,任何与直播视频有关的内容或材料都可以作为条目的一部分。

在本发明实施例中,在所述屏幕上显示的直播视频的条目数目可以为2个以上,例如为3个、5个、7个等。

12、在显示所述多个直播视频的条目的同时,缓存所述屏幕上显示的所述多个直播视频的条目中的每个直播视频的条目对应的数据流。

本发明实施例中各个不同的直播视频的条目用以代表各个不同的直播视频,“直播视频的条目对应的数据流”即为直播视频的条目所代表的直播视频的数据流。

本发明实施例提供的直播视频加载方法与相关技术不同,在显示直播视频的条目的同时即缓存显示出的各个直播视频的条目,而无需等待用户的点击操作后才缓存直播视频。如此,可以在用户浏览直播视频的条目的同时,完成对直播视频数据流的缓存。从而,便于后续直接利用已缓存的数据流来显示直播视频画面,进而缩短加载直播视频的时间,提高用户体验。

13、一旦接收到对所述多个直播视频的条目中的一个直播视频的条目的触发操作,加载触发的所述直播视频,并显示所述直播视频的画面。

本发明实施例中的触发操作是指的触发直播视频播放的操作,视具体设置而定,触发操作可以为单击操作、双击操作、右击操作等等。一旦接受到用户的触发操作,即表明用户想要播放触发的直播视频。

移动终端在接收到此触发操作后,即可开始加载直播视频,并显示直播视频的画面。

本发明实施例提供的直播视频加载方法,在显示直播视频的条目的同时,缓存屏幕上显示出的各个直播视频的条目对应的数据流,可以在用户观看直播视频之前,预先存储用户想要观看的直播视频的数据流。如此,后续在用户触发播放显示出的直播视频时,即可大大缩短直播视频的加载时间,甚至实现直播视频的直接播放。

在本发明实施例中,用户在查看屏幕上显示出的直播视频的条目时,可能当前显示出的直播视频的条目并不是用户想要观看的直播视频的条目,因而,用户可通过各种滑动操作,来实现对直播视频的条目的刷新或替换。例如,用户在打开直播软件后,可通过例如向上滑动操作来保证屏幕上显示出新的直播视频的条目,而一旦用户从新出现的直播视频的条目中发现有自己想看的直播视频,则可通过触发操作来观看直播视频。在这种应用情形下,本发明实施例提供的直播视频的加载方法会直接对刷新后出现的各个直播视频的条目对应的数据流进行缓存,从而保证用户在想要观看直播视频时,可以耗费较少的加载时间,甚至实现立即观看。具体地,本发明实施例,在接收到滑动屏幕操作的情况下,会在屏幕上显示刷新后的多个直播视频的条目的同时,缓存所述屏幕上显示的、刷新后的所述多个直播视频的条目中的每个直播视频的条目对应的数据流;其中,所述滑动屏幕操作包括:向下滑动屏幕操作、向下滑动屏幕操作、向左滑动屏幕操作和向下滑动屏幕操作。

在本发明实施例中,如果终端设备上的存储空间足够大,可以一直缓存直播视频的数据流。然而,实际应用中,终端设备上的存储空间往往是有限的,为更好地节约存储空间,本发明实施例提供的直播视频加载方法可以释放之前在屏幕上显示而经过滑动操作后现在不在屏幕上显示的那些直播视频的条目对应的数据流。具体地,在本发明的一个实施例中,一旦在所述屏幕上显示的至少一个直播视频的条目经由滑动屏幕操作而不再出现在所述屏幕上时,即可释放针对所述至少一个直播视频的条目而缓存的数据流。数据流释放后不再占用存储空间,如此即可达到节省存储空间的目的。

在本发明实施例中,还可以为所述屏幕上显示的每个直播视频的条目分配固定的存储空间,例如5M、8M等。还可以为针对每个直播视频缓存的数据流设置阈值,例如在存储空间为8M时,可以设置阈值为5M,当然也可以设置阈值为8M等。一旦所述存储空间中存储的数据流大小达到阈值时,可按照从早到晚的缓存时间顺序丢弃所述存储空间中的至少一部分数据流;其中,丢弃的数据流的大小等于同一时刻缓存的数据流的大小。也就是说,在本发明实施例中,一旦用户想要看的直播视频已缓存并达到设定的阈值,则在用户观看直播视频的同时,终端设备一方面会即时缓存当前的直播视频的数据流,以便于显示直播视频的画面,另一方面会将之前最早缓存的该直播视频的数据流丢弃,以节省存储空间。而在同一时刻,缓存的直播视频的数据流等于丢弃的直播视频的数据流。通过这种方式,可以保证既不影响用户观看直播视频,又可以节省存储空间,实现用较少的存储空间实现对直播视频的加载和播放。

为更好地理解本发明实施例的技术方案,下面对具体实现过程进行进一步阐释。下面的示例描述中以移动终端为手机为例进行说明。

首页数据展示

当用户打开直播平台应用时,可展示如图2的界面,图2所示的条目包括直播截图,当然,在本发明实施例中条目还可包含直播截图URL、直播视频流地址等。在本发明实施例中,每个条目对应的后台内存空间可添加一个直播音视频流缓存(BUFF)。

用户可点击当前手机界面中显示的直播截图,进入一个直播间观看直播。在本发明实施例中,当用户进入首页时,会展示第一屏的直播截图,并通知后台从直播视频流地址下载音视频流缓存到上述缓存(BUFF)中。

需要指出的是,在本发明实施例中,在下载数据流之前,还可先判断终端设备是否是使用WIFI下载数据流,如果是,则可以直接下载;否则,可以等待在WIFI条件下再下载数据流,避免用户耗费过多的流量。

流缓存(BUFF)维护

当用户上下滑动首页的条目列表(List)时,会加载出更多直播视频条目(具体可例如为主播直播截图信息)。但由于音视频流是实时的,其网络请求数据流量是较大的,所以内存中可以只维持一定数目的缓存,例如维护N个流缓存。其中,N可以为大于2的整数。

图3是数据流缓存维持的示意图。图3中的向下箭头表示手指向上拖动,屏幕展示下发的条目(Item)。图3中的向右实线箭头指示位于屏幕中央位置的条目,该条目最有可能为用户想要观看的直播视频的条目。虚线框表示终端设备(例如,手机)的显示界面范围。由图可知,图3中示出了维持3个流缓存。

如图3中所示,维持了3个缓存,条目位置(ItemPosition)分别为-1,0,1。这里需要指出的是,图3中所示出的缓存数目和条目位置表示(即,-1,0,1)只是举例,而不意为限制。在本发明实施例中,还可以采用其他数目的缓存(例如,缓存5个条目),也可以采用其他方式来表示条目位置,例如,-2,0,2等。

当监听到用户上下滑动首页条目列表时,可更新各个条目的条目位置(ItemPosition),在本发明实施例中,可设定占屏幕界面高度最大的条目的条目位置(ItemPosition)为0,还可以设置位于屏幕中心的条目的条目位置为0。

本发明实施例中在具体实现时,可定义条目位置更新事件(ItemPositionUpdateEvent),当条目位置(ItemPosition)变化时,触发该条目位置更新事件,通知应用后台下载新的媒体流。如图3所示,用户向上滑动到当前状态,关闭ItemPosition=-2对应的数据流,并销毁其缓存(BUFF0)。同时,初始化ItemPosition=2对应的缓存(BUFF4),并根据该直播间信息下载数据流存入该缓存BUFF4。

当用户滑动方向改变时,条目位置(ItemPosition)发生翻转,但保证处于当前屏幕正中央上的条目位置(ItemPosition)永远为0。

本发明实施例中的缓存可以为一个队列,为避免缓存空间持续不断增大,当达到设定的阈值时,可以留下新的数据流,按照时间顺序丢弃旧的数据流。同时,缓存的数据流的大小等于丢弃的数据流的大小。即,下载多少数据流到队列中,就从队列中丢弃等同的数据流。

点击进频道

本发明实施例在实现时,可以维护有播放器使用的单例的音视频内存地址的指针(即,Player.getInstance().buff),用户点击屏幕上显示的一个直播截图而进入频道时,将该指针指向点击的条目所对应的缓存,由于缓存中已有一定数据量,播放器可以直接播放音视频,所以从用户体验角度,用户将感觉不到音视频加载过程,即“视频加载状态”时长减短甚至为0。

图4是本发明实施例提供的一种直播视频加载装置的结构框图。参照图4,本发明实施例提供的直播视频加载装置400可包括输入模块401、显示模块402、缓存模块403和加载模块404。其中:

所述输入模块401,用于接收输入操作;

所述显示模块402,用于根据输入操作,在屏幕上显示多个直播视频的条目;

所述缓存模块403,用于在所述显示模块显示所述多个直播视频的条目的同时,缓存所述屏幕上显示的所述多个直播视频的条目中的每个直播视频的条目对应的数据流;

所述加载模块404,用于一旦所述输入模块接收到对所述多个直播视频的条目中的一个直播视频的条目的触发操作,加载触发的所述直播视频;

所述显示模块,还用于显示所述直播视频的画面;

其中,所述条目包括直播视频的直播截图。

本发明实施例提供的直播视频加载装置,在显示直播视频的条目的同时,缓存屏幕上显示出的各个直播视频的条目对应的数据流,可以在用户观看直播视频之前,预先存储用户想要观看的直播视频的数据流。如此,后续在用户触发播放显示出的直播视频时,即可大大缩短直播视频的加载时间,甚至实现直播视频的直接播放。

可选地,在一个实施例中,在所述输入模块401接收到滑动屏幕操作的情况下:

所述显示模块402,还用于在所述屏幕上显示刷新后的多个直播视频的条目;

所述缓存模块403还用于:缓存所述屏幕上显示的、刷新后的所述多个直播视频的条目中的每个直播视频的条目对应的数据流;

其中,所述滑动屏幕操作包括:向下滑动屏幕操作、向下滑动屏幕操作、向左滑动屏幕操作和向下滑动屏幕操作。

可选地,在一个实施例中,所述缓存模块403还用于:

一旦在所述屏幕上显示的至少一个直播视频的条目经由滑动屏幕操作而不再出现在所述屏幕上时,释放针对所述至少一个直播视频的条目而缓存的数据流。

可选地,在一个实施例中,所述缓存模块403还用于:

为所述屏幕上显示的每个直播视频的条目分配固定的存储空间;

一旦所述存储空间中存储的数据流大小达到阈值时,按照从早到晚的缓存时间顺序丢弃所述存储空间中的至少一部分数据流;

其中,丢弃的数据流的大小等于同一时刻缓存的数据流的大小。

在本发明实施例中,所述条目还可包括以下至少一者:直播视频的介绍、直播视频的观看人数、直播视频的直播截图的统一资源定位符以及直播视频流地址,在所述屏幕上显示的直播视频的条目数目为至少3个。

本发明实施例提供的直播视频加载装置,可以实现在用户浏览条目时预加载直播视频,进而优化用户进频道的速度,可实现用户点击条目即可快速观看直播视频,提高用户的观看体验。

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

本发明实施例还可提供一种终端设备,所述终端设备包括存储器和处理器,所述存储器上存储有计算机程序,当所述处理器执行所述计算机程序时执行本发明实施例中的任一种直播视频加载方法。

所述终端设备可以为手机、平板电脑、台式电脑等。

本发明实施例还可提供一种非临时性存储介质,所述非临时性存储介质上存储有计算机程序,当所述计算机程序被处理器执行时运行本发明实施例中的任一种直播视频加载方法。

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

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

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