直播间中的礼物动画播放方法及装置与流程

文档序号:29942264发布日期:2022-05-07 14:57阅读:908来源:国知局
直播间中的礼物动画播放方法及装置与流程

1.本技术涉及视频技术领域,尤其涉及一种直播间中的礼物动画播放方法及装置。


背景技术:

2.一般的mp4格式的视频文件,不支持显示带透明度的视频帧。现有技术中,为了实现mp4格式的动画视频文件可以携带透明度信息,会通过在同一帧视频帧中增加透明度描述信息,这样,前端mp4播放器在获取到带有透明度描述信息的视频帧时,可以使用硬件(gpu)解码,再合成支持透明度的每一帧图片,最后再播放,从而实现支持播放带透明度值的mp4格式的动画视频文件。
3.在对mp4格式的动画视频文件进行解码时,性能开销(比如,内存的占用)和动画视频的画面尺寸大小成线性关系,画面尺寸控制的越小,性能开销越低。
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.可选地,所述接收服务器下发的礼物素材包包括:
33.接收所述服务器下发的由主播发起的预设任务所对应的礼物素材包。
34.可选地,所述动画轨迹配置信息还包括各个直播区域的锚点信息以及动画容器的旋转角度信息,在确定的直播区域中播放每一个用户的送礼操作所对应的第一礼物动画视频包括:
35.根据所述旋转角度信息对用于容纳所述每一个用户的送礼操作所对应的第一礼物动画视频的动画容器进行旋转,得到旋转后的动画容器;
36.从所述目标动画队列中取出所述每一个用户的送礼操作所对应的第一礼物动画视频;
37.将所述目标动画队列对应的直播区域的锚点信息作为所述每一个用户的送礼操作所对应的第一礼物动画视频的播放起始位置,并以所述播放起始位置作为播放起点,通过所述旋转后的动画容器在所述目标动画队列对应的直播区域中播放所述每一个用户的送礼操作所对应的第一礼物动画视频。
38.可选地,所述方法还包括:
39.在所述直播间中显示与各个用户的送礼操作所对应的第一礼物动画视频相关联
的弹幕。
40.可选地,当确定的所述直播区域包括多个直播区域时,所述在确定的所述直播区域中播放各个用户的送礼操作所对应的第一礼物动画视频包括:
41.在确定的多个直播区域中同时播放多个用户的送礼操作所对应的第一礼物动画视频。
42.本技术还提供了一种直播间中的礼物动画播放装置,包括:
43.响应模块,用于响应于至少一个用户在直播间的送礼操作,获取各个用户的送礼操作对应的第一礼物动画视频;
44.确定模块,用于确定各个用户的送礼操作对应的第一礼物动画视频在直播间中的直播区域,其中,所述直播间包括多个直播区域;
45.播放模块,用于在确定的所述直播区域中播放各个用户的送礼操作所对应的第一礼物动画视频。
46.本技术还提供了一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
47.本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
48.本技术在对礼物动画视频进行播放时,通过预先将直播间分为多个直播区域,并将待播放的第一礼物动画视频存储至目标动画队列中,从而可以在所述第一礼物动画视频进行播放时,从所述目标动画队列中获取所述第一礼物动画视频,并在对应的直播区域中播放所述第一礼物动画视频,从而无需在整个直播间中播放所述第一礼物动画视频,从而可以降低播放时所需要消耗的性能开销。同时,由于本技术将直播间分为多个直播区域,因此,在本技术中,即使多个用户同时触发送礼操作,也可以同时在多个直播区域中播放多个用户送礼操作所对应的第一礼物动画视频。而多个第一礼物动画视频同时播放时,仅仅是占据整个直播间,故采用这种播放方式也不会增大播放设备的性能压力。
附图说明
49.图1为本技术实施例的直播间中的礼物动画播放方法的环境示意图;
50.图2为本技术所述的直播间中的礼物动画播放方法的一种实施例的流程图;
51.图3为本技术所述的直播间中的礼物动画播放方法的另一种实施例的流程图;
52.图4为本技术一实施方式中将所述第一礼物动画视频存入目标动画队列中的步骤细化流程示意图;
53.图5为本技术一实施方式中将所述第一礼物动画视频存入所述空队列中,并将所述空队列作为所述目标动画队列的步骤细化流程示意图;
54.图6为本技术另一实施方式中将所述第一礼物动画视频存入目标动画队列中的步骤细化流程示意图;
55.图7为本技术一实施方式中从所述目标动画队列中取出所述第一礼物动画视频,并在所述目标动画队列对应的直播区域中播放所述第一礼物动画视频的步骤细化流程示意图;
56.图8为本技术所述的直播间中的礼物动画播放方法的另一种实施例的流程图;
57.图9a-9b为本技术一实施方式中在直播区域中播放所述第一礼物动画视频的示意图;
58.图10为本技术所述的直播间中的礼物动画播放装置的一种实施例的程序模块图;
59.图11为本技术实施例提供的执行直播间中的礼物动画播放方法的计算机设备的硬件结构示意图。
具体实施方式
60.以下结合附图与具体实施例进一步阐述本技术的优点。
61.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
62.在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
63.应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
64.在本技术的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本技术及区别每一步骤,因此不能理解为对本技术的限制。
65.图1示出了本技术实施例提供的应用场景的一种示意图,该应用场景包括:服务器10、主播终端20和观众终端30。其中,服务器10、主播终端20和观众终端30位于无线网络或有线网络中,服务器10与主播终端20和观众终端30可以进行数据交互。在一些实施方式中,主播终端20的数量(图1中仅示出一个)以及观众终端30的数量(图1中仅示出一个)可以不做限定,观众终端30与主播终端20可以将服务器10作为传输中介,并通过互联网来实现相互间的数据交互。
66.在本技术实施例中,服务器10可以是单独的服务器,也可以是服务器集群,可以是本地服务器,也可以是云端服务器,具体的服务器类型在本技术实施例中可以不作为限定。主播终端20以及观众终端30可以是移动手机、智能手机、笔记本电脑、台式电脑、平板电脑、个人数字助理(personal digital assistant,pda)、媒体播放器、智能电视、可穿戴电子设备等,具体的终端设备类型在本技术实施例中可以不作为限定。
67.在本实施例中,主播终端20内可以安装有直播客户端,该直播客户端用于实现主播进行视频直播。该直播客户端可以是安装在主播终端20上的计算机应用程序(application,app),也可以是web客户端,该web客户端可指基于web架构而开发的应用程序。
68.在本实施例中,观众终端30内可以安装有观众客户端,该观众客户端用于实现观众接收直播内容,并对直播内容进行展示。该观众客户端可以是安装在观众终端30上的计算机应用程序(application,app),也可以是web客户端,该web客户端可指基于web架构而开发的应用程序。
69.参阅图2,其为本技术一实施例的直播间中的礼物动画播放方法的流程示意图。本技术的直播间中的礼物动画播放方法可以应用于客户端中,比如直播app(应用程序中)中,可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。从图中可以看出,本实施例中所提供的直播间中的礼物动画播放方法包括:
70.步骤s20、响应于至少一个用户在直播间的送礼操作,获取各个用户的送礼操作对应的第一礼物动画视频。
71.具体地,所述第一礼物动画视频是由设计师预先制作好并上传至服务器存储的mp4格式的动画视频。在本实施例中,所述第一礼物动画视频中的每一帧视频帧都携带有透明度信息。其中,由于mp4格式的动画视频本身是不支持透明度信息的,因此,在本实施例中,为了实现动画视频中的视频帧支持透明度信息,在制作动画视频时,是将每一帧视频帧分为两个区域画面。其中,第一个区域画面是由原始的动画视频帧的每一个像素点的色彩参数值(比如rgb值)生成的,第二区域画面是由原始的动画视频帧的每一个像素点的透明度参数值(透明度值)生成的。
72.本实施例中,当用户在直播间观看直播视频时,用户可以触发送礼操作,此时,客户端会对用户的送礼操作进行响应,从本地磁盘或内存中获取该送礼操作对应的第一礼物动画视频。
73.比如,用户在直播间送礼操作:送一个生日气球给主播,则客户端会从本地磁盘或内存中获取该生日气球所对应的第一礼物动画视频。
74.可以理解的是,为了客户端可以及时获取到礼物操作所对应的第一礼物动画视频,客户端可以在特定的时刻,比如,用户进入直播间时从服务器中下载所述第一礼物动画视频,从而获取到所述第一礼物动画视频,并将下载的第一礼物动画视频存储至本地内存中。后续,当用户通过客户端在直播间进行送礼物时,可以及时从本地内存中获取送礼操作对应的第一礼物动画视频,之后客户端可以对该第一礼物动画视频进行渲染播放。
75.需要说明的是,本实施例中的第一礼物动画视频是一种小礼物动画视频,即是一种在播放所述第一礼物动画视频时,只需要占用直播间屏幕的部分区域即可以播放的动画视频,而无需占用直播间屏幕的全部区域实现对该动画视频进行播放。
76.在一示例性的实施方式中,参阅图3,为了用户可以实现送礼操作,所述方法还包括:
77.步骤s30,接收服务器下发的礼物素材包,所述礼物素材包包括所述第一礼物动画视频及所述第一礼物动画视频对应的动画轨迹配置信息,所述动画轨迹配置信息包括直播间划分信息。
78.具体地,在设计师完成多种礼物动画视频的制作后,可以将制作好的多种礼物动画视频打包成礼物素材包。同时,由于设计师制作的礼物动画视频中包含的动画素材具有相对一致的运动规律,比如,“流星雨”风格,一般从右上角向左下角运动,又比如,“生日气球”风格,一般从底部向上部运动。也就是说,在制作礼物动画视频时,由于动画素材具有相
对一致的运动规律,因此,在制作礼物动画视频时,并不需要制作一个全屏尺寸的礼物动画视频,只需要制作一个细条长区域的尺寸的礼物动画视频即可。
79.在制作好礼物动画视频时,为了后续可以在直播间中进行播放,设计师还需要对礼物动画视频的播放动画轨迹进行配置,设计师在对播放动画轨迹的配置操作之后,可以将设计师的配置操作生成动画轨迹配置信息,以便后续客户端可以根据该动画轨迹配置信息在直播间中完成对礼物动画视频的播放。
80.在一实施例中,设计师在对动画轨迹进行配置时,可以对直播间的划分信息进行配置,其中,所述直播间划分信息为用于确定需要将直播间的屏幕区域进行多少等分的信息,比如,所述直播间划分信息为4,则表明需要将直播间的屏幕区域划分为4块直播区域,其中,每一块直播区域可以用于播放一个礼物动画视频。
81.在一示例性的实施方式中,设计师在对动画轨迹进行配置时,还可以对各个直播区域的锚点信息进行配置,其中,所述锚点信息为用于确定礼物动画视频播放起始位置的点,比如,锚点信息为坐标(1,2),则表明在直播区域播放礼物动画视频时,最开始的礼物动画视频帧以坐标(1,2)作为中心点进行显示。
82.可以理解的是,锚点信息的坐标是以整个屏幕建立坐标系后确定的。
83.在一示例性的方式中,设计师在对动画轨迹进行配置时,还可以对用于容纳礼物动画视频的动画容器的旋转角度进行配置,比如,配置的旋转角度为45
°
,则表明在通过动画容器播放礼物动画视频时,需要先将动画容器选择45
°
,之后,才会在旋转后的动画容器中播放礼物动画视频。
84.在一示例性的实施方式中,设计师在动画轨迹进行配置时,还可以对所述动画容器的宽高进行配置,比如,动画容器的宽高分别为w:100,h:500。
85.步骤s31,根据所述直播间划分信息将所述直播间划分为多个直播区域。
86.具体地,在得到直播间划分信息后,可以将整个直播间的屏幕区域划分为多个直播区域,比如,所述直播间划分信息为8,则可以将整个直播间的屏幕区域划分为8个直播区域。
87.步骤s32,创建多个礼物动画队列,其中,所述目标动画队列为多个所述礼物动画队列中的一个队列。
88.具体地,由于在直播间中同时可能存在多个用户进行送礼操作,且在播放每一个礼物动画视频时需要耗费一定的时间,因此,为了所有用户的送礼操作都能在对应的直播区域中实现礼物动画视频的播放,可以创建多个礼物动画队列来缓存需要在各个直播区域的礼物动画视频。
89.步骤s33,将多个所述礼物动画队列与多个所述直播区域进行一一关联。
90.具体地,为了方便确定各个直播区域需要播放哪些用户的礼物动画视频,可以将礼物动画队列和直播区域进行一一关联,这样,每一个直播区域就有一个唯一对应的礼物动画队列了。当需要在直播区域进行礼物动画视频的播放时,即可以从对应的礼物动画队列中获取礼物动画视频。
91.步骤s21,确定各个用户的送礼操作对应的第一礼物动画视频在直播间中的直播区域。
92.具体地,由于直播间屏幕区域中存在多个直播区域,而每一个直播区域都可以对
一个用户的送礼操作所对应的第一礼物动画视频进行播放,因此,在本实施例中,为了可以及时播放每一个用户的送礼操作所对应的第一礼物动画视频,可以在得到每一个用户的送礼操作所对应的第一礼物动画视频时,先根据预设的规则来确定每一个用户的送礼操作所对应的第一礼物动画视频在直播间中的直播区域,以便可以尽可能地将每一个用户的送礼操作所对应的第一礼物动画视频在不同的直播区域中同时进行播放。其中,所述预设的规则在下面实施例中将详细说明,在本实施例中不再赘述。
93.在一示例性的实施方式中,确定每一个用户的送礼操作对应的第一礼物动画视频在直播间中的直播区域可以包括:将每一个用户的送礼操作对应的第一礼物动画视频存入目标动画队列中;将与所述目标动画队列相关联的直播区域作为所述每一个用户的送礼操作对应的第一礼物动画视频在直播间中的直播区域。
94.具体地,针对每一个用户的送礼操作对应的第一礼物动画视频都可以先将其存储至一个目标动画队列中。由于每一个目标动画队列预先关联有一个对应的直播区域,因此,在得到用户的送礼操作对应的第一礼物动画视频的目标动画队列时,即可以知道需要采用哪一个直播区域播放该用户的送礼操作所对应的第一礼物动画视频。
95.需要说明的是,基于不同用户的送礼操作所获取到的礼物动画视频存储的队列可以相同,也可以不同,具体存储在哪一个队列中根据预先设定的存储策略进行确定。
96.作为示例,可以将基于用户a的送礼操作获取到的第一礼物动画视频存储在队列a中,将基于用户b的送礼操作获取到的第一礼物动画视频存储在队列b中。
97.在一示例性的实施方式中,参阅图4,所述将每一个用户的送礼操作对应的第一礼物动画视频存入目标动画队列中包括:
98.步骤s40,检测多个所述礼物动画队列中是否存在空队列。
99.具体地,所述空队列指的是当前时刻没有存储礼物动画视频的队列。
100.步骤s41,若存在空队列,则将每一个用户的送礼操作对应的第一礼物动画视频存入所述空队列中,并将所述空队列作为所述目标动画队列。
101.具体地,当检测到多个所述动画礼物队列中存在空队列时,则可以将每一个用户的送礼操作对应的第一礼物动画视频存入所述空队列中,以便每一个用户的送礼操作对应的第一礼物动画视频可以被及时播放。
102.在一示例性的实施方式中,当检测到的空队列不止存在一个时,即空队列存在多个,参阅图5,所述将每一个用户的送礼操作对应的第一礼物动画视频存入所述空队列中,并将所述空队列作为所述目标动画队列包括:步骤s50,从多个空队列随机选择一个空队列作为所述目标动画队列;步骤s51,将每一个用户的送礼操作对应的第一礼物动画视频存入所述目标动画队列中。
103.具体地,在检测到空队列存在多个时,可以随机从多个空队列中选择一个队列作为所述目标动画队列,之后,将每一个用户的送礼操作对应的第一礼物动画视频存入所述目标动画队列中。
104.作为示例,假设检测到礼物动画队列1、礼物动画队列3及礼物动画队列4为空队列,则可以随机从这3个队列选择一个队列作为存储每一个用户的送礼操作对应的第一礼物动画视频的目标动画队列。
105.可以理解的是,在一实施方式中,也可以在检测到空队列时,就立即将该检测到的
队列作为所述目标动画队列,而无需再对剩余的礼物动画队列进行检测。
106.在本实施例中,在完成第一个用户的送礼操作对应的第一礼物动画视频的存储后,可以继续对其他用户的送礼操作所对应的第一礼物动画视频的存储,直至完成所有用户的送礼操作所对应的第一礼物动画视频的存储。
107.可以理解的是,也可以同时对多个用户的送礼操作所对应的第一礼物动画视频进行存储。
108.在一示例性的实施方式中,参阅图6,所述将每一个用户的送礼操作对应的第一礼物动画视频存入目标动画队列中还包括:步骤s60,若不存在空队列,则获取各个所述礼物动画队列中存储的第一礼物动画视频的数量;步骤s61,选取存储最少数量的第一礼物动画视频的礼物动画队列作为所述目标动画队列,并将每一个用户的送礼操作对应的第一礼物动画视频存入所述目标动画队列中。
109.具体地,当检测到不存在空队列时,即所有的礼物动画队列中都存储有动画视频,则为所述第一礼物动画视频可以被及时播放,可以从所有的礼物动画队列中选取存储第一礼物动画视频的数量最小的队列作为所述目标动画队列。
110.作为示例,假设总共有5个礼物动画队列,分别为礼物动画队列1、礼物动画队列2、礼物动画队列3、礼物动画队列4及礼物动画队列5,且这5个礼物动画队列存储的第一礼物动画视频的数量分别为2个、5个、3个、1个及4个,则可以选择存储一个第一礼物动画视频的礼物动画队列4作为所述目标动画队列。
111.步骤s22,在确定的所述直播区域中播放各个用户的送礼操作所对应的第一礼物动画视频,其中,所述直播间包括多个直播区域。
112.具体地,当确定的直播区域为多个时,则可以同时在多个直播区域中播放各个用户的送礼操作所对应的第一礼物动画视频。
113.在本实施例中,在所述目标动画队列中存储的基于其他用户的送礼操作获取到的第一礼物动画视频被播放完毕后,可以从所述目标动画队列中取出基于当前用户的送礼操作获取到的第一礼物动画视频,并在所述目标动画队列对应的直播区域中播放所述第一礼物动画视频。
114.在一示例性的实施方式中,当确定的所述直播区域包括多个直播区域时,所述在确定的所述直播区域中播放各个用户的送礼操作所对应的第一礼物动画视频包括:在确定的多个直播区域中同时播放多个用户的送礼操作所对应的第一礼物动画视频。
115.本实施例中,通过在多个直播区域中同时播放多个用户的送礼礼操作所对应的第一礼物动画视频可以降低播放时所需要消耗的性能开销。
116.需要说明的是,在本实施例中,在对第一礼物动画视频进行播放时,由于第一礼物动画视频中的每一帧视频帧并不直接携带透明度信息,因此,在实际播放过程中,需要先对每一帧视频帧中的第一区域(由目标动画帧的色彩参数值生成的区域)与第二区域(由目标动画帧的透明度参数值生成的区域)分别进行纹理采样,以获取到目标动画帧的色彩参数值(比如,rgb值)和透明度参数值(a值),之后可以通过图形api来调用gpu将采样得到的色彩参数值和透明度参数值合成具有透明度信息的目标动画帧。
117.在一具体场景中,在直播区域中播放所述第一礼物动画视频的示意图如图9a或9b所示。
118.本实施例在对礼物动画视频进行播放时,通过预先将直播间分为多个直播区域,并将待播放的第一礼物动画视频存储至目标动画队列中,从而可以在所述第一礼物动画视频进行播放时,从所述目标动画队列中获取所述第一礼物动画视频,并在对应的直播区域中播放所述第一礼物动画视频,从而无需在整个直播间中播放所述第一礼物动画视频,从而可以降低播放时所需要消耗的性能开销。同时,由于本技术将直播间分为多个直播区域,因此,在本技术中,即使多个用户同时触发送礼操作,也可以同时在多个直播区域中播放多个用户送礼操作所对应的第一礼物动画视频。而多个第一礼物动画视频同时播放时,仅仅是占据整个直播间,故采用这种播放方式也不会增大播放设备的性能压力。
119.在一示例性的实施方式中,为了提高用户送礼操作玩法的多样性,设计师在制作第一礼物动画视频时,还可以制作至少一个第二礼物动画视频。本实施例中,第二礼物动画视频是一个大礼物动画视频,即是一种在播放所述第二礼物动画视频时,需要占用直播间屏幕的全部区域来播放的动画视频。
120.需要说明的是,本实施例中的多个第二礼物动画视频是不同种类的视频。此外,为了提高送礼操作玩法的多样性,在制作好至少一个第二礼物动画视频后,可以为每一个第二礼物动画视频配置对应的播放条件,其中,所述播放条件用于描述在什么情况下播放各个第二礼物动画视频。
121.在本实施例中,在制作好第二礼物动画视频和生成所述播放条件后,可以和第一礼物动画视频一块打包存储在所述礼物素材包中。
122.在一示例性的实施方式中,当所述动画轨迹配置信息还包括各个直播区域的锚点信息以及动画容器的旋转角度信息时,参阅图7,在确定的直播区域中播放每一个用户的送礼操作所对应的第一礼物动画视频可以包括:步骤s70,根据所述旋转角度信息对用于容纳所述每一个用户的送礼操作所对应的第一礼物动画视频的动画容器进行旋转,得到旋转后的动画容器。
123.具体地,由于礼物动画视频中的动画画面的运动轨迹可能是呈倾斜角度进行运动的,比如,流星雨动画视频的运动轨迹是从屏幕的从右上角向左下角运动的,然而,设计师设计动画视频帧时不可能设计倾斜角度的视频帧画面,因此,在实现播放过程中,为了达到流星雨的效果,需要根据预先设定的旋转角度信息对用于容纳所述第一礼物动画视频的动画容器进行旋转,得到旋转后的动画容器。
124.步骤s71,从所述目标动画队列中取出所述每一个用户的送礼操作所对应的第一礼物动画视频;
125.步骤s72,将所述目标动画队列对应的直播区域的锚点信息作为所述每一个用户的送礼操作所对应的第一礼物动画视频的播放起始位置,并以所述播放起始位置作为播放起点,通过所述旋转后的动画容器在所述目标动画队列对应的直播区域中播放所述每一个用户的送礼操作所对应的第一礼物动画视频。
126.具体地,在得到第一礼物动画视频时,可以将锚点信息作为所述第一礼物动画视频的播放起始位置,并以所述播放起始位置作为播放起点,通过所述旋转后的动画容器在所述目标动画队列对应的直播区域中播放所述第一礼物动画视频,从可以避免在播放第一礼物动画视频的过程中出现画面突兀出现的效果。
127.在一示例性的实施方式中,参阅图8,所述方法还包括:
128.步骤s80,检测所述送礼操作是否满足预设条件,所述预设条件为各个所述第二礼物动画视频对应的播放条件中的任意一个播放条件。
129.具体地,当用户在直播间触发送礼操作后,会检测当前用户的送礼操作是否满足所述预设条件,以确定是否需要暂停播放在直播间中播放基于用户的送礼操作所获取到的第一礼物动画视频。
130.其中,各个所述第二礼物动画视频对应的播放条件可以根据实际情况进行灵活设定与修改。比如,可以设定第一个第二礼物动画视频a对应的播放条件为主播接收到用户送的20个礼物气球;设定第二个第二礼物动画视频b对应的播放条件为主播接收到用户送的50个礼物气球;第三个第二礼物动画视频c对应的播放条件为主播接收到用户送的100个礼物气球等。
131.在本实施例中,可以通过检测当前用户的送礼操作所对应的次数是否达到各个第二礼物动画视频对应的播放条件的方式来判定所述送礼操作是否满足所述预设条件。以上述播放条件为例,若当前用户的送礼操作所对应的次数为19次,则表明在该用户送礼之前,还有其他18个用户给主播送礼了。由于当前用户的送礼操作对应的送礼次数为19,小于最小的送礼次数20,故可以判定所述送礼操作不满足所述预设条件。
132.步骤s81,若所述送礼操作满足所述预设条件,则将多个所述礼物动画队列设置为阻塞状态。
133.具体地,若检测到当前用户的送礼操作满足所述预设条件,则可以将多个所述礼物动画队列设置为阻塞状态,以便不能再从礼物动画队列获取第一礼物动画视频进行播放,可以达到暂停在直播间中播放第一礼物动画视频的目的。
134.在一示例性的实施方式中,在所述送礼操作不满足所述预设条件时,可以在直播间中显示进度条,其中,所述进度条用于展示当前总共有多个个用户触发了送礼操作。
135.步骤s82,从所述礼物素材包中获取与所述预设条件相匹配的第二礼物动画视频。
136.具体地,以上述播放条件为例,当检测到所述送礼操作刚好为第20次的送礼操作时,则可以从所述礼物素材包中获取第二礼物动画视频a。当检测到所述送礼操作刚好为100次的送礼操作时,则可以从所述礼物素材包中获取第二礼物动画视频b,当检测到所述送礼操作刚好为100次的送礼操作时,则可以从所述礼物素材包中获取第二礼物动画视频c。
137.步骤s83,在所述直播间中播放所述第二礼物动画视频,并在播放完成所述第二礼物动画视频,将多个所述礼物动画队列的阻塞状态解除。
138.具体地,在直播间完成第二礼物动画视频的播放之后,可以将多个所述礼物动画队列的阻塞状态解除,以便可以恢复在直播间的各个直播区域中继续进行各个第一礼物动画视频的播放。
139.其中,所述阻塞状态指的是不能从礼物动画队列中获取礼物动画视频的状态。
140.在一实施方式中,由于将多个所述礼物动画队列设置为阻塞状态后,在直播间中可能还存在正在播放的第一礼物动画视频,此时,为了避免立即播放第二礼物动画视频造成的用户体验不佳,可以不立即播放第二礼物动画视频,而是先播放一段倒计时的的动画,并在倒计时动画播放完毕之后,再播放第二礼物动画视频。
141.在一示例性的实施方式中,为了进一步提高用户在直播间的进行送礼操作的多样
性,所述接收服务器下发的礼物素材包包括:
142.接收所述服务器下发的由主播发起的预设任务所对应的礼物素材包。
143.具体地,主播在进入主播间后,可以向服务器请求获取可供其选择的多种预设任务,服务器在接收到主播触发的请求后,可以将多种预设任务的信息发送给主播所使用的主播终端,以便主播可以了解到具体有哪些预设任务。
144.主播在获取到多种预设任务的信息之后,可以选择一种预设任务,在主播选定一种预设任务之后,服务器会将主播选定的预设任务所对应的礼物素材包发给处于当前直播间中的用户所对应的各个客户端,以便各个客户端可以获取到所述预设任务对应的礼物素材包。
145.其中,所述预设任务是一种用户众筹礼物的交互方式,指的是由多个用户一块向主播赠送众筹礼物,并在用户赠送的众筹礼物的数量达到预设条件时,可以播放对应的第二礼物动画视频。
146.作为示例,所述预设任务可以包括生日气球玩法、流星雨玩法、樱花玩法、孔明灯玩法等。其中,生日气球玩法是指的在直播间中的用户可以通过触发送礼操作给主播赠送生日气球,当用户的众筹进度达到相应的进度时,比如达到19/39/59次时,会在直播间中播放与该进度相对应的第二礼物动画视频。其中,所述众筹进度指的是到当前时刻为止总共有多个个用户通过触发送礼操作给主播赠送生日气球。
147.在一示例性的实施方式中,所述方法还包括:
148.在所述直播间中显示与各个用户的送礼操作所对应的第一礼物动画视频相关联的弹幕。
149.具体地,可以预先为每一种第一礼物动画设定配置一个对应的弹幕,以便在直播间中播放第一礼物动画视频的过程中,可以同步在直播间中显示所述弹幕。
150.作为示例,可以为生日气球的第一礼物动画视频配置弹幕“亲手扎了一个气球”,为流星雨的第一礼物动画视频配置弹幕“用意念召唤了一颗流星雨划过”等。
151.参阅图10所示,是本技术直播间中的礼物动画播放装置100一实施例的程序模块图。
152.本实施例中,所述直播间中的礼物动画播放装置100包括一系列的存储于存储器上的计算机程序指令,当该计算机程序指令被处理器执行时,可以实现本技术各实施例的直播间中的礼物动画播放功能。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,直播间中的礼物动画播放装置100可以被划分为一个或多个模块,具体可以划分的模块如下:
153.响应模块101,用于响应于至少一个用户在直播间的送礼操作,获取各个用户的送礼操作对应的第一礼物动画视频;
154.确定模块102,用于确定各个用户的送礼操作对应的第一礼物动画视频在直播间中的直播区域,其中,所述直播间包括多个直播区域;
155.播放模块103,用于在确定的所述直播区域中播放各个用户的送礼操作所对应的第一礼物动画视频。
156.在一示例性的实施方式中,确定模块102,还用于将每一个用户的送礼操作对应的第一礼物动画视频存入目标动画队列中;将与所述目标动画队列相关联的直播区域作为所
述每一个用户的送礼操作对应的第一礼物动画视频在直播间中的直播区域。
157.在一示例性的实施方式中,直播间中的礼物动画播放装置100还包括接收模块、划分模块、创建模块及关联模块。
158.所述接收模块,用于接收服务器下发的礼物素材包,所述礼物素材包包括所述第一礼物动画视频及所述第一礼物动画视频对应的动画轨迹配置信息,所述动画轨迹配置信息包括直播间划分信息;
159.所述划分模块,用于根据所述直播间划分信息将所述直播间划分为多个直播区域;
160.所述创建模块,用于创建多个礼物动画队列,其中,所述目标动画队列为多个所述礼物动画队列中的一个队列;
161.所述关联模块,用于将多个所述礼物动画队列与多个所述直播区域进行一一关联。
162.在一示例性的实施方式中,确定模块102,还用于检测多个所述礼物动画队列中是否存在空队列;若存在空队列,则将每一个用户的送礼操作对应的第一礼物动画视频存入所述空队列中,并将所述空队列作为所述目标动画队列。
163.在一示例性的实施方式中,所述空队列存在多个,确定模块102,还用于从多个空队列随机选择一个空队列作为所述目标动画队列;将每一个用户的送礼操作对应的第一礼物动画视频存入所述目标动画队列中。
164.在一示例性的实施方式中,确定模块102,还用于若不存在空队列,则获取各个所述礼物动画队列中存储的第一礼物动画视频的数量;
165.选取存储最少数量的第一礼物动画视频的礼物动画队列作为所述目标动画队列,并将每一个用户的送礼操作对应的第一礼物动画视频存入所述目标动画队列中。
166.在一示例性的实施方式中,所述礼物素材包还包括至少一个第二礼物动画视频,以及各个所述第二礼物动画视频对应的播放条件,直播间中的礼物动画播放装置100还包括检测摸摸、设置模块、获取模块及解除模块。
167.所述检测模块,用于检测所述送礼操作是否满足预设条件,所述预设条件为各个所述第二礼物动画视频对应的播放条件中的任意一个播放条件;
168.所述设置模块,用于若所述送礼操作满足所述预设条件,则将多个所述礼物动画队列设置为阻塞状态;
169.所述获取模块,用于从所述礼物素材包中获取与所述预设条件相匹配的第二礼物动画视频;
170.所述解除模块,用于在所述直播间中播放所述第二礼物动画视频,并在播放完成所述第二礼物动画视频,将多个所述礼物动画队列的阻塞状态解除。
171.在一示例性的实施方式中,所述接收模块,还用于接收所述服务器下发的由主播发起的预设任务所对应的礼物素材包。
172.在一示例性的实施方式中,动画轨迹配置信息还包括各个直播区域的锚点信息以及动画容器的旋转角度信息,播放模块103,还用于根据所述旋转角度信息对用于容纳所述每一个用户的送礼操作所对应的第一礼物动画视频的动画容器进行旋转,得到旋转后的动画容器;从所述目标动画队列中取出所述每一个用户的送礼操作所对应的第一礼物动画视
频;将所述目标动画队列对应的直播区域的锚点信息作为所述每一个用户的送礼操作所对应的第一礼物动画视频的播放起始位置,并以所述播放起始位置作为播放起点,通过所述旋转后的动画容器在所述目标动画队列对应的直播区域中播放所述每一个用户的送礼操作所对应的第一礼物动画视频。
173.在一示例性的实施方式中,直播间中的礼物动画播放装置100还包括显示模块。
174.所述显示模块,用于在所述直播间中显示与各个用户的送礼操作所对应的第一礼物动画视频相关联的弹幕。
175.在一示例性的实施方式中,当确定的所述直播区域包括多个直播区域时,播放模块103,还用于在确定的多个直播区域中同时播放多个用户的送礼操作所对应的第一礼物动画视频。
176.本实施例在对礼物动画视频进行播放时,通过预先将直播间分为多个直播区域,并将待播放的第一礼物动画视频存储至目标动画队列中,从而可以在所述第一礼物动画视频进行播放时,从所述目标动画队列中获取所述第一礼物动画视频,并在对应的直播区域中播放所述第一礼物动画视频,从而无需在整个直播间中播放所述第一礼物动画视频,从而可以降低播放时所需要消耗的性能开销。同时,由于本技术将直播间分为多个直播区域,因此,在本技术中,可以同时在多个直播区域中播放多个用户送礼操作所对应的第一礼物动画视频,由于多个第一礼物动画视频同时播放时,仅仅是占据整个直播间,故采用这种播放方式也不会增大播放设备的性能压力。
177.图11示意性示出了根据本技术实施例的适于实现直播间中的礼物动画播放方法的计算机设备11的硬件架构示意图。本实施例中,计算机设备11是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图11所示,计算机设备11至少包括但不限于:可通过系统总线相互通信链接存储器120、处理器121、网络接口122。其中:
178.存储器120至少包括一种类型的计算机可读存储介质,该可读存储介质可以是易失性的,也可以是非易失性的,具体而言,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器120可以是计算机设备11的内部存储模块,例如该计算机设备11的硬盘或内存。在另一些实施例中,存储器120也可以是计算机设备11的外部存储设备,例如该计算机设备11上配备的插接式硬盘,智能存储卡(smart media card,简称为smc),安全数字(secure digital,简称为sd)卡,闪存卡(flash card)等。当然,存储器120还可以既包括计算机设备11的内部存储模块也包括其外部存储设备。本实施例中,存储器120通常用于存储安装于计算机设备11的操作系统和各类应用软件,例如直播间中的礼物动画播放方法的程序代码等。此外,存储器120还可以用于暂时地存储已经输出或者将要输出的各类数据。
179.处理器121在一些实施例中可以是中央处理器(central processing unit,简称为cpu)、控制器、微控制器、微处理器、或其它直播间中的礼物动画播放芯片。该处理器121通常用于控制计算机设备11的总体操作,例如执行与计算机设备11进行数据交互或者通信
相关的控制和处理等。本实施例中,处理器121用于运行存储器120中存储的程序代码或者处理数据。
180.网络接口122可包括无线网络接口或有线网络接口,该网络接口122通常用于在计算机设备11与其它计算机设备之间建立通信链接。例如,网络接口122用于通过网络将计算机设备11与外部终端相连,在计算机设备11与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(global system of mobile communication,简称为gsm)、宽带码分多址(wideband code division multiple access,简称为wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi等无线或有线网络。
181.需要指出的是,图11仅示出了具有部件120~122的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
182.在本实施例中,存储于存储器120中的直播间中的礼物动画播放方法可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器121)所执行,以完成本技术。
183.本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的直播间中的礼物动画播放方法的步骤。
184.本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,简称为smc),安全数字(secure digital,简称为sd)卡,闪存卡(flash card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的直播间中的礼物动画播放方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
185.以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要筛选出其中的部分或者全部模块来实现本技术实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
186.通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。
187.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1