1.本技术涉及互联网技术领域,特别涉及数据处理方法。本技术同时涉及数据处理装置,数据处理系统,一种计算设备,以及一种计算机可读存储介质。
背景技术:2.随着互联网技术的发展,越来越多的人在网上观看视频直播,有些人可能会同时打开很多个直播一起观看,但是因为网速有限,用户看直播时会感到卡顿。有时用户还会将直播放在后台播放,当将后台的视频直播恢复到前台播放时,还会出现花屏、视频卡顿的情况。
技术实现要素:3.有鉴于此,本技术实施例提供了数据处理方法。本技术同时涉及数据处理装置,数据处理系统,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的恢复视频直播时直播画面花屏卡顿的问题和观看多个视频直播时直播卡顿的问题。
4.根据本技术实施例的第一方面,提供了一种数据处理方法,应用于客户端,包括:
5.监测目标视频的播放状态;
6.在所述播放状态由音频播放状态变更为视频播放状态的情况下,发送视频获取指令至目标链路节点,其中,所述视频获取指令中携带有目标视频标识;
7.接收所述目标链路节点返回的与所述目标视频标识对应的目标视频数据和目标帧数据信息,其中,所述目标帧数据信息缓存于所述目标链路节点;
8.根据所述目标帧数据信息播放所述目标视频数据。
9.根据本技术实施例的第二方面,提供了一种数据处理方法,应用于目标链路节点,包括:
10.接收服务器发送的视频数据,并缓存所述视频数据的帧数据信息;
11.接收客户端发送的视频获取指令,其中,所述视频获取指令中携带有目标视频标识;
12.根据所述目标视频标识确定目标视频数据和目标帧数据信息;
13.发送所述目标视频数据和所述目标帧数据信息至所述客户端。
14.根据本技术实施例的第三方面,提供了一种数据处理系统,包括目标链路节点、客户端,其中:
15.所述目标链路节点,被配置为接收服务器发送的视频数据,并缓存所述视频数据的帧数据信息;
16.所述客户端,被配置为监测目标视频的播放状态,在所述播放状态由音频播放状态变更为视频播放状态的情况下,发送视频获取指令至所述目标链路节点,其中,所述视频获取指令中携带有目标视频标识;
17.所述目标链路节点,进一步被配置为接收所述视频获取指令,根据所述目标视频
标识确定目标视频数据和目标帧数据信息,并发送所述目标视频数据和所述目标帧数据信息至所述客户端;
18.所述客户端,进一步被配置为接收所述目标视频数据和所述目标帧数据信息,并根据所述目标帧数据信息播放所述目标视频数据。
19.根据本技术实施例的第四方面,提供了一种数据处理装置,应用于客户端,包括:
20.监测模块,被配置为监测目标视频的播放状态;
21.发送模块,被配置为在所述播放状态由音频播放状态变更为视频播放状态的情况下,发送视频获取指令至目标链路节点,其中,所述视频获取指令中携带有目标视频标识;
22.接收模块,被配置为接收所述目标链路节点返回的与所述目标视频标识对应的目标视频数据和目标帧数据信息,其中,所述目标帧数据信息缓存于所述目标链路节点;
23.播放模块,被配置为根据所述目标帧数据信息播放所述目标视频数据。
24.根据本技术实施例的第五方面,提供了一种数据处理装置,应用于目标链路节点,包括:
25.缓存模块,被配置为接收服务器发送的视频数据,并缓存所述视频数据的帧数据信息;
26.指令接收模块,被配置为接收客户端发送的视频获取指令,其中,所述视频获取指令中携带有目标视频标识;
27.确定模块,被配置为根据所述目标视频标识确定目标视频数据和目标帧数据信息;
28.发送模块,被配置为发送所述目标视频数据和所述目标帧数据信息至所述客户端。
29.根据本技术实施例的第六方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述数据处理方法的步骤。
30.根据本技术实施例的第七方面,提供了一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现所述数据处理方法的步骤。
31.本技术提供的数据处理方法,应用于客户端,包括:监测目标视频的播放状态;在所述播放状态由音频播放状态变更为视频播放状态的情况下,发送视频获取指令至目标链路节点,其中,所述视频获取指令中携带有目标视频标识;接收所述目标链路节点返回的与所述目标视频标识对应的目标视频数据和目标帧数据信息,其中,所述目标帧数据信息缓存于所述目标链路节点;根据所述目标帧数据信息播放所述目标视频数据。本技术一实施例实现了在客户端恢复视频直播时,根据目标链路节点缓存的目标帧数据信息播放目标视频数据,避免了强行恢复直播画面造成的画面花屏,提升了用户的使用体验。
附图说明
32.图1是本技术一实施例提供的一种应用于客户端的数据处理方法的流程图;
33.图2是本技术一实施例提供的一种应用于目标链路节点的数据处理方法的流程图;
34.图3是本技术一实施例提供的一种数据处理系统的结构示意图;
35.图4是本技术一实施例提供的一种应用于客户端的数据处理装置的结构示意图;
36.图5是本技术一实施例提供的一种应用于目标链路节点的数据处理装置的结构示意图;
37.图6是本技术一实施例提供的一种计算设备的结构框图。
具体实施方式
38.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
39.在本技术一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术一个或多个实施例。在本技术一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本技术一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
40.应当理解,尽管在本技术一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
41.首先,对本技术一个或多个实施例涉及的名词术语进行解释。
42.直播:live broadcast,在本技术中指网络视频直播,直播音视频会以媒体流的形式推送到服务器上,如果有观众收看直播,服务器会收到用户的请求,将视频流通过内容分发网络(cdn)传输到网站、app、客户端的播放器,实现视频播放。
43.cdn:content delivery network,即内容分发网络。cdn是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。cdn的关键技术主要有内容存储和分发技术。
44.rtmp:real time messaging protocol,实时消息传输协议。该协议基于tcp,是一个协议族,包括rtmp基本协议及rtmpt/rtmps/rtmpe等多种变种。rtmp是一种设计用来进行实时数据通信的网络协议,主要用来在flash/air平台和支持rtmp协议的流媒体/交互服务器之间进行音视频和数据通信。
45.推流:将直播内容推送至服务器的过程。
46.拉流:指服务器已有直播内容,用指定地址进行拉取的过程,根据协议类型(如rtmp、rtp、rtsp、http等),与服务器建立连接并接收数据。
47.web播放器:网页端的可以播放视频的窗口。
48.关键帧:又叫i帧,视频压缩中,每帧代表一幅静止的图像。而在实际压缩时,会采取各种算法减少数据的容量,其中ipb就是最常见的,i帧表示关键帧,可以理解为这一帧画面的完整保留,解码时只需要本帧数据就可以完成。
49.差别帧:又叫p帧,表示的是这一帧跟之前的一个关键帧(或p帧)的差别,解码时需
要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。
50.随着网络的普及,越来越多的人在网上观看视频直播,直播时使用的协议为rtmp协议,有些人在通过电脑网页观看视频时,会同时打开很多个直播页面一起观看,在此过程中,经常会将直播网页最小化,当恢复视频播放时会造成视频画面花屏、卡顿等现象。
51.基于此,在本技术中,提供了数据处理方法,本技术同时涉及数据处理装置,数据处理系统,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
52.图1示出了根据本技术第一实施例提供的一种数据处理方法的流程图,所述数据处理方法应用于客户端,具体包括以下步骤:
53.步骤102:监测目标视频的播放状态。
54.在本技术第一实施例中,数据处理方法应用于客户端,用户使用客户端观看视频直播,视频直播在播放过程中,通常有两种播放状态,一种为音频播放状态,即视频以仅播放音频的形式播放,并无视频画面;另一种为视频播放状态,即视频即播放视频又播放音频。
55.目标视频即用户需要进行处理的直播视频,在实际应用中,用户可能会通过客户端观看视频直播,进一步的,也可能会同时观看多个视频直播,此时即需要进行数据处理的视频即为目标视频。在本技术中,需要实时监测目标视频的播放状态。
56.在本技术提供的一具体实施方式中,以用户通过笔记本电脑的网页端观看视频直播为例,用户在观看直播视频1、直播视频2和直播视频3,需要分别监测每个直播视频的播放状态,此时,直播视频1的播放状态为音频播放状态、直播视频2的播放状态为音频播放状态,直播视频3的播放状态为视频播放状态。
57.步骤104:在所述播放状态由音频播放状态变更为视频播放状态的情况下,发送视频获取指令至目标链路节点,其中,所述视频获取指令中携带有目标视频标识。
58.当目标视频的播放状态发生变更时,则需要根据变更的情况进行进一步的具体分析,当目标视频的播放状态由音频播放状态变更为视频播放状态的情况下,即向目标链路节点发送视频获取指令。
59.在实际应用中,目标视频的播放状态由音频播放状态变更为视频播放状态的情况有很多,包括:监测到所述目标视频由后台播放变更为前台播放;或在音频播放状态的情况下,接收到用户发送视频播放指令。
60.在视频直播的过程中,目标视频若在后台播放时通常可以视为音频播放状态,当监测到目标视频由后台播放变更为前台播放时,则可以确定目标视频的播放状态由音频播放状态变更为视频播放状态。
61.另外,在视频直播的播放器中,设置有仅音频播放的按钮,当选中仅音频播放按钮时,目标视频的播放状态为音频播放状态,此时目标视频以仅播放音频的形式播放;当未选中仅音频播放按钮时,目标视频的播放状态为视频播放状态,即播放音频又播放视频。当在音频播放状态下,用户取消选中仅音频播放按钮,即用户向客户端发送了视频播放指令,此时可以确定目标视频的播放状态由音频播放状态变更为视频播放状态。
62.目标链路节点具体是指用于调度视频数据的cdn节点,直播视频流从服务器推送至目标链路节点,当有用户需要拉取直播视频流时,从目标链路节点将直播视频流发送至
客户端。
63.当播放状态由音频播放状态变更为视频播放状态时,需要获取目标视频的视频数据,因此,向目标链路节点发送视频获取指令,用于从目标链路节点获取目标视频的视频数据,视频获取指令携带有目标视频标识。
64.在本技术提供的一具体实施方式中,沿用上例,以直播视频1为例,直播视频1为后台播放,播放状态为音频播放状态,此时,用户将直播视频1从后台播放切换至前台播放,直播视频1的播放状态由音频播放状态变更为视频播放状态,此时向目标链路节点发送视频获取指令,在视频获取指令中携带有视频标识“直播视频1”。
65.步骤106:接收所述目标链路节点返回的与所述目标视频标识对应的目标视频数据和目标帧数据信息,其中,所述目标帧数据信息缓存于所述目标链路节点。
66.目标链路节点响应于视频获取指令会返回与目标视频标识对应的目标视频数据和目标帧数据信息,目标帧数据信息是预先缓存与目标链路节点中的。
67.其中,目标视频数据具体是指目标视频的视频流数据,目标帧数据信息是指用于还原视频画面的视频帧数据,所述目标帧数据信息可以还原当前时间点的目标视频帧。
68.具体的,接收所述目标链路节点返回的与所述目标视频标识对应的目标帧数据信息,包括:
69.接收所述目标链路节点返回的与所述目标视频帧标识对应的目标关键帧和差别帧集合。
70.其中,目标视频帧包括目标关键帧和差别帧集合,在实际应用中,在恢复视频播放时,获取的当前帧大概率是一个差别帧,而差别帧记录的是当前帧与关键帧或上一个差别帧的差别信息,仅凭借一个差别帧是无法还原视频帧的,因此,目标链路节点会预先缓存一个关键帧和该关键帧到当前帧之间的差别帧集合,预先缓存的关键帧即为目标关键帧,当将视频获取指令发送至目标链路节点后,目标链路节点会返回与所述目标视频帧对应的目标关键帧和差别帧集合。根据目标关键帧和差别帧集合可以恢复当前的目标视频帧。
71.进一步的,为了减少计算量,通常会在目标链路节点中缓存最后一个关键帧和最后一个关键帧到当前帧之间的差别帧集合,其中,最后一个关键帧是指目标链路节点接收的最新的关键帧,例如,以每隔100个视频帧会有一个关键帧为例,则第1帧、第101帧、第201帧
……
为关键帧,当目标链路节点接收到第88个视频帧时,则第1帧为最后一个关键帧,当目标链路节点接收到第177个视频帧时,则第101帧为最后一个关键帧。当将视频获取指令发送至目标链路节点后,目标链路节点会返回与所述目标视频帧对应的最后一个关键帧和差别帧集合。根据最后一个关键帧和差别帧集合可以恢复当前的目标视频帧。
72.在本技术提供的一具体实施方式中,沿用上例,接收目标链路节点返回的与视频标识“直播视频1”对应的直播视频流l、目标关键帧i和差别帧集合{p1、p2、
……
pn}。
73.步骤108:根据所述目标帧数据信息播放所述目标视频数据。
74.其中,所述目标帧数据信息具体是视频流数据在当前时刻播放的视频画面信息,在确定目标帧数据信息后,即可在目标帧数据信息的基础上播放所述目标视频数据。
75.在实际应用中,目标帧数据信息包括目标关键帧和差别帧集合,因此,根据所述目标帧数据信息播放所述目标视频数据,具体包括:
76.根据所述目标关键帧和所述差别帧集合生成目标视频帧;
77.基于所述目标视频帧播放所述目标视频数据。
78.在实际应用中,在确定目标关键帧和差别帧集合后,即可根据目标关键帧和差别帧集合确定一个完整的视频帧,将完整的视频帧作为当前时刻的目标视频帧,从该目标视频帧起播放所述目标视频数据,完成目标视频由音频播放状态变更为视频播放状态过程。
79.在本技术提供的一具体实施方式中,沿用上例,根据目标关键帧i和差别帧集合{p1、p2、
……
pn}可以还原生成目标视频帧t,从该目标视频帧t起播放直播视频流l。
80.在实际应用中,用户还可能会同时观看多个直播视频,视频播放需要占用较多的带宽,当每个直播视频都处于视频播放状态的情况下,会消耗客户端的电能和性能,造成视频播放的卡顿,为了解决该问题,本技术提供的数据处理方法还包括s1102
‑
s1106:
81.s1102、在所述播放状态由视频播放状态变更为音频播放状态的情况下,发送音频获取指令至所述目标链路节点,其中,所述音频获取指令中携带有所述目标视频标识。
82.在检测目标视频的播放状态过程中,若播放状态由视频播放状态变更为音频播放状态,则向目标链路节点发送音频获取指令,用于从目标链路节点中仅拉取音频数据信息,无需传递视频信息,减少了客户端因网络带宽不足而产生的卡顿现象。在音频获取指令中同样携带有目标视频标识。
83.在实际应用中,所述播放状态由视频播放状态变更为音频播放状态,包括:
84.监测到所述目标视频由前台播放变更为后台播放;或在视频播放状态的情况下,接收到用户发送的音频播放指令。
85.当用户将目标视频切换至后台时,无需再播放目标视频的视频部分,只需要播放目标视频的音频部分即可,此时可以确定目标视频的播放状态由视频播放状态变更为音频播放状态。或者,用户选中仅音频播放按钮,即用户向客户端发送了音频播放指令,此时也可以确定目标视频的播放状态由视频播放状态变更为音频播放状态。
86.在本技术提供的一具体实施方式中,沿用上例,在直播视频1的播放状态变更为视频播放状态后,此时,直播视频1和直播视频3的播放状态为视频播放状态,直播视频2的播放状态为音频播放状态,此时用户在播放直播视频1和直播视频3时有视频卡顿的情况发生,此时用户希望观看直播视频1的内容,则将直播视频3切换至后台播放,此时监测到直播视频3由视频播放状态变更为音频播放状态,则向目标链路节点发送音频获取指令,在音频获取指令中携带有视频标识“直播视频3”。
87.s1104、接收所述目标链路节点返回的与所述目标视频标识对应的目标音频数据,其中,所述目标音频数据由所述目标链路节点从所述目标视频数据中分离。
88.接收目标链路节点根据音频获取指令获取的与目标视频标识对应的目标音频数据,该目标音频数据是由目标链路节点从目标视频数据中分离出来的,过滤了目标视频数据中的视频数据部分,仅保留了音频数据部分,可以有效减少占用的带宽资源,避免出现直播卡顿的现象,提升用户的使用体验。
89.在本技术提供的一具体实施方式中,沿用上例,接收目标链路节点返回的与视频标识“直播视频3”对应的目标音频数据v,目标音频数据v是目标链路节点从视频标识“直播视频3”对应的视频数据中分离出来的。
90.s1106、播放所述目标音频数据。
91.在接收到目标音频数据后,即可播放所述目标音频数据,实现用户可以听直播的
使用场景。提升用户的使用体验。
92.本技术实施例提供的应用于客户端的数据处理方法,包括监测目标视频的播放状态;在所述播放状态由音频播放状态变更为视频播放状态的情况下,发送视频获取指令至目标链路节点,其中,所述视频获取指令中携带有目标视频标识;接收所述目标链路节点返回的与所述目标视频标识对应的目标视频数据和目标帧数据信息,其中,所述目标帧数据信息缓存于所述目标链路节点;根据所述目标帧数据信息播放所述目标视频数据。通过本技术提供的数据处理方法,应用于使用rtmp协议作为传输网络流的场景,在客户端恢复视频直播时,根据目标链路节点缓存的目标帧数据信息播放目标视频数据,避免了强行恢复直播画面造成的画面花屏,提升了用户的使用体验。
93.其次,当目标视频从视频播放状态变更为音频播放状态的情况下,接收cdn节点发送的音频数据,无需接收全部的直播视频数据,有效减少网络带宽的占用量,避免了因同时处理较多的视频流造成的卡顿问题,进一步提升了用户的使用体验。
94.图2示出了根据本技术一实施例提供的一种数据处理方法的流程图,所述数据处理方法应用于目标链路节点,具体包括以下步骤:
95.步骤202:接收服务器发送的视频数据,并缓存所述视频数据的帧数据信息。
96.目标链路节点即cdn链路节点,在直播流的处理过程中,直播流在主播端将视频数据上传至服务器,服务器对主播的视频数据进行处理后,将视频数据分发到各个cdn节点中,在cdn节点中接收到视频数据后,还需要缓存所述视频数据的帧数据信息,具体的,即缓存最后一个关键帧及之后的每个差别帧。
97.在本技术提供的一具体实施方式中,以cdn节点接收到3个视频数据为例,cdn节点接收直播服务器分发的视频数据a、视频数据b、视频数据c,同时分别缓存每个视频数据的帧数据信息,即缓存视频数据a对应的帧数据信息ia,缓存视频数据b对应的帧数据信息ib,缓存视频数据c对应的帧数据信息ic。
98.步骤204:接收客户端发送的视频获取指令,其中,所述视频获取指令中携带有目标视频标识。
99.当客户端需要看直播视频时,将视频数据发送至客户端进行播放,在播放过程中,若接收到客户端发送的视频获取指令,在视频获取指令中携带有目标视频标识。
100.在本技术提供的一具体实施方式中,沿用上例,接收到客户端发送的视频获取指令,客户端希望拉取视频b的视频数据,则在视频获取指令中携带有视频标识“视频b”。
101.步骤206:根据所述目标视频标识确定目标视频数据和目标帧数据信息。
102.根据目标视频标识即可在众多的视频数据中查找确定与目标视频标识对应的目标视频数据和目标帧数据信息,目标视频数据具体为直播数据,目标帧数据信息用于还原当前时刻的目标视频帧。
103.在本技术提供的一具体实施方式中,沿用上例,根据视频标识“视频b”可以确定目标视频数据为视频数据b,同时确定目标帧数据信息为帧数据信息ib。
104.步骤208:发送所述目标视频数据和所述目标帧数据信息至所述客户端。
105.在确定目标视频数据和目标帧数据信息后,即可响应于视频获取指令将目标视频数据和目标帧数据信息返回至客户端,以便于客户端播放目标视频。
106.在本技术提供的一具体实施方式中,沿用上例,将视频数据b和帧数据信息ib发送
至客户端,以使客户端播放视频数据b。
107.可选的,所述方法还包括:
108.接收所述客户端发送的音频获取指令,其中,所述音频获取指令中携带有所述目标视频标识;
109.根据所述目标视频标识确定所述目标视频数据;
110.从所述目标视频数据中分离目标音频数据;
111.发送所述目标音频数据至所述客户端。
112.在接收到客户端发送的音频获取指令时,根据音频获取指令中的目标视频标识在目标视频数据中将目标音频数据分离出来,仅将目标音频数据发送至客户端,减少带宽流量的占用率,提高传输效率。
113.本技术提供的数据处理方法,应用于目标链路节点,适用于使用rtmp协议作为传输网络流的场景,通过cdn节点与客户端的协定,当客户端发送视频获取指令时,为用户提供完整的直播视频数据,当客户端发送音频获取指令时只为用户提供直播视频数据中的音频数据,从而减少用户同时观看多个直播时带来的带宽消耗,减少因网络带宽限制造成的卡顿,提升了用户的使用体验。
114.参见图3,图3示出了本技术一实施例提供的数据处理系统的示意图,所述数据处理系统,包括目标链路节点302、客户端304,其中:
115.所述目标链路节点302,被配置为接收服务器发送的视频数据,并缓存所述视频数据的帧数据信息;
116.所述客户端304,被配置为监测目标视频的播放状态,在所述播放状态由音频播放状态变更为视频播放状态的情况下,发送视频获取指令至所述目标链路节点302,其中,所述视频获取指令中携带有目标视频标识;
117.所述目标链路节点302,进一步被配置为接收所述视频获取指令,根据所述目标视频标识确定目标视频数据和目标帧数据信息,并发送所述目标视频数据和所述目标帧数据信息至所述客户端304;
118.所述客户端304,进一步被配置为接收所述目标视频数据和所述目标帧数据信息,并根据所述目标帧数据信息播放所述目标视频数据。
119.可选的,所述数据处理系统还包括:
120.所述客户端304,进一步被配置为在所述播放状态由视频播放状态变更为音频播放状态的情况下,发送音频获取指令至所述目标链路节点302,其中,所述音频获取指令中携带有所述目标视频标识;
121.所述目标链路节点302,进一步被配置为接收所述音频获取指令,根据所述目标视频标识确定所述目标视频数据,从所述目标视频数据中分离目标音频数据,并发送所述目标音频数据至所述客户端304;
122.所述客户端304,进一步被配置为接收并播放所述目标音频数据。
123.本技术实施例提供的数据处理系统,适用于使用rtmp协议作为传输网络流的场景,在客户端恢复视频直播时,根据目标链路节点缓存的目标帧数据信息播放目标视频数据,避免了强行恢复直播画面造成的画面花屏,提升了用户的使用体验。
124.其次,当目标视频从视频播放状态变更为音频播放状态的情况下,接收目标链路
节点发送的音频数据,无需接收全部的直播视频数据,有效减少网络带宽的占用量,避免了因同时处理较多的视频流造成的卡顿问题,进一步提升了用户的使用体验。
125.与上述应用于客户端的数据处理方法实施例相对应,本技术还提供了应用于客户端的数据处理装置实施例,图4示出了本技术一实施例提供的一种数据处理装置的结构示意图。如图4所示,该装置包括:
126.监测模块402,被配置为监测目标视频的播放状态;
127.发送模块404,被配置为在所述播放状态由音频播放状态变更为视频播放状态的情况下,发送视频获取指令至目标链路节点,其中,所述视频获取指令中携带有目标视频标识;
128.接收模块406,被配置为接收所述目标链路节点返回的与所述目标视频标识对应的目标视频数据和目标帧数据信息,其中,所述目标帧数据信息缓存于所述目标链路节点;
129.播放模块408,被配置为根据所述目标帧数据信息播放所述目标视频数据。
130.可选的,所述发送模块404,进一步被配置为:
131.在所述播放状态由视频播放状态变更为音频播放状态的情况下,发送音频获取指令至所述目标链路节点,其中,所述音频获取指令中携带有所述目标视频标识;
132.所述接收模块406,进一步被配置为:
133.接收所述目标链路节点返回的与所述目标视频标识对应的目标音频数据,其中,所述目标音频数据由所述目标链路节点从所述目标视频数据中分离;
134.所述播放模块408,进一步被配置为:
135.播放所述目标音频数据。
136.可选的,所述接收模块406,进一步被配置:
137.接收所述目标链路节点返回的与所述目标视频帧标识对应的目标关键帧和差别帧集合。
138.可选的,所述播放模块408,进一步被配置为:
139.根据所述目标关键帧和所述差别帧集合生成目标视频帧;
140.基于所述目标视频帧播放所述目标视频数据。
141.可选的,所述播放状态由音频播放状态变更为视频播放状态的情况,包括:
142.监测到所述目标视频由后台播放变更为前台播放;或
143.在音频播放状态的情况下,接收到用户发送视频播放指令。
144.可选的,所述播放状态由视频播放状态变更为音频播放状态,包括:
145.监测到所述目标视频由前台播放变更为后台播放;或
146.在视频播放状态的情况下,接收到用户发送的音频播放指令。
147.本技术实施例提供的应用于客户端的数据处理装置,包括监测目标视频的播放状态;在所述播放状态由音频播放状态变更为视频播放状态的情况下,发送视频获取指令至目标链路节点,其中,所述视频获取指令中携带有目标视频标识;接收所述目标链路节点返回的与所述目标视频标识对应的目标视频数据和目标帧数据信息,其中,所述目标帧数据信息缓存于所述目标链路节点;根据所述目标帧数据信息播放所述目标视频数据。通过本技术提供的数据处理装置,在客户端恢复视频直播时,根据目标链路节点缓存的目标帧数据信息播放目标视频数据,避免了强行恢复直播画面造成的画面花屏,提升了用户的使用
体验。
148.其次,当目标视频从视频播放状态变更为音频播放状态的情况下,接收cdn节点发送的音频数据,无需接收全部的直播视频数据,有效减少网络带宽的占用量,避免了因同时处理较多的视频流造成的卡顿问题,进一步提升了用户的使用体验。
149.上述为本实施例的一种应用于客户端的数据处理装置的示意性方案。需要说明的是,该应用于客户端的数据处理装置的技术方案与上述的应用于客户端的数据处理方法的技术方案属于同一构思,应用于客户端的数据处理装置的技术方案未详细描述的细节内容,均可以参见上述应用于客户端的数据处理方法的技术方案的描述。
150.与上述应用于目标链路节点的数据处理方法实施例相对应,本技术还提供了应用于目标链路节点的数据处理装置实施例,图5示出了本技术一实施例提供的一种数据处理装置的结构示意图。如图5所示,该装置包括:
151.缓存模块502,被配置为接收服务器发送的视频数据,并缓存所述视频数据的帧数据信息;
152.指令接收模块504,被配置为接收客户端发送的视频获取指令,其中,所述视频获取指令中携带有目标视频标识;
153.确定模块506,被配置为根据所述目标视频标识确定目标视频数据和目标帧数据信息;
154.发送模块508,被配置为发送所述目标视频数据和所述目标帧数据信息至所述客户端。
155.可选的,所述指令接收模块504,进一步被配置为:
156.接收所述客户端发送的音频获取指令,其中,所述音频获取指令中携带有所述目标视频标识;
157.所述确定模块506,进一步被配置为根据所述目标视频标识确定所述目标视频数据;
158.分离模块,被配置为从所述目标视频数据中分离目标音频数据;
159.所述发送模块508,被配置为发送所述目标音频数据至所述客户端。
160.本技术提供的数据处理装置,应用于目标链路节点,通过cdn节点与客户端的协定,当客户端发送视频获取指令时,为用户提供完整的直播视频数据,当客户端发送音频获取指令时只为用户提供直播视频数据中的音频数据,从而减少用户同时观看多个直播时带来的带宽消耗,减少因网络带宽限制造成的卡顿,提升了用户的使用体验。
161.上述为本实施例的一种应用于目标链路节点的数据处理装置的示意性方案。需要说明的是,该数据处理装置的技术方案与上述的应用于目标链路节点的数据处理方法的技术方案属于同一构思,应用于目标链路节点的数据处理装置的技术方案未详细描述的细节内容,均可以参见上述应用于目标链路节点的数据处理方法的技术方案的描述。
162.图6示出了根据本技术一实施例提供的一种计算设备600的结构框图。该计算设备600的部件包括但不限于存储器610和处理器620。处理器620与存储器610通过总线630相连接,数据库650用于保存数据。
163.计算设备600还包括接入设备640,接入设备640使得计算设备600能够经由一个或多个网络660通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网
(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备640可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi
‑
max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
164.在本技术的一个实施例中,计算设备600的上述部件以及图6中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图6所示的计算设备结构框图仅仅是出于示例的目的,而不是对本技术范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
165.计算设备600可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备600还可以是移动式或静止式的服务器。
166.其中,处理器620执行所述计算机指令时实现所述的数据处理方法的步骤。
167.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
168.本技术一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现如前所述数据处理方法的步骤。
169.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
170.上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
171.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read
‑
only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
172.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。
173.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
174.以上公开的本技术优选实施例只是用于帮助阐述本技术。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本技术的内容,可作很多的修改和变化。本技术选取并具体描述这些实施例,是为了更好地解释本技术的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本技术。本技术仅受权利要求书及其全部范围和等效物的限制。