视频数据的处理方法、终端和存储介质与流程

文档序号:31121918发布日期:2022-08-13 01:35阅读:76来源:国知局
视频数据的处理方法、终端和存储介质与流程

1.本技术涉及多媒体技术领域,尤其涉及一种视频数据的处理方法、终端和存储介质。


背景技术:

2.随着互联网的发展,通过网络传输成为多媒体的一种重要的传输途径。网络传输方式包括下载和流式传输,流式传输以其边下载边播放的特性深受用户喜爱。当网络不稳定时,若某一时刻未通过网络成功传输视频数据,则会导致播放多次暂停,用户观看体验不佳。通过视频缓冲,在网络环境较好时接收并在本地存储当前播放点之后的一段视频,在网络环境较差无法接收视频数据时,播放在本地预先存储的一段视频,以提高网络不稳定情况下通过缓冲而实现视频画面播放的流畅度。
3.随着计算机视频处理技术的发展,多媒体的内容和形式越来越丰富多样。实时交互视频是一种新的视频形式。与传统视频不同的是,实时交互视频并不是一段预先确定的完整的视频,而是随着用户的操作而随时生成的视频,特点是随着用户的操作而不断变化。因此,实时交互视频无法通过在网络环境较差时预先存储播放点之后的一段视频提高播放时的流畅度,只能实时传输。
4.但是,实时交互视频在实时传输过程中,需要较大带宽和较高稳定性的传输网络,这会导致实时交互视频的传输需要占用较多网络资源,导致实时交互视频的播放成本较高。


技术实现要素:

5.本技术实施例的主要目的在于提出一种视频数据的处理方法、终端和存储介质,旨在降低实时交互视频传输和播放占用的带宽资源和其他网络资源,优化实时交互周期性视频的播放成本。
6.为实现上述目的,本技术实施例提供了一种视频数据的处理方法,所述方法包括以下步骤:云端服务器向客户端发送第一帧数据集合,所述第一帧数据集合位于第一视频文件中;所述云端服务器向所述客户端发送存储指令,所述存储指令表示存储所述第一帧数据集合;当第二视频文件中的第二帧数据集合与所述第一帧数据集合相同时,所述云端服务器向所述客户端发送调取指令,所述调取指令表示从所述客户端调取所述第一帧数据集合,使所述客户端根据所述第一帧数据集合播放所述第二视频文件。
7.为实现上述目的,本技术实施例还提供了一种视频数据的处理方法,所述方法包括以下步骤:
8.客户端接收云端服务器发送的第一帧数据集合,所述第一帧数据集合位于第一视频文件中;所述客户端接收所述云端服务器发送的存储指令;所述客户端根据所述存储指令将所述第一帧数据集合存储在本地;所述客户端接收所述云端服务器发送的调取指令;所述客户端根据所述调取指令调取所述第一帧数据集合;所述客户端根据所述第一帧数据
集合播放所述第二视频文件。
9.为实现上述目的,本技术实施例还提出了一种云端服务器,所述云端服务器包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现前述方法的步骤。
10.为实现上述目的,本技术实施例还提出了一种客户端,所述客户端包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现前述方法的步骤。
11.为实现上述目的,本技术实施例还提出了一种视频数据处理系统,所述视频数据处理系统包括所述云端服务器和所述客户端。
12.为实现上述目的,本技术提供了一种存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述方法的步骤。
13.本技术提出的视频数据的处理方法、终端和存储介质,通过向客户端发送存储指令指示客户端存储可复用的第一帧数据集合,并当再次出现与第一帧数据集合相同的第二帧数据集合时,无需再次编码传输第二帧数据集合,而是指示客户端调取预先存储的第一帧数据集合并根据第一帧数据集合播放第二视频文件,节约了编码和传输第二帧数据集合的计算资源和带宽资源,使视频播放在相同网络资源的条件下具有更高的流畅度。
附图说明
14.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
15.图1为本技术实施例提供的云端视频处理系统的架构示意图;
16.图2为本技术实施例提供的视频数据的处理方法的一个步骤流程示意图;
17.图3为本技术实施例提供的视频数据的处理方法的另一步骤流程示意图;
18.图4为本技术实施例提供的视频数据的处理方法的另一步骤流程示意图;
19.图5为本技术实施例提供的视频数据的处理方法的另一步骤流程示意图;
20.图6为本技术实施例提供的一种实时交互视频的编码示意图;
21.图7为本技术实施例提供的云端服务器的结构示意图;
22.图8为本技术实施例提供的客户端的结构示意图。
具体实施方式
23.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
24.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不
是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
25.应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
26.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
27.随着互联网的发展,通过网络传输成为多媒体的一种重要的传输途径。网络传输方式包括下载和流式传输,流式传输以其边下载边播放的特性深受用户喜爱。当网络不稳定时,若某一时刻未通过网络成功传输视频数据,则会导致播放多次暂停,用户观看体验不佳。通过视频缓冲,在接收到少量视频数据时并不立即播放,而是在客户端本地存储达到目标数量的视频数据之后再播放,会减少暂停次数使播放更加流畅。
28.与传统视频相同,实时交互视频也需要在网络不稳定时进行视频缓冲以提高播放的流畅度。
29.但是,由于实时交互视频是随着用户的操作而不断变化的,在接收时刻生成的视频数据,存储至播放时刻再进行播放时,可能与在播放时刻生成的视频数据不同,导致播放发生错误。所以,实时交互视频无法通过传统缓冲方式提升观看的流畅度,本领域技术人员一般通过在高带宽资源和高网络稳定性的条件下实时传输,但这导致实时交互视频的播放成本很高。
30.为了解决实时交互视频在实时传输过程中,需要较大带宽和较高稳定性的传输网络,而导致占用较多网络资源和播放成本较高的问题,本技术提供了一种编辑数据的预览方法、终端和存储介质。
31.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
32.请参阅图1,图1为本技术实施例提供的云端视频处理系统的架构示意图。
33.云端视频处理系统包括云端服务器101和客户端102,云端服务器101用于获取视频文件,分析视频文件,按照一定的编码参数对视频文件进行编码,传输编码后的视频编码数据。
34.客户端102用于接收云端服务器101发送的视频编码数据,用于对视频编码数据进行解码得到解码后的视频图像;用于向云端服务器101发送响应消息,用于对视频图像和视频编码数据进行处理后,进行视频播放。
35.基于图1所示的云端视频处理系统,本技术实施例提供了一种视频数据的处理方法。
36.请参阅图2,图2为本技术实施例提供的视频数据的处理方法的一个流程示意图。
37.s201、云端服务器向客户端发送第一帧数据集合,所述第一帧数据集合位于第一视频文件中。
38.云端服务器通过对需要播放的第一视频文件进行分析,从第一视频文件中获取需要向客户端传输的第一帧数据集合,第一帧数据集合可以包括一个或多个帧的数据。一个或多个帧的数据的形式在每个阶段是不同的,但其表示的数据内容都是指该一个或多个
帧。在该步骤中,第一帧数据集合中的一个或多个帧的数据是经过编码后得到的编码数据。
39.云端服务器向客户端发送表示第一视频文件中一个或多个帧的数据的第一帧数据集合。
40.s202、所述云端服务器向客户端发送存储指令,存储指令表示存储所述第一帧数据集合。
41.云端服务器在向客户端发送第一视频文件后,根据对第一视频文件分析的结果,确定向客户端发送表示需要客户端存储第一帧数据集合的存储指令。
42.s203、当第二视频文件中的第二帧数据集合与第一帧数据集合相同时,云端服务器向客户端发送调取指令,调取指令表示从客户端调取第一帧数据集合,使客户端根据第一帧数据集合播放第二视频文件。
43.云端服务器在向客户端完成第一视频文件的传输并在客户端上完成播放后,云端服务器确定需要播放的第二视频文件,当云端服务器确定在第二视频文件中存在与第一视频文件中的第一帧数据集合相同的第二帧数据集合时,云端服务器不再对第二帧数据集合进行编码和传输,而是向客户端发送调取指令,指示客户端从预先存储的本地调取该第一帧数据集合,使客户端根据该第一帧数据集合播放第二视频文件。
44.需要说明的是,在步骤s201中云端服务器向客户端发送的第一帧数据集合,可以包括多种形式的数据,例如,可以只包括关键帧数据,也可以既包括关键帧数据也包括非关键帧数据,请参阅图3和图4。
45.图3为本技术实施例提供的视频数据的处理方法的另一流程示意图,第一帧数据集合仅包括关键帧数据。
46.s301、云端服务器将第一视频文件中的第一帧编码为关键帧数据。
47.云端服务器通过分析第一视频文件,将第一视频文件中的第一帧编码为关键帧数据。
48.s302、云端服务器向客户端发送关键帧数据。
49.云端服务器将对第一帧完成编码的关键帧数据发送给客户端。
50.s303、云端服务器向客户端发送存储指令,存储指令表示存储关键帧数据。
51.云端服务器向客户端发送指示存储该关键帧数据的存储指令。
52.s304、当第二视频文件中的第二帧数据集合与关键帧数据相同时,云端服务器向客户端发送调取指令,使客户端根据关键帧数据播放所述第二视频文件。
53.步骤s304与图2所示实施例中的步骤s204类似,具体此处不再赘述。
54.图4为本技术实施例提供的视频数据的处理方法的另一流程示意图,第一帧数据集合既包括关键帧数据也包括非关键帧数据。
55.s401、云端服务器将第一视频文件中的第一帧编码为关键帧数据,将第一视频文件中的第三帧编码为非关键帧数据。
56.s402、云端服务器向客户端发送关键帧数据和非关键帧数据。
57.s403、所述云端服务器向客户端发送存储指令,存储指令表示存储关键帧数据和非关键帧数据。
58.s404、当第二视频文件中的第二帧数据集合与关键帧数据相同时,云端服务器向客户端发送调取指令,使客户端根据关键帧数据和非关键帧数据播放所述第二视频文件。
59.需要说明的是,本技术实施例还提供了在客户端侧的一种视频数据的处理方法,请参阅图5。
60.s501、客户端接收云端服务器发送的第一帧数据集合,第一帧数据集合位于第一视频文件中。
61.客户端接收从云端服务器发送的根据第一视频文件获取的第一帧数据集合。
62.需要说明的是,如图3和图4所示的实施例所述,第一帧数据集合可以仅包括关键帧数据,也可以既包括关键帧数据,也包括非关键帧数据,此处不再赘述。
63.s502、所述客户端接收云端服务器发送的存储指令。
64.客户端接收云端服务器发送的存储指令,该存储指令表示需要在客户端本地存储第一帧数据集合。
65.s503、客户端根据存储指令将第一帧数据集合存储在本地。
66.客户端根据存储指令的指示将第一帧数据集合存储在本地。
67.s504、客户端接收云端服务器发送的调取指令。
68.s505、客户端根据调取指令从本地调取第一帧数据集合。
69.s506、客户端根据第一帧数据集合播放第二视频文件。
70.结合上述介绍,下面对本技术实施例中视频数据的处理方法的一个应用场景进行介绍。
71.本技术实施例提供的视频数据的处理方法,可以应用于画面周期性出现的实时交互视频,简称为周期性视频。周期性视频中存在较多重复出现的画面帧,可以通过缓冲这些高复用性的帧数据起到降低周期性视频播放成本的效果。针对周期性视频,可以采用如图6所示的编码方法:
72.图6是本技术实施例中周期性视频编码的示意图。将周期性视频抽象为一个圆形,其中视频的一帧画面对应为圆上的一个点,对该圆形进行均分划分为多个片段。将两段相连的片段共有的那一帧命名为边界帧(即图中所示的用短竖线的点对应的帧),其余帧作为非边界帧。在云端进行视频编码时,专门控制将边界帧全部编码为关键帧,非边界帧全部编码为非关键帧,非关键帧即非关键帧。
73.云端从周期性视频的目标画面开始编码视频,并将视频流传输到前端,前端开始播放视频画面。若初始的目标画面为非边界帧,则从最近的边界帧开始,一直编码到目标画面帧,并对前面非目标画面的数帧也进行特殊标记,前端识别到标记后将不会显示这些画面。在视频编码时将边界帧编码为关键帧,并对边界帧进行标记,使客户端识别出边界帧并以云端指定的key缓冲在客户端中。当客户端收到需要缓冲的边界帧时,将边界帧缓冲到本地,同时将已缓存确认回复到后台。
74.周期性视频按照实时交互的用户输入动态调整播放速度。每当由一个片段播放到下一个片段时,一定会经过两个片段共有的边界帧。云端编码会将该边界帧编码为i帧(即关键帧)。由于视频播放速度由用户输入决定,若当前视频播放速度很快,该边界帧可能不需要实际显示出来。当该边界帧不需要显示出来时,则从最近的边界帧开始,一直编码到目标画面帧,并对前面非目标画面的数帧也进行特殊标记,前端识别到标记后将不会显示这些画面。
75.对两个片段共有的边界帧进行判断,若该边界帧还未被缓冲,则在视频编码时将
边界帧编码为关键帧,并对边界帧进行标记,使客户端识别出边界帧并以云端指定的key缓冲在客户端中。若该关键帧已经被缓冲,则将该边界帧对应的key发送给客户端,令客户端取本地已缓冲内容。
76.为保证云端准确判断某边界帧是否已被缓冲,云端需要维持客户端已经缓冲的边界帧列表。当客户端缓冲了特定边界帧以后,会发送已缓冲确认消息到云端。仅当云端收到该确认消息时,才会认为客户端已经缓冲了对应的边界帧。当某一边界帧确认消息出现网络丢包,即云端没有收到客户端的已缓冲确认消息时,云端在后续发视频流时将继续发送该边界帧。
77.非关键帧缓冲。周期性视频,不论实时交互如何影响,其画面是周期性的。对非关键帧,同样可以进行缓冲,但是需要在云端生成视频时做一个要求:视频播放不再以任意速度播放,而是以多个设定好的倍速播放,如二倍速、三倍速、四倍速播放。云端在编码视频时,按某一个倍速编码。在此场景下,同一个非关键帧重复出现的频率很高,依然可以同关键帧一样缓冲在本地。当视频播放一个周期以后,如果客户端没有接收到变更速度的命令时,可以直接取本地的关键帧和非关键帧缓冲,不需要再次云端编码。这样可以显著节省使用时的云端服务器开销和带宽成本。
78.yuv缓冲方案的本质是客户端内存占用和客户端用户操作响应速度的平衡。我们提供两种yuv缓冲方案:
79.仅关键帧的yuv缓冲:关键帧的解码通常开销是非常大的,为了更快的响应用户的操作,可以直接缓冲关键帧的yuv结果,这样可以减少关键帧解码的大工作量对实时交互响应的速度。
80.全部画面的缓冲:基于关键帧和非关键帧同时缓冲的方案,将所有帧对应的yuv都缓存在本地,在播放一个周期以后,客户端在自主控制周期性视频的播放时,也不需要对同样的内容进行多次解码。
81.需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的数据迁移装置和各模块的具体工作过程,可以参考前述数据迁移方法实施例中的对应过程,在此不再赘述。
82.请参阅图7,本技术实施例提供了一种云端服务器,该云端服务器包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
83.非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种视频数据的处理方法。
84.请参阅图8,本技术实施例提供了一种客户端,该客户端包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
85.非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种视频数据的处理方法。
86.处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
87.内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种视频数据的处理方法。
88.该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,
图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
89.应当理解的是,处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
90.示例性的,在一些实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
91.向客户端发送第一帧数据集合,所述第一帧数据集合位于第一视频文件中;
92.向所述客户端发送存储指令,所述存储指令表示存储所述第一帧数据集合;
93.当第二视频文件中的第二帧数据集合与所述第一帧数据集合相同时,向所述客户端发送调取指令,所述调取指令表示从所述客户端调取所述第一帧数据集合,使所述客户端根据所述第一帧数据集合播放所述第二视频文件。
94.在一些实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
95.接收云端服务器发送的第一帧数据集合,所述第一帧数据集合位于第一视频文件中;
96.接收所述云端服务器发送的存储指令;
97.根据所述存储指令将所述第一帧数据集合存储在本地;
98.接收所述云端服务器发送的调取指令;
99.根据所述调取指令调取所述第一帧数据集合;
100.根据所述第一帧数据集合播放所述第二视频文件。
101.本技术的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本技术实施例提供的任一项视频数据的处理方法。
102.其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。
103.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1