CN114501054B - 直播互动方法、装置、设备及计算机可读存储介质 - Google Patents
直播互动方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114501054B CN114501054B CN202210129066.5A CN202210129066A CN114501054B CN 114501054 B CN114501054 B CN 114501054B CN 202210129066 A CN202210129066 A CN 202210129066A CN 114501054 B CN114501054 B CN 114501054B
- Authority
- CN
- China
- Prior art keywords
- target
- live
- avatar
- frame rate
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000003993 interaction Effects 0.000 title claims abstract description 212
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 230000009471 action Effects 0.000 claims abstract description 110
- 230000002452 interceptive effect Effects 0.000 claims abstract description 96
- 230000006870 function Effects 0.000 claims description 79
- 230000004044 response Effects 0.000 claims description 46
- 238000009877 rendering Methods 0.000 claims description 45
- 230000015654 memory Effects 0.000 claims description 27
- 238000003825 pressing Methods 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 13
- 230000000903 blocking effect Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 230000033001 locomotion Effects 0.000 claims description 10
- 230000001960 triggered effect Effects 0.000 claims description 8
- 230000000694 effects Effects 0.000 abstract description 16
- 238000004590 computer program Methods 0.000 abstract description 8
- 230000000875 corresponding effect Effects 0.000 description 69
- 230000014509 gene expression Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 19
- 230000001133 acceleration Effects 0.000 description 18
- 230000002829 reductive effect Effects 0.000 description 18
- 230000001276 controlling effect Effects 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 14
- 238000005457 optimization Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 6
- 238000007667 floating Methods 0.000 description 5
- 238000013515 script Methods 0.000 description 5
- 239000000463 material Substances 0.000 description 4
- 239000000725 suspension Substances 0.000 description 4
- 210000003813 thumb Anatomy 0.000 description 4
- 238000012384 transportation and delivery Methods 0.000 description 4
- 210000003414 extremity Anatomy 0.000 description 3
- 230000001815 facial effect Effects 0.000 description 3
- 210000004247 hand Anatomy 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 230000008921 facial expression Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 235000015842 Hesperis Nutrition 0.000 description 1
- 235000012633 Iberis amara Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 210000003811 finger Anatomy 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440281—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47205—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供了一种直播互动方法、装置、设备、计算机可读存储介质及计算机程序产品;方法包括:显示目标直播间的直播间界面,并在直播间界面中显示目标直播间关联的虚拟形象;基于直播间界面,接收到关于目标直播间的主播对象的互动操作;响应于互动操作,控制虚拟形象执行与互动操作相对应的动作,其中,不同的互动操作对应不同的动作。通过本申请,能够提高直播间内各对象的活跃度及人机交互效率。
Description
技术领域
本申请涉及图像处理技术,尤其涉及一种直播互动方法、装置、设备、计算机可读存储介质及计算机程序产品。
背景技术
随着具有通信功能的终端,如智能手机、平板电脑等逐渐成为用户生活中沟通交流的媒介,用户足不出户即可与其他用户进行通信。由此生成了许多方便用户之间通信的平台,如互联网直播平台、社交交友平台等。
以网络直播为例,网络直播是一种新兴的高互动性视频娱乐方式,通常是主播通过终端在互联网直播平台上,直播自己唱歌、玩游戏等活动,观众也可以通过终端发送聊天内容至直播间的聊天区域,但是该种互动方式的互动性较差,提升直播间的氛围和活跃度的程度不高,人机交互效率低。
发明内容
本申请实施例提供一种直播互动方法、装置、设备、计算机可读存储介质及计算机程序产品,能够提高直播间内各对象的活跃度及人机交互效率。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种直播互动方法,包括:
显示目标直播间的直播间界面,并在所述直播间界面中显示所述目标直播间关联的虚拟形象;
基于所述直播间界面,接收到关于所述目标直播间的主播对象的互动操作;
响应于所述互动操作,控制所述虚拟形象执行与所述互动操作相对应的动作,其中,不同的所述互动操作对应不同的所述动作。
本申请实施例提供一种直播互动装置,包括:
显示模块,用于显示目标直播间的直播间界面,并在所述直播间界面中显示所述目标直播间关联的虚拟形象;
接收模块,用于基于所述直播间界面,接收到关于所述目标直播间的主播对象的互动操作;
控制模块,用于响应于所述互动操作,控制所述虚拟形象执行与所述互动操作相对应的动作,其中,不同的所述互动操作对应不同的所述动作。
上述方案中,所述接收模块,还用于基于所述直播间界面,在互动模式下,接收到关于所述目标直播间的主播对象的目标形式的互动操作;
其中,所述目标形式包括以下至少之一:动作形式、语音形式。
上述方案中,所述接收模块,还用于在所述直播间界面中,呈现互动模式开关;
响应于基于所述互动模式开关触发的互动模式开启指令,控制进入所述互动模式。
上述方案中,所述接收模块,还用于接收到在所述直播间界面触发的图形绘制操作;
当所述图形绘制操作所绘制的图形和预设图形相匹配时,控制进入所述互动模式。
上述方案中,所述接收模块,还用于获取观众对象针对所述目标直播间的积分;
当所述积分达到积分阈值时,触发针对互动模式的启动操作;
当所述积分未达到积分阈值时,呈现用于提示所述观众对象进行充值的提示信息。
上述方案中,所述接收模块,还用于在所述直播间界面中,呈现至少一个互动功能项,不同的所述互动功能项对应不同的关于所述主播对象的互动操作;
响应于针对所述至少一个互动功能项中目标互动功能项的触发操作,接收到所述目标互动功能项对应的关于所述主播对象的互动操作。
上述方案中,所述控制模块,还用于当所述互动操作为观众对象针对所述目标直播间的进入操作时,响应于所述进入操作,控制所述虚拟形象执行与所述进入操作相对应的用于欢迎所述观众对象的欢迎动作。
上述方案中,所述控制模块,还用于当所述互动操作为观众对象针对所述目标直播间的退出操作时,响应于所述退出操作,控制所述虚拟形象执行与所述退出操作相对应的用于送别所述观众对象的送别动作。
上述方案中,所述控制模块,还用于获取与所述动作相适配的音频,并在所述虚拟形象执行所述动作的过程中播放所述音频。
上述方案中,所述显示模块,还用于在所述直播间界面中的第一区域,显示所述目标直播间关联的虚拟形象;相应的,
上述方案中,所述控制模块,还用于响应于针对所述虚拟形象的位置移动操作,控制所述虚拟形象由所述第一区域移动至所述位置移动操作所指示的第二区域,以在所述第二区域显示所述虚拟形象。
上述方案中,所述位置移动操作包括按压操作及拖动操作,所述控制模块,还用于响应于针对所述虚拟形象的按压操作,控制所述虚拟形象处于悬浮状态;
响应于针对所述虚拟形象的拖动操作,控制所述虚拟形象伴随所述拖动操作的执行进行移动;
当所述虚拟形象移动至所述第二区域时,响应于针对所述拖动操作的释放指令,在所述第二区域呈现所述虚拟形象。
上述方案中,所述显示模块,还用于在所述直播间界面中呈现用于更换所述虚拟形象的皮肤的换肤功能项;
响应于针对所述换肤功能项的触发操作,呈现至少两个皮肤选项;
接收到针对所述至少两个皮肤选项中目标皮肤选项的选择操作,将所述虚拟形象的皮肤更换为所述目标皮肤选项对应的皮肤。
上述方案中,所述显示模块,还用于呈现针对所述虚拟形象的设置界面,并在所述设置界面中用于更换所述虚拟形象的更换功能项;
响应于针对所述更换功能项的触发操作,展示至少两种候选虚拟形象选项;
接收到针对所述至少两个候选虚拟形象选项中目标虚拟形象选项的选择操作,将所述虚拟形象更换为所述目标虚拟形象选项对应的虚拟形象。
上述方案中,所述显示模块,还用于获取用于展示所述直播间界面的终端的硬件参数;
基于所述硬件参数,响应于针对所述虚拟形象的展示条件得到满足,在所述直播间界面中显示所述目标直播间关联的虚拟形象。
上述方案中,所述控制模块,还用于获取与所述动作相对应的图像帧序列,所述图像帧序列包括至少两个连续的图像帧;
获取针对所述直播间界面的绘制帧率、以及用于展示所述直播间界面的终端的屏幕刷新率;
基于所述绘制帧率以及所述屏幕刷新率,确定用于对所述图像帧序列进行图像渲染的目标绘制帧率;
基于所述目标绘制帧率,对所述图像帧序列进行图像渲染,得到对应所述动作的目标动画;相应的,
上述方案中,所述控制模块,还用于展示所述目标动画,以控制所述虚拟形象执行与所述互动操作相对应的动作。
上述方案中,所述控制模块,还用于基于所述绘制帧率以及所述屏幕刷新率,确定第一目标绘制帧率以及第二目标绘制帧率,其中,所述第一目标绘制帧率为,所述直播间界面的显示状态为流畅状态时,每秒绘制的最大图像帧数,所述第二目标绘制帧率为,所述直播间界面的显示状态为流畅状态时,每秒绘制的最小图像帧数;
当所述绘制帧率小于所述第一目标绘制帧率时,获取所述直播间界面在时间周期内的卡顿次数,并基于所述卡顿次数,将所述第一目标绘制帧率和所述第二目标绘制帧率中之一,作为目标绘制帧率;
当所述绘制帧率大于等于所述第一目标绘制帧率时,确定所述第一目标绘制帧率和所述绘制帧率中之一,作为目标绘制帧率。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的直播互动方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的直播互动方法。
本申请实施例提供一种计算机程序产品,包括计算机程序或指令,用于引起处理器执行时,实现本申请实施例提供的直播互动方法。
本申请实施例具有以下有益效果:
应用本申请实施例,在目标直播间的直播间界面中展示与直播间相关联的虚拟形象,能够通过虚拟形象与观众对象进行自然、直接的互动;同时根据接收到的关于主播对象的互动操作,控制虚拟形象执行与互动操作对应的动作,如此,通过赋予虚拟形象丰富的动作行为,使得直播间的互动方式更具有趣味性和娱乐性,有效提高直播间内各对象的活跃度及人机交互效率。
附图说明
图1是本申请实施例提供的直播互动***的架构示意图;
图2是本申请实施例提供的直播互动方法的电子设备500的结构示意图;
图3是本申请实施例提供的直播互动方法的流程示意图;
图4A-4B是本申请实施例提供的虚拟形象的显示功能项示意图;
图5是本申请实施例提供的虚拟形象展示示意图;
图6是本申请实施例提供的针对虚拟形象的皮肤设置界面示意图;
图7是本申请实施例提供的针对所述虚拟形象的设置界面示意图;
图8是本申请实施例提供的图形绘制示意图;
图9是本申请实施例提供的目标绘制帧率的确定方法的流程示意图;
图10是本申请实施例提供的目标绘制帧率确定方法流程图;
图11是本申请实施例提供的虚拟形象位置移动方法流程图;
图12是相关技术提供的直播互动方式示意图;
图13A-13B是相关技术中CPU渲染时的性能占用示意图;
图14是本申请实施例提供的卡通人物动作示意图;
图15是本申请实施例提供的直播间界面设置示意图;
图16是本申请实施例示出的卡通人物展示流程图;
图17是本申请实施例提供的卡通人物实现素材示意图;
图18是本申请实施例提供的直播互动性能优化方法流程图;
图19是本申请实施例提供的动态调整绘制帧率方法流程示意图;
图20是本申请实施例提供的绘制帧率设置代码示意图;
图21是本申请实施例提供的卡通人物动画渲染时性能示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
如果申请文件中出现“第一/第二”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
2)直播,在现场随着事件的发生、发展进程同步制作和发布信息,具有双向流通过程的信息网络发布方式。
3)主播,又称实况主、播主或网络主播,是指随著网路影片直播平台的兴起,在网络上公开直播的人。网络直播与传统上传录影影片给观众看的方式,最大的差异在于观众可以透过弹幕留言和直播主即时互动,主播可根据观众回馈及时调整节目内容或取悦观众。
4)帧:是指界面显示中最小单位的单幅画面。一帧可以理解为一副静止的画面,快速连续地显示多个相连的帧可以形成物体运动的假象。
5)帧率:是指在1秒钟时间里刷新图片的帧数,也可以理解为终端设备中图形处理器每秒钟刷新画面的次数。高的帧率可以得到更流畅和更逼真的动画。每秒钟帧数越多,所显示的动作就会越流畅。需要说明的是,界面显示帧前通常需要经过绘制、渲染、合成等过程。
6)帧绘制:是指显示界面的图片绘制。显示界面可以由一个或多个视图组成,各个视图可以由视图***的可视控件绘制,各个视图由子视图组成,一个子视图对应视图中的一个小部件,例如,其中的一个子视图对应图片视图中的一个符号。
基于上述对本申请实施例中涉及的名词和术语的解释,下面说明本申请实施例提供的直播互动***。参见图1,图1是本申请实施例提供的直播互动***的架构示意图,为实现支撑一个示例性应用,终端(示例性示出了终端400-1和终端400-2)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或有线链路实现数据传输。
终端(如终端400-1和终端400-2),安装和运行有直播客户端,用于显示目标直播间的直播间界面,并在直播间界面中显示目标直播间关联的虚拟形象;基于直播间界面,接收到关于目标直播间的主播对象的互动操作;响应于互动操作,控制虚拟形象执行与互动操作相对应的动作,其中,不同的互动操作对应不同的动作。
服务器200,用于响应于直播客户端发送的针对目标直播间的直播画面的数据获取请求,返回目标直播间的直播画面数据至终端(如终端400-1和终端400-2)。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,ContentDelivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
在一些实施例中,终端400-1、终端400-2可以通过运行计算机程序来协助实现本申请实施例提供的直播互动方法,计算机程序可以是操作***中的原生程序或软件模块;可以是本地应用程序(APP,Application),即需要在操作***中安装才能运行的程序;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的即时通讯小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
本申请实施例还可以借助于云技术(Cloud Technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络***的后台服务需要大量的计算、存储资源。
参见图2,图2是本申请实施例提供的直播互动方法的电子设备500的结构示意图。在实际应用中,电子设备500可以为图1示出的服务器或终端,以电子设备500为图1示出的终端为例,对实施本申请实施例的直播互动方法的电子设备进行说明,本申请实施例提供的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线***540耦合在一起。可理解,总线***540用于实现这些组件之间的连接通信。总线***540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线***540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作***551,包括用于处理各种基本***服务和执行硬件相关任务的***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作***设备和显示内容和信息的用户接口);
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的直播互动装置可以采用软件方式实现,图2示出了存储在存储器550中的直播互动装置555,其可以是程序和插件等形式的软件,包括以下软件模块:显示模块5551、接收模块5552和控制模块5554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的直播互动装置可以采用软硬件结合的方式实现,作为示例,本申请实施例提供的直播互动装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的直播互动方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Progra mmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
基于上述对本申请实施例提供的直播互动***及电子设备的说明,下面说明本申请实施例提供的直播互动方法。在一些实施例中,本申请实施例提供的直播互动方法可由服务器或终端单独实施,或由服务器及终端协同实施,下面以终端实施为例说明本申请实施例提供的直播互动方法。
参见图3,图3是本申请实施例提供的直播互动方法的流程示意图,本申请实施例提供的直播互动方法包括:
在步骤101中,终端显示目标直播间的直播间界面,并在直播间界面中显示目标直播间关联的虚拟形象。
在实际应用中,终端上设置有具备直播功能的应用客户端,比如直播客户端、即时通信客户端等;主播端可通过设置有应用客户端的终端进行直播,并将直播内容实时传输给后台服务器,由后台服务器转发至观众端,从而使观众端通过设置的应用客户端进行直播观看。
当主播进入直播间开始进行直播后,终端通过图像采集设备实时采集主播的视频画面,通过主播端的直播显示界面,呈现对应主播对象的直播内容。并将直播内容实时传输至后台服务器。服务器获取到主播端在直播显示界面中呈现的对应主播对象的直播内容后,将主播端的直播内容转发至观众端,实现主播端与观众端之间的直播内容的同步。同时,主播端可以设置对应当前直播间的虚拟形象(可以选用卡通人物),用于与当前直播间的观众对象进行互动,如此,在主播对象进行直播的过程中,可以将与观众对象进行交互的工作由虚拟形象执行,提高观众对象在直播间中的活跃度及人机交互效率。
在一些实施例中,终端可以通过以下方式显示虚拟形象:终端获取用于展示直播间界面的终端的硬件参数;基于硬件参数,响应于针对虚拟形象的展示条件得到满足,在直播间界面中显示目标直播间关联的虚拟形象。
在实际实施时,虚拟形象的显示其实是卡通人物动画效果的呈现,往往涉及使用图形处理器(GPU,Graphics Processing Unit)进行大量的数值计算,当终端不支持GPU计算(低端设备等),或者用户关掉了终端的GPU加速,中央处理器(CPU,Central ProcessingUnit)就会参与计算,导致CPU性能严重降低。基于此,由于各个终端的硬件配置不同,为了保证终端CPU和内存的消耗能够在正常范围内,保证直播间界面的流畅度。终端可以结合当前终端的硬件参数,判断是否在当前直播间界面中显示关联的虚拟形象(即判断是否满足虚拟形象的展示条件)。其中,硬件参数包括以下至少之一:是否独立显卡、GPU硬件加速是否开启。终端检测自身的显卡是否为独立显卡,若不是独立显卡(集成显卡等),则直接设置针对虚拟形象的显示功能项不可用,这样,终端就直接不显示虚拟形象,也就不消耗渲染性能。另外,当浏览器的硬件加速开关关闭后,对于嵌入浏览器的直播界面中,针对虚拟形象的显示功能项不可用。当针对虚拟形象的显示功能项可用且处于开启状态时,在虚拟形象显示过程中,终端检测针对当前虚拟形象执行相应动作的绘制帧率,当发现直播界面发生卡顿时,说明终端性能较差,此时,通过对绘制帧率进行动态调整,确定能够保证界面流程的绘制帧率,提升用户体验,
示例性地,图4A-4B是本申请实施例提供的虚拟形象的显示功能项示意图,参见图4A,主播端通过设置界面中“卡通人物显示”功能项,开启针对当前直播间的虚拟形象显示功能,将“卡通人物显示”功能项设置为已开启时,默认情况下,主播端以及观众端可以在直播间界面中显示虚拟形象。参见图4B,观众端在观看直播内容时,可以通过直播间界面中的“设置”功能项,呈现“卡通人物显示”功能项,并根据终端实际情况,对“卡通人物显示”功能项进行开启和关闭操作。参见图5,图5是本申请实施例提供的虚拟形象展示示意图,当开启“卡通人物显示”功能项,可在直播间界面中呈现卡通人物(虚拟形象),图中编号1所示。
上述的针对虚拟形象的显示操作,能够使得主播端或观众端根据终端硬件资源情况,灵活的开启和关闭卡通形象渲染,提升直播间界面流畅度。
在一些实施例中,终端还可以通过以下方式更换目标直播间关联的虚拟形象的皮肤:终端在直播间界面中呈现用于更换虚拟形象的皮肤的换肤功能项;响应于针对换肤功能项的触发操作,呈现针对虚拟形象的皮肤设置界面,并在皮肤设置界面中展示至少两个皮肤选项;接收到针对至少两个皮肤选项中目标皮肤选项的选择操作,将虚拟形象的皮肤更换为目标皮肤选项对应的皮肤。
在实际实施时,终端可以根据观众对象的爱好、以及相应的人物画像等为各观众对象提供针对虚拟形象的换肤功能,即为虚拟形象更换相应的穿戴信息(衣服等)。
示例性地,参见图6,图6是本申请实施例提供的针对虚拟形象的皮肤设置界面示意图,终端接收到直播间界面中针对换肤功能项(图5中编号2示出)的触发操作,呈现针对虚拟形象的皮肤设置界面,并在皮肤设置界面中展示至少两个皮肤选项(图中示出的4个皮肤选项),观众对象或主播对象从4个皮肤选项中选择目标皮肤信息。
上述的针对虚拟形象的换肤功能,能够满足用户针对直播间虚拟形象的个性化的换肤需求。
在一些实施例中,终端还可以通过以下方式更换目标直播间关联的虚拟形象:终端呈现针对所述虚拟形象的设置界面,并在设置界面中呈现用于更换虚拟形象的更换功能项;响应于针对更换功能项的触发操作,展示至少两种候选虚拟形象选项;接收到针对至少两个候选虚拟形象选项中目标虚拟形象选项的选择操作,将虚拟形象更换为目标虚拟形象选项对应的虚拟形象。
在实际实施时,终端可以根据观众对象的爱好、以及相应的人物画像等为各观众对象提供针对虚拟形象的更换功能,即更换虚拟形象。
示例性地,参见图7,图7是本申请实施例提供的针对所述虚拟形象的设置界面示意图,终端接收到直播间界面中用于更换虚拟形象的更换功能项(图5中编号3示出)的触发操作,呈现针对虚拟形象的设置界面,并在设置界面中呈现展示至少两种候选虚拟形象选项(图中示出的6个候选虚拟形象选项),观众对象或主播对象从6个候选虚拟形象选项中选择目标虚拟形象。
在步骤102中,基于直播间界面,接收到关于目标直播间的主播对象的互动操作。
在实际应用中,观众对象通过观众端的直播间界面设置各种互动功能控件,与目标直播间的主播对象进行互动,常见的互动操作可以包括多种,例如“点赞”、“踩”、“比心”、“送礼物”(礼物包括不同类型,例如鲜花、飞机、火箭等)、发送文字、发送语音、发送互动表情等,本申请实施例对互动操作的可能形式不做限定。
在一些实施例中,终端可以通过以下方式接收到针对主播对象的互动操作:基于直播间界面,在互动模式下,终端接收到关于目标直播间的主播对象的目标形式的互动操作;其中,目标形式包括以下至少之一:动作形式、语音形式。
在实际实施时,终端可以通过开启关于目标直播间的主播对象的互动模式,并在互动模式下,接收到关于主播对象的互动操作。当观众端开启互动模式后,终端可以通过观众端的信息采集设备采集观众对象针对主播对象的各种互动操作,其中信息采集设备包括以下至少之一:摄像头、语音录入设备。终端可以通过摄像头采集动作形式的互动操作;终端还可以通过观众端的语音录入设备采集语音形式的互动操作。终端通过观众端的摄像头可以采集到的观众对象针对主播对象的动作形式的互动操作可包括,但不限于,肢体动作、手势动作、面部动作以及表情中的至少一个。肢体动作可包括以下至少一个:起立、坐下、转圈、倒立和身体晃动;面部动作可包括以下至少一个:眨眼、亲吻、张嘴、摇头、点头;手势动作可包括以下至少一个:挥手、剪刀手、握拳、鼓掌、竖大拇指、V手势和OK手势;表情可包括指示以下至少一种情绪的表情:开心、愤怒、激动、痛苦和悲伤。需要说明的是,摄像头采集到的动作形式的操作不限于前述列举的项目,可以是要检测的任何操作。通过观众端的语音设备可以采集到的观众对象发出的针对主播对象的语音形式的互动操作可包括用于表示赞美的语音、用于表示抱怨的语音等。
在一些实施例中,终端可以通过以下方式确定在互动模式下接收到的互动操作:终端将目标形式的互动操作与互动操作数据库中存储的各标准互动数据进行匹配,得到匹配结果,互动操作数据库用于存储互动操作对应的数据与标准互动数据之间的关联关系;当匹配结果表征在互动操作数据库中,存在与互动操作匹配的目标标准互动数据时,基于目标标准互动数据,接收到目标标准互动数据对应的关于目标直播间的主播对象的互动操作。
在实际实施时,终端进入直播间对应的互动模式,此时,终端启动自身的信息采集设备,终端自带的摄像头、语音设备,并通过摄像头采集观众对象的肢体动作、手势动作、面部动作以及表情中的至少一个,但是采集到的上述动作数据,与预设互动操作数据库中的数据进行匹配,得到在预设互动操作数据库中对应的标准的互动数据,并基于标准的互动数据,生成关于主播对象的互动操作。终端可以根据相关技术训练一个人工智能的机器学习模型,用于从预设互动操作数据库中筛选与信息设备采集到的互动数据相似度最高的标准互动数据作为目标互动数据。
示例性地,终端采集到语音形式“主播你真棒”的互动操作,终端将语音形式的“主播你真棒”输入训练完成的语音识别模型,输出相应的类别为“赞美、夸奖、表扬”等,通过与预设互动操作数据库中查找“赞美、夸奖、表扬”等词条,确定对应的互动操作为“比心”。终端采集到动作形式“作揖”的互动操作,终端将动作形式“作揖”的互动操作输入训练完成的图像识别模型,输出相应的类别为“感谢、致谢”,确定关于主播对象的互动操作为“作揖”。
针对互动模式的触发方式进行说明,在一些实施例中,终端可以通过以下方式进入基于直播间界面的互动模式:终端在直播间界面中,呈现互动模式开关;响应于基于互动模式开关触发的互动模式开启指令,控制进入互动模式。
在实际实施时,针对互动模式的触发方式有多种,可以是通过触发直播间界面中呈现的互动模式开关,进行互动模式。
示例性地,参见图4B,在直播间界面中,点击“设置”按钮,在设置界面中,呈现互动模式开关,终端接收到用户开启互动模式开关的操作,控制进入互动模式。需要说明的是,观众端的互动模式开关,仅用于控制观众端自身进入互动模式,而主播端的互动模式开关,可以控制观众端是否能够进入互动模式,如,当主播端的互动模式开关关闭时,任意一台相应的观众端的互动模式开关都处于禁用状态,或直接隐藏。当主播端的互动模式开关开启时,主播对象可以根据观众对象的等级确定是否开启互动模式。
在一些实施例中,终端可以通过以下方式进入基于直播间界面的互动模式:终端接收到在直播间界面触发的图形绘制操作;当图形绘制操作所绘制的图形和预设图形相匹配时,控制进入互动模式。
在实际实施时,用户可以在终端的触摸屏幕上的任意位置,执行针对直播间界面的图形绘制操作,终端获取得到图像绘制操作所绘制的图形的相关图像绘制参数后,会与预先设置的用于启动互动模式的图形库中的图形进行匹配。当用户绘制的图形与图形库中的图形相匹配时,可以开启互动模式。另外,终端还可以通过部署在终端的针对图形进行分类的、基于人工智能的多分类模型对绘制的图形进行预测,多分类模型的输入信息是绘制图形的位置信息,输出信息是绘制图形属于预设图形库中的图形类别。
示例性地,参见图8,图8是本申请实施例提供的图形绘制示意图。用户针对直播间界面执行图形绘制操作,得到图中编号1所示的图形(图形的具体样式可以是多种,如圆形、三角形等)。需要说明的是,为了不影响用户的观看体验,图形绘制操作得到的图形可以不在直播间界面中显示,即图中编号1所示的图形在实际的直播间界面中可以不显示。
在一些实施例中,终端可以通过以下方式进入基于直播间界面的互动模式:终端获取观众对象针对目标直播间的积分;当积分达到积分阈值时,触发针对互动模式的启动操作;当积分未达到积分阈值时,呈现用于提示所述观众对象进行充值的提示信息。
在实际实施时,终端可以根据观众对象针对当前直播间的积分,与预设的积分阈值之间的关系,确定是否开启该观众对象关于主播对象的互动模式,当观众对象的积分达到积分阈值时,可以直接触发针对互动模式的启动操作;当观众对象的积分未达到积分阈值时,可以在直播间界面中呈现提示信息,用于提示观众对象可以通过充值购买积分的方式,进入互动模式。
示例性地,针对目标直播间能够进入互动模式预设的积分阈值是100积分,针对积分未达到100积分的观众对象,可以在直播间界面中以浮层的形式呈现提示信息,提示信息如下“您可以通过充值购买积分,进入互动模式,体验与主播实时互动的满足感”。针对积分达到100积分的观众对象,可以在观众对象进入目标直播间时,以浮层的形式呈现提示信息,“您已进入互动模式,可以通过摄像头或语音录入与主播对象进行互动,您可以在“设置”中关闭互动模式”。
在一些实施例中,终端还可以通过以下方式接收到针对主播对象的互动操作:终端在直播间界面中,呈现至少一个互动功能项,不同的互动功能项对应不同的关于主播对象的互动操作;响应于针对至少一个互动功能项中目标互动功能项的触发操作,接收到目标互动功能项对应的关于主播对象的互动操作。
在实际实施时,直播客户端中的(观众端或主播端)的直播界界面中,可以呈现至少一个互动功能项(互动控件),比如,送礼物、打招呼、比心等互动控件。直播客户端用户通过触发这些互动控件,接收到关于主播对象的互动操作。
示例性地,参见图7中,观众对象通过点击“送礼物”互动功能项(图中编号2示出),向主播对象送出礼物,终端接收到关于主播对象的“送礼物”互动操作。
在步骤103中,响应于互动操作,控制虚拟形象执行与互动操作相对应的动作,其中,不同的互动操作对应不同的动作。
在实际应用中,终端接收到关于主播对象的互动操作后,确定互动操作对应的动作,并响应于互动操作,控制直播间界面中展示的虚拟形象执行相应的动作。
示例性地,终端接收到关于主播对象的互动操作为“送礼物”,终端通过与预设动作库中的预设动作进行匹配,动作库用于记录互动操作与动作之间的相关关系,得到互动操作“送礼物”对应的(目标)动作是“比心”,则此时可以控制直播间中的虚拟形象执行“比心”的动作,即观众端可以看到虚拟形象执行“比心”的动画特效。
在一些实施例中,在观众对象进入目标直播间时,终端还可通过以下方式控制虚拟形象执行相应的动作:当互动操作为观众对象针对目标直播间的进入操作时,响应于进入操作,控制虚拟形象执行与进入操作相对应的用于欢迎观众对象的欢迎动作。
在实际实施时,当观众对象进入目标直播间时,此时互动操作为观众对象的进入操作,终端可以控制虚拟形象执行欢迎观众对象的欢迎动作,如“鼓掌”,即在直播间界面中展示虚拟形象“鼓掌”的动画。
在一些实施例中,在观众对象退出目标直播间时,终端还可通过以下方式控制虚拟形象执行相应的动作:当互动操作为观众对象针对目标直播间的退出操作时,终端响应于退出操作,控制虚拟形象执行与退出操作相对应的用于送别观众对象的送别动作。
在实际实施时,当观众对象退出目标直播间时,此时互动操作为观众对象的退出操作,终端可以控制虚拟形象执行送别观众对象的送别动作,如“挥手再见”,即在直播间界面中展示虚拟形象“挥手再见”的动画。
在一些实施例中,终端在控制虚拟形象执行相应的动作之后,还可以通过以下方式播放与动作相适配的音频:终端获取与动作相适配的音频,并在虚拟形象执行动作的过程中播放音频。
在实际实施时,直播间界面中展示执行目标动作之后,终端还可以播放与该目标动作对应的音频。
示例性地,观众对象进入目标直播间时,在直播间界面中展示虚拟形象“鼓掌”的动画时,终端可以从预先设置的语音库中,获取与“鼓掌”这一目标动作相对应的音频“欢迎小可爱加入我的直播间”,在直播间界面中播放虚拟形象“鼓掌”的动画过程中,播放音频“欢迎小可爱加入我的直播间”。
在实际应用中,终端在直播间界面中呈现执行目标动作的虚拟形象时,考虑到终端自身的硬件配置,为了保证用户观看直播间的良好体验,需要保证直播间界面的流程度,即在呈现虚拟形象的直播间界面中也要保证界面流畅,避免出现界面卡顿的情况,基于此,终端在渲染虚拟形象执行目标动作的相应图像中帧时,可以通过动态调整用于绘制图像帧的绘制帧率的方式,保证直播间界面的流畅度。
下面,针对目标绘制帧率的确定方法进行说明,在一些实施例中,参见图9,图9是本申请实施例提供的目标绘制帧率的确定方法的流程示意图,终端可以通过步骤1031至步骤1035,在保证直播间界面流畅的情况下,采用目标绘制帧率渲染虚拟形象执行动作的动画。
步骤1031,终端获取与动作相对应的图像帧序列,图像帧序列包括至少两个连续的图像帧。
在实际实施时,终端展示的虚拟形象执行与互动操作对应的动作的动画,实际上是按照时间先后顺序播放该动画对应的图像帧序列,图像帧序列包含至少两个连续的图像帧。
步骤1032,获取针对直播间界面的绘制帧率、以及用于展示直播间界面的终端的屏幕刷新率。
在实际实施时,当虚拟形象在直播间界面中呈现时,终端检测实际绘制帧率,以及终端自身的屏幕刷新率。当实际绘制帧率与屏幕刷新率不同步时,说明直播间界面卡顿,此时终端可以通过调整实际绘制帧率,以保证界面的流畅度。
示例性地,终端的屏幕刷新率是75次/秒(Hz),而当前直播间界面的实际绘制帧率是100Hz,即终端屏幕每秒更新75次画面,而直播间界面每秒更新100次,比终端屏幕快33%,会出现丢帧现象,即界面发生卡顿,此时可以通过降低针对直播间界面的绘制帧率,保证图像帧序列中各图像帧的正常绘制,从而保证界面流畅度。
步骤1033,基于绘制帧率以及屏幕刷新率,确定用于对图像帧序列进行图像渲染的目标绘制帧率。
在实际实施时,终端根据实际绘制帧率以及终端自身的屏幕刷新率,动态调整实际绘制帧率,以保证直播间界面的流畅度。终端可以确定直播间界面流畅时的最大绘制帧率,以及直播间界面流畅时的最小绘制帧率,并尽量保证CPU性能的情况下,对实际绘制帧率进行灵活调整,提高用户观看虚拟形象执行目标动作时的体验度。
在一些实施例中,参见图10,图10是本申请实施例提供的目标绘制帧率确定方法流程图,步骤1033可以通过步骤201-步骤203实现。
步骤201,终端基于绘制帧率以及屏幕刷新率,确定第一目标绘制帧率以及第二目标绘制帧率。
需要说明的是,第一目标绘制帧率为,直播间界面的显示状态为流畅状态时,每秒绘制的最大图像帧数;第二目标绘制帧率为,直播间界面的显示状态为流畅状态时,每秒绘制的最小图像帧数。
在实际实施时,第一目标绘制帧率是在保证界面流畅时的最大绘制帧率(即每秒最多可绘制的图像帧数),第二目标绘制帧率是在保证界面流畅时的最小绘制帧率(即每秒最少可以绘制的图像帧数)。
示例性地,终端可以通过调用用于请求动画的应用程序接口(如浏览器端用于requestAnimationFrame),在实际绘制时获取每秒内绘制的帧数,并结合终端的屏幕绘制帧率,设置最大绘制帧率以及最小绘制帧率。当实际绘制帧率大于最大绘制帧率时,说明界面流畅;当实际绘制帧率小于最大绘制帧率时,说明界面卡顿。
步骤202,当绘制帧率小于第一目标绘制帧率时,获取直播间界面在时间周期内的卡顿次数,并基于卡顿次数,将第一目标绘制帧率和第二目标绘制帧率中之一,作为目标绘制帧率。
在实际实施时,当实际绘制帧率小于第一目标绘制帧率时,终端可以结合在时间周期内的卡顿次数,确定目标绘制帧率。
示例性地,终端可以设置一个定时器,该定时器可以是基于JS脚本语言编写的,设定获取时间周期为1分钟,并且1分钟内每隔1秒获取图像帧序列的绘制,这样1分钟内可以获取30次,多次获取的作用是可以有效避免抹一次的误差导致误判断,即提高判断准确性。实际的规则可以是,设置卡顿次数的初始值是0、第一目标绘制帧率为40次/秒、第二目标绘制帧率为15次/秒,当终端监测到页面的实际绘制帧率大于40次/秒时,表明当前页面不卡顿,此时,无需下调绘制帧率,相应的,卡顿次数不加1,但是当监测到页面的绘制帧率小于40次/秒时,可以从理论上表明当前页面卡顿,此时,卡顿计数加1,然后统计在1分钟内最终的卡顿计数占比是否小于获取次数的1/3(前述提到的30次的1/3),如果小于1/3,说明页面不卡顿,将实际绘制帧率调整第一目标绘制帧率为40次/秒(即增加绘制帧率),如果大于1/3,页面卡顿,将实际绘制帧率调整第二目标绘制帧率15次/秒(即降低绘制帧率),如此,基于页面的卡顿次数,动态调整实际绘制帧率,有效提高了直播间界面展示虚拟形象的流畅度,增加了用户使用好评率,减少了用户反馈的问题。
在一些实施例中,终端还可以通过基于卡段次数的方式确定目标绘制帧率:当卡顿次数达到卡顿次数阈值时,终端将第二目标绘制帧率作为目标绘制帧率;当卡顿次数未达到卡顿次数阈值时,终端将第一目标绘制帧率作为目标绘制帧率。
步骤203,当绘制帧率大于等于第一目标绘制帧率时,终端确定第一目标绘制帧率和绘制帧率中之一,作为目标绘制帧率。
在实际实施时,绘制帧率大于等于第一目标绘制帧率时,说明界面流畅,此时可以调整实际绘制帧率,即直接将绘制帧率作为目标绘制帧率,但为进一步节约计算资源,可以将实际绘制帧率降至第一目标绘制帧率,因为,使用第一目标帧率时,直播间界面就已经处于用户可接受的流畅状态了。
步骤1034,基于目标绘制帧率,对图像帧序列进行图像渲染,得到对应动作的目标动画。
在实际实施时,使用调整后的目标绘制帧率,对图像帧序列进行绘制,得到目标动画,此时,直播间界面一直处于流畅状态。
步骤1035,展示目标动画,以控制虚拟形象执行与互动操作相对应的动作。
通过上述步骤1031至步骤1035,能够根据绘制帧率来检测直播间界面是否发生卡顿,从而自动降低绘制帧率,减少绘制次数,从而减少性能损耗。
在一些实施例中,终端可以通过以下方式在直播间界面中控制虚拟形象进行位置移动:终端在直播间界面中的第一区域,显示目标直播间关联的虚拟形象;相应的,终端响应于针对虚拟形象的位置移动操作,控制虚拟形象由第一区域移动至位置移动操作所指示的第二区域,以在第二区域显示所述虚拟形象。
在实际实施时,终端可以根据直播间界面的各功能项的布局,动态调整虚拟形象的在直播间界面中所处的区域。终端在接收到针对虚拟形象的位置移动操作时,可以支持用户在直播间界面中随意拖动虚拟形象的位置。
在一些实施例中,参见图11,图11是本申请实施例提供的虚拟形象位置移动方法流程图,终端接收到的针对虚拟形象的位置移动操作可以包括按压操作及拖动操作,结合图11示出的步骤,说明终端在直播间界面中控制虚拟形象进行位置移动的方式。
步骤301,终端响应于针对虚拟形象的按压操作,当按压操作的按压时长达到时长阈值或压力大小达到压力阈值时,控制虚拟形象处于悬浮状态。
在实际实施时,位置移动操作可以包括至少两个操作,按压操作和拖动操作,其中,终端响应于针对虚拟形象的按压操作,满足悬浮条件时,控制虚拟形象悬浮,悬浮条件的判断与按压操作的操作参数相关,其中,操作参数包括以下至少之一:按压时长、压力大小。当按压操作的按压时长达到预设的时长阈值、或按压操作的压力大小达到预设的压力阈值时,满足悬浮条件,控制虚拟形象处于悬浮状态。
示例性地,预设时长阈值是5秒,当终端接收到针对虚拟形象的按压操作的操作时长达到5秒及以上后,可以直接控制虚拟形象处于悬浮状态,为位置移动做准备。
步骤302,响应于针对虚拟形象的拖动操作,控制虚拟形象伴随拖动操作的执行进行移动。
在实际实施时,当终端控制虚拟形象处于悬浮状态后,可以继续接受针对虚拟形象的拖动操作,并控制虚拟形象随着拖动操作的拖动轨迹在直播间界面中进行移动,这里,虚拟形象可以在直播间界面中的任意位置进行移动。
步骤303,当虚拟形象移动至第二区域时,响应于针对拖动操作的释放指令,在第二区域呈现所述虚拟形象。
在实际实施时,终端控制虚拟形象随着拖动操作在直播间界面中随意移动,当移动至第二区域(目标区域)时,当接收到针对拖动操作的释放指令后,直接在目标区域呈现虚拟形象,此时,终端控制虚拟形象由悬浮状态切换为固定状态。
示例性地,在拖动操作的执行过程中,当用户松开手指时,结束针对虚拟形象的拖动操作,并将虚拟形象由悬浮状态切换为固定状态。
在一些实施例中,终端通过位置移动操作控制虚拟形象处于悬浮状态之后,可以通过以下方式退出悬浮状态:终端检测针对处于悬浮状态的虚拟形象的拖动操作;当在目标时长内未检测到拖动操作时,控制虚拟形象退出悬浮状态。
在实际实施时,当虚拟形象处于悬浮状态后,在预设时长(目标时长)内未接收到针对虚拟形象的拖动操作后,可以直接控制虚拟形象退出悬浮状态,即控制虚拟形象回落到第一区域且处于固定状态。
示例性地,预设目标时长为3秒,当终端在3秒内,未接收到针对处于悬浮状态的虚拟形象的拖动操作时,终端直接控制虚拟形象还原成处于初始位置(上述提到的第一区域)的固定状态。
应用本申请实施例,在目标直播间的直播间界面中展示与直播间相关联的虚拟形象,能够通过虚拟形象与观众对象进行自然、直接的互动;同时根据接收到的关于主播对象的互动操作,控制虚拟形象执行与互动操作对应的动作,如此,通过赋予虚拟形象丰富的动作行为,使得直播间的互动方式更具有趣味性和娱乐性,有效提升直播间的氛围和直播间内各对象的活跃度及人机交互效率。同时,实时调整直播间绘制虚拟形象的实际绘制帧率,当直播间界面发生卡顿时,自动降低针对绘制虚拟形象的实际绘制帧率,减少终端设备性能消耗,保证直播间界面的流畅性,同时保证虚拟形象展示的流畅性,降低对终端CPU的性能的影响。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。以直播间界面中的卡通人物与进入直播间的用户(观众对象)进行互动的应用场景为例,说明本申请实施例提供的直播互动方法。
首先,对本申请实施例中使用的名词术语进行解释:
打招呼表情:进入直播间后,直播间关联的卡通人物与用户打招呼表示欢迎;用户如果送礼,该卡通人物向用户发来感谢比心的动作,提高用户在直播间的活跃度及人机交互效率。
性能:CPU主要负责操作***和应用程序,GPU主要负责跟显示相关的数据处理,GPU大部分的计算功能可以使用CPU代替,但是CPU处理效率低下,在实际开发一款业务功能的时候,性能是需要重点关注的,性能的衡量方式可以有多种,如CPU和内存占用比是多少。针对卡通人物的动作表情的渲染方式来说,终端即可以通过CPU计算渲染得到,也可以通过GPU计算渲染。终端可以根据实际情况选择合适的渲染方式。实际情况可以是,如果浏览器GPU加速关掉时,直接使用CPU渲染时,可能会导致CPU占用过高,导致直播间界面出现卡顿情况。为了保证在场景复杂的时,卡通人物的渲染不影响直播间界面的流畅度,需要保证CPU和内存都应该在一个正常的范围内,从而保证用户正常使用该功能,而且不能带来页面卡顿。
相关技术中,参见图12,图12是相关技术提供的直播互动方式示意图,,如图中编号1所示,当用户进入直播间时,直播间界面可以显示一条用于提示有用户进入直播间的文本形式的提示信息。如图中编号2所示,当用户送礼时,直播间界面中呈现相应的礼物,上述两种互动方式针对不同的用户互动行为(如用户进入直播间、用户送礼等),尚未提供丰富的动作表情来与用户进行互动,通常是以普通的文本形式、或静态图像的形式简单的响应不同的互动行为,因此,对应文本形式或图片形式的渲染,不会带来太大的性能损耗;而根据不同的条件采用动作表情丰富的卡通人物与用户进行互动时,可以利用画布canvas来计算图像像素值并绘制各个点位,但是,此方法需要进行大量的计算,当今采用CPU计算进行渲染时,CPU占用高。示例性地,参见图13A-13B,图13A-13B是相关技术中CPU渲染时的性能占用示意图,图13A-13B示出的针对直播间的不同用户的终端设备,在浏览器的硬件加速关闭(即GPU渲染关闭),使用CPU渲染,CPU占用率极高,用户反馈效率低下明显,体验度差。
相关直播互动技术中,针对用户的互动行为多以文本或图像形式进行响应,交互方式简单、即使关掉GPU加速,仅使用CPU渲染,CPU占用也不会很高,但是这种简单的交互方式无法提高用户在直播间的活跃度;另外,对于能够提供部分能够提供动作表情互动的方案,使用canvas进行绘制时,计算量巨大,仅使用CPU进行绘制时,CPU占用率飙升,影响设备其他功能的正常使用,这给低端用户带来了很大的性能挑战;同时,对于低端机不能自动关闭针对直播间的动作表情互动功能。
基于此,本申请实施例提供一种直播互动方法,该方法在用户进入直播间和送礼的场景下,直播间关联的卡通人物可以自动执行打招呼、比心等表情动作,即使在GPU加速关掉,使用CPU进行渲染的情况下,也能保证卡通人物的互动流程度。本申请实施例提供的直播互动方式,可以通过以下方式保证直播间页面的流畅度、降低针对卡通人物的动作表情展示对CPU性能的影响:①通过检测用户的机型,通过表情展示控件的开启和关闭控制是否进行卡通人物的表情展示;②根据实际绘制帧率检测直播间界面是否发生卡顿,当界面发生卡顿时,自动降低实际绘制帧率,减少绘制次数,从而减少性能损耗;如此,在保证性能的前提下,无论用户是否使用GPU加速,针对卡通人物的动作表情展示均可以正常进行,且对CPU的性能没有太大的影响。
接下来,从产品侧说明本申请实施例提供的直播互动方法,通过canvas绘制直播间的卡通人物时,卡通人物可以根据直播间用户的不同互动行为给予不同的动作。参见图14,图14是本申请实施例提供的卡通人物动作示意图,针对用户进入直播间的互动行为,卡通人物做出打招呼的动作,针对用户向主播送礼的互动行为,卡通人物可以做出竖大拇指的动作,也就是说,直播间的卡通人物可以根据用户不同的互动行为做出不同的动作表情与用户进行互动。另外,用户还可以根据个人喜好,在直播间界面中随意拖动卡通人物,实现卡通人物的位置移动。并且,用户还可以通过直播间提供的设置界面为卡通人物更换皮肤等,如此,相比传统的文本形式或图像形式的简单互动方式,通过卡通人物丰富的动作表情进行互动,用户体验度更好,在实际应用中,参见图15,图15是本申请实施例提供的直播间界面设置示意图,用户点击直播间界面中的“设置”功能项,呈现“设置中心”界面,在该界面中通过针对“卡通人物动画”功能项的关闭操作,在直播间关掉卡通人物展示功能。参见图16,图16是本申请实施例示出的卡通人物展示流程图。
在实际实施时,针对这个卡通人物表情的展示的技术实现,参见图17,图17是本申请实施例提供的卡通人物实现素材示意图,卡通人物对应的素材文件关联了bin文件(图中编号2示出)和图片(图中编号3示出的各种与卡通人物相关的图片素材)以及里面各个点位的值(图中1示出的.gltf文件),最终将画面呈现在直播间界面中,涉及到大量的数值计算,虽然卡通人物动画效果呈现的很酷炫,但是数值计算需要用到GPU,如果直播间用户的终端设备不支持GPU计算或者用户关掉了GPU加速,CPU就会参与计算,CPU资源分配不均时,容易造成CPU占用率高的现象,这将直接影响用户终端设备的其他应用的正常使用,基于此,本申请实施例提供的直播互动方法,需要在直播间界面中显示卡通人物时,尽量降低对CPU性能的影响。
接下来,从技术实现说明本申请实施例提供的直播互动方法,正如产品侧所示,丰富的卡通人物的动作表情展示对于终端设备的计算性能要求高,当用户关掉了GPU加速或者设备本身就不支持GPU计算方式时,可以通过以下方式提升直播互动时的性能,参见图18,图18是本申请实施例提供的直播互动性能优化方法流程图,图中那我们的初步优化分为两个部分,首先是判断是否展示卡通人物,具体优化方式如下:
优化方式一:检测当前呈现直播间的终端设备是否有独立显卡,如果没有独立显卡,可以直接将展示动作表情的开关关掉,如此,直播间界面中就不展示卡通人物表情,也就不消耗终端设备的渲染性能。优化方式二:在直播间界面中展示卡通人物时,检测直播间界面的实际绘制帧率,当发现页面卡顿的时候,说明终端设备的性能较差,此时,可以降低绘制帧率,如此,可以在用户能够接受的卡通人物展示表情动作时页面流畅度下,通过合理化实际绘制帧率解决终端设备性能差的问题,提升用户体验,避免用户投诉。
在实际应用中,上述优化方式一根据用户是否关闭了GPU加速和是否集成显卡做特效默认关闭。由于特效默认关闭时,直播间后台服务器会根据白名单全局打开卡通人物动画(emote)功能,当处于白名单的用户手动关掉了终端设备的GPU加速功能时,直接导致该白名单用户的CPU参与卡通人物动画的渲染计算,CPU占用高,因为直播间用户并不知晓打开卡通人物动画动能时,为了保证直播间界面的流畅性,不能关掉终端设备的GPU加速功能。基于此,优化方式是先检测直播间用户是否关掉终端设备中的GPU加速开关。对于集成显卡和终端设备的浏览器(如chrome、edge等)关闭硬件加速的情况,确定卡通人物动画的展示状态为false(即在直播间界面中不展示卡通人物动画),此时就不取后台的返回卡通人物动画开关状态,也就是说,此时前端自动做了一个假状态,即后台虽然返回的是true(emote开关开启,展示卡通人物动画),但是前端仍然默认把emote开关关掉,即在直播间界面中不展示卡通人物动画。但是当用户手动设置了这个emote开关,可以在浏览器本地缓存里设置标志位emote_switch_flag,如果为true,代表用户已经手动设置了这个开关,此时就以用户设置emote_switch_flag的值为准。
在实际应用中,针对性能差的独立显卡,当CPU性能较差时,可以提示直播间用户关闭emote开关;另外,当直播间用户在关闭终端设备提供的硬件加速功能后,进入直播间时,浏览器本地缓存里设置标志位emote_switch_flag值为false,并且这个假状态一直持续,即使用户再次手动打开终端设备提供的硬件加速功能,但并未修改emote_switch_flag的值,除非用户手动设置直播间的emote开关显示状态,才可以更新emote_switch_flag的值。
在实际应用中,上述优化方式二:根据实际绘制帧率,检测直播间画面是否卡顿,从而减少绘制帧率,保证直播间界面的流畅性。绘制帧率的调整方法如下,调用浏览器提供的应用程序接口requestAnimationFrame,该接口中设定标准绘制帧率为1秒绘制60帧,但是在直播间界面卡顿时,requestAnimationFrame接口在进行页面绘制的时候无法达到每秒60帧的绘制帧率,因此,在调用这个接口进行实际绘制时可以实时获取并记录1秒内绘制的帧数,并根据实际情况设置绘制帧率阈值,当实际绘制帧率低于绘制帧率阈值时,表明当前直播间界面卡顿,然后间隔获取30s,设置相应的页面卡顿规则来判断直播间界面进行卡通人物动画绘制时是否卡顿,由于在实际实施时,无法直接获取cpu占用情况,可以根据页面刷新率判断页面性能,多次采样,动态判断并调整实际绘制帧率,确定合适的绘制帧率。在实际应用中,合适的绘制帧率可以包括最大绘制帧率,即直播间用户感觉卡通人物动画流畅时的最大绘制帧率;最小绘制帧率,即直播间用户感觉卡通人物动画流畅时的最小绘制帧率。示例性的,通过采样确定,针对当前直播间绘制卡通人物动画的最大绘制帧率为40帧/秒,最小绘制帧率为15帧/秒,对于当前直播间用户的实际绘制帧率可以最大绘制帧率和最小绘制帧率为基础进行灵活调整,如此,能够有效降低直播间界面展示卡通人物动画时,对CPU性能的影响,提高用户使用体验。
在实际实施时,参见图19,图19是本申请实施例提供的动态调整绘制帧率方法流程示意图,图中针对绘制帧率的动态调整具体实现过程如下:1、设置一个定时器脚本,1min内每隔1s间隔获取一次;2、通过脚本获取requestAnimationFrame接口进行实际绘制时的绘制帧率,这样1min内的获取次数为30次,多次获取的作用是可以有效避免某一次的误差导致误判断,提供计算准确度;3、判断针对直播间卡通动画人物的实际绘制帧率是否大于最大绘制帧率(40帧/次),当监测到针对直播间卡通动画人物的实际绘制帧率小于最大绘制帧率(40帧/次)时,表征当前页面卡顿;相应的,4、卡顿次数加1;5、统计1分钟内最终的卡顿次数占比是否大于1分钟内获取次数的1/3(前述提到的30次的1/3);6、如果大于1/3,表明直播间界面卡顿,此时将实际绘制帧率下调至最小绘制帧率(15帧/次);7、如果小于1/3,表明直播间界面不卡顿,此时将实际绘制帧率上调至最大绘制帧率(40帧/次)。也就是说,当直播间用户的终端设备关掉硬件加速后,直播间界面中针对卡通人物动画的实际绘制帧率在1分钟之后下调为15帧/次。需要说明的是,当监测到针对直播间卡通动画人物的实际绘制帧率大于上述最大绘制帧率(40帧/次)时,表征当前直播间界面流畅,此时无需调整实际绘制帧率,相应的卡顿次数不加1(用于表征卡顿次数的变量不变)。如此,能够提高用户直播间界面中使用卡通人物动画表情进行互动时的页面流畅度,提升了用户在直播间中的活跃度,降低了直播间绘制卡通人物动画时对终端设备CPU性能的影响。参见图20,图20是本申请实施例提供的绘制帧率设置代码示意图,图中编号1示出的是将实际绘制帧率设置为最大绘制帧率40(fps:40),图中编号2示出的是将实际绘制帧率设置为最小绘制帧率15(fps:15)。
示例性地,参见图21,图21是本申请实施例提供的卡通人物动画渲染时性能示意图,由图中编号1示出的信息可以确定,针对直播间界面的卡通人物动画功能展示开启,且用户终端的浏览器GPU开启时,用户在直播间送礼时,卡通人物执行相应的“竖大拇指”的动作时,CPU占用12%,GPU占用32%;当卡通人物处于静默状态时(即用户与卡通人物不进行互动时),CPU占用10%,GPU占用30%;使用本申请实施例提供的直播互动的性能优化方法后,CPU占用6%,GPU占用16%;性能提升明显。由图中编号2示出的信息可以确定,针对直播间界面的卡通人物动画功能展示关闭,且用户终端的浏览器GPU开启时,直播间界面的卡通人物动画根本不显示,也就不涉及使用CPU或GPU进行动画渲染的过程。由图中编号3示出的信息可以确定,针对直播间界面的卡通人物动画功能展示开启,且用户终端的浏览器GPU关闭时,用户在直播间送礼时,卡通人物执行相应的“竖大拇指”的动作时,仅涉及使用CPU渲染计算,CPU占用85%,GPU占用0;当卡通人物处于静默状态时(即用户与卡通人物不进行互动时),CPU占用80%,GPU占用0;使用本申请实施例提供的直播互动的性能优化方法后,CPU占用仅为30%,性能提升明显。
在实际实施时,为了进一步减少直播间绘制卡通人物动画时对终端设备CPU性能的影响,还可以对卡通人物动画对应的原始图像素材进行压缩,减少动画渲染时的无效计算。
应用本申请实施例,根据直播间用户的终端设备的硬件配置,通过自动控制卡通人物动画功能的开启和关闭,为满足卡通人物动画展示的直播间用户展示卡通人物,如此,能够提高用户在直播间的活跃度及人机交互效率;同时,根据直播间用户的GPU加速的开启或关闭,实时调整直播间卡通人物动画的实际绘制帧率,当直播间界面发生卡顿时,自动降低针对卡通人物动画的实际绘制帧率,减少终端设备性能消耗,保证直播间界面的流畅性,同时保证卡通人物动画展示的流畅性,降低卡通人物动画绘制时,对CPU的性能的影响。
下面继续说明本申请实施例提供的直播互动装置555的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器540的直播互动装置555中的软件模块可以包括:
显示模块5551,用于显示目标直播间的直播间界面,并在所述直播间界面中显示所述目标直播间关联的虚拟形象;
接收模块5552,用于基于所述直播间界面,接收到关于所述目标直播间的主播对象的互动操作;
控制模块5553,用于响应于所述互动操作,控制所述虚拟形象执行与所述互动操作相对应的动作,其中,不同的所述互动操作对应不同的所述动作。
在一些实施例中,所述接收模块,还用于基于所述直播间界面,在互动模式下,接收到关于所述目标直播间的主播对象的目标形式的互动操作;其中,所述目标形式包括以下至少之一:动作形式、语音形式。
在一些实施例中,所述接收模块,还用于在所述直播间界面中,呈现互动模式开关;响应于基于所述互动模式开关触发的互动模式开启指令,控制进入所述互动模式。
在一些实施例中,所述接收模块,还用于接收到在所述直播间界面触发的图形绘制操作;当所述图形绘制操作所绘制的图形和预设图形相匹配时,控制进入所述互动模式。
在一些实施例中,所述接收模块,还用于获取观众对象针对所述目标直播间的积分;当所述积分达到积分阈值时,触发针对互动模式的启动操作;当所述积分未达到积分阈值时,呈现用于提示所述观众对象进行充值的提示信息。
在一些实施例中,所述接收模块,还用于在所述直播间界面中,呈现至少一个互动功能项,不同的所述互动功能项对应不同的关于所述主播对象的互动操作;响应于针对所述至少一个互动功能项中目标互动功能项的触发操作,接收到所述目标互动功能项对应的关于所述主播对象的互动操作。
在一些实施例中,所述控制模块,还用于当所述互动操作为观众对象针对所述目标直播间的进入操作时,响应于所述进入操作,控制所述虚拟形象执行与所述进入操作相对应的用于欢迎所述观众对象的欢迎动作。
在一些实施例中,所述控制模块,还用于当所述互动操作为观众对象针对所述目标直播间的退出操作时,响应于所述退出操作,控制所述虚拟形象执行与所述退出操作相对应的用于送别所述观众对象的送别动作。
在一些实施例中,所述控制模块,还用于获取与所述动作相适配的音频,并在所述虚拟形象执行所述动作的过程中播放所述音频。
在一些实施例中,所述显示模块,还用于在所述直播间界面中的第一区域,显示所述目标直播间关联的虚拟形象;相应的,
在一些实施例中,所述控制模块,还用于响应于针对所述虚拟形象的位置移动操作,控制所述虚拟形象由所述第一区域移动至所述位置移动操作所指示的第二区域,以在所述第二区域显示所述虚拟形象。
在一些实施例中,所述位置移动操作包括按压操作及拖动操作,所述控制模块,还用于响应于针对所述虚拟形象的按压操作,控制所述虚拟形象处于悬浮状态;响应于针对所述虚拟形象的拖动操作,控制所述虚拟形象伴随所述拖动操作的执行进行移动;当所述虚拟形象移动至所述第二区域时,响应于针对所述拖动操作的释放指令,在所述第二区域呈现所述虚拟形象。
在一些实施例中,所述显示模块,还用于在所述直播间界面中呈现用于更换所述虚拟形象的皮肤的换肤功能项;响应于针对所述换肤功能项的触发操作,呈现至少两个皮肤选项;接收到针对所述至少两个皮肤选项中目标皮肤选项的选择操作,将所述虚拟形象的皮肤更换为所述目标皮肤选项对应的皮肤。
在一些实施例中,所述显示模块,还用于呈现针对所述虚拟形象的设置界面,并在所述设置界面中用于更换所述虚拟形象的更换功能项;响应于针对所述更换功能项的触发操作,展示至少两种候选虚拟形象选项;接收到针对所述至少两个候选虚拟形象选项中目标虚拟形象选项的选择操作,将所述虚拟形象更换为所述目标虚拟形象选项对应的虚拟形象。
在一些实施例中,所述显示模块,还用于获取用于展示所述直播间界面的终端的硬件参数;基于所述硬件参数,响应于针对所述虚拟形象的展示条件得到满足,在所述直播间界面中显示所述目标直播间关联的虚拟形象。
在一些实施例中,所述控制模块,还用于获取与所述动作相对应的图像帧序列,所述图像帧序列包括至少两个连续的图像帧;获取针对所述直播间界面的绘制帧率、以及用于展示所述直播间界面的终端的屏幕刷新率;基于所述绘制帧率以及所述屏幕刷新率,确定用于对所述图像帧序列进行图像渲染的目标绘制帧率;基于所述目标绘制帧率,对所述图像帧序列进行图像渲染,得到对应所述动作的目标动画;相应的,
在一些实施例中,所述控制模块,还用于展示所述目标动画,以控制所述虚拟形象执行与所述互动操作相对应的动作。
在一些实施例中,所述控制模块,还用于基于所述绘制帧率以及所述屏幕刷新率,确定第一目标绘制帧率以及第二目标绘制帧率,其中,所述第一目标绘制帧率为,所述直播间界面的显示状态为流畅状态时,每秒绘制的最大图像帧数,所述第二目标绘制帧率为,所述直播间界面的显示状态为流畅状态时,每秒绘制的最小图像帧数;当所述绘制帧率小于所述第一目标绘制帧率时,获取所述直播间界面在时间周期内的卡顿次数,并基于所述卡顿次数,将所述第一目标绘制帧率和所述第二目标绘制帧率中之一,作为目标绘制帧率;当所述绘制帧率大于等于所述第一目标绘制帧率时,确定所述第一目标绘制帧率和所述绘制帧率中之一,作为目标绘制帧率。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的直播互动方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的直播互动方法,例如,如图3示出的方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件***中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本申请实施例根据直播间用户的终端设备的硬件配置,通过自动控制卡通人物动画功能的开启和关闭,为满足卡通人物动画展示的直播间用户展示卡通人物,如此,能够提高用户在直播间的活跃度及人机交互效率;同时,根据直播间用户的GPU加速的开启或关闭,实时调整直播间卡通人物动画的实际绘制帧率,当直播间界面发生卡顿时,自动降低针对卡通人物动画的实际绘制帧率,减少终端设备性能消耗,保证直播间界面的流畅性,同时保证卡通人物动画展示的流畅性,降低卡通人物动画绘制时,对CPU的性能的影响。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (18)
1.一种直播互动方法,其特征在于,所述方法包括:
显示目标直播间的直播间界面,并响应于针对虚拟形象的展示条件得到满足,在所述直播间界面中显示所述目标直播间关联的所述虚拟形象,其中,所述展示条件,是基于展示所述直播间界面的终端的硬件参数确定的;
基于所述直播间界面,在互动模式下,接收到关于所述目标直播间的主播对象的互动操作;
获取与所述互动操作对应的动作相对应的图像帧序列,所述图像帧序列包括至少两个连续的图像帧;
获取针对所述直播间界面的绘制帧率、以及用于展示所述直播间界面的终端的屏幕刷新率;
基于所述绘制帧率以及所述屏幕刷新率,确定目标绘制帧率;
基于所述目标绘制帧率,对所述图像帧序列进行图像渲染,得到对应所述动作的目标动画;
响应于所述互动操作,展示所述目标动画,以控制所述虚拟形象执行与所述互动操作相对应的动作,其中,不同的所述互动操作对应不同的所述动作。
2.如权利要求1所述的方法,其特征在于,所述基于所述直播间界面,在互动模式下,接收到关于所述目标直播间的主播对象的互动操作,包括:
基于所述直播间界面,在互动模式下,接收到关于所述目标直播间的主播对象的目标形式的互动操作;
其中,所述目标形式包括以下至少之一:动作形式、语音形式。
3.如权利要求2所述的方法,其特征在于,所述在互动模式下,接收到关于所述目标直播间的主播对象的目标形式的互动操作之前,所述方法还包括:
在所述直播间界面中,呈现互动模式开关;
响应于基于所述互动模式开关触发的互动模式开启指令,控制进入所述互动模式。
4.如权利要求2所述的方法,其特征在于,所述在互动模式下,接收到关于所述目标直播间的主播对象的目标形式的互动操作之前,所述方法还包括:
接收到在所述直播间界面触发的图形绘制操作;
当所述图形绘制操作所绘制的图形和预设图形相匹配时,控制进入所述互动模式。
5.如权利要求2所述的方法,其特征在于,所述在互动模式下,接收到关于所述目标直播间的主播对象的目标形式的互动操作之前,所述方法还包括:
获取观众对象针对所述目标直播间的积分;
当所述积分达到积分阈值时,触发针对互动模式的启动操作;
当所述积分未达到积分阈值时,呈现用于提示所述观众对象进行充值的提示信息。
6.如权利要求1所述的方法,其特征在于,所述基于所述直播间界面,在互动模式下,接收到关于所述目标直播间的主播对象的互动操作,包括:
在所述直播间界面中,呈现至少一个互动功能项,不同的所述互动功能项对应不同的关于所述主播对象的互动操作;
响应于针对所述至少一个互动功能项中目标互动功能项的触发操作,接收到所述目标互动功能项对应的关于所述主播对象的互动操作。
7.如权利要求1所述的方法,其特征在于,所述响应于所述互动操作,展示所述目标动画,以控制所述虚拟形象执行与所述互动操作相对应的动作,包括:
当所述互动操作为观众对象针对所述目标直播间的进入操作时,响应于所述进入操作,控制所述虚拟形象执行与所述进入操作相对应的用于欢迎所述观众对象的欢迎动作。
8.如权利要求1所述的方法,其特征在于,所述响应于所述互动操作,展示所述目标动画,以控制所述虚拟形象执行与所述互动操作相对应的动作,包括:
当所述互动操作为观众对象针对所述目标直播间的退出操作时,响应于所述退出操作,控制所述虚拟形象执行与所述退出操作相对应的用于送别所述观众对象的送别动作。
9.如权利要求1所述的方法,其特征在于,所述响应于所述互动操作,展示所述目标动画,以控制所述虚拟形象执行与所述互动操作相对应的动作之后,所述方法还包括:
获取与所述动作相适配的音频,并在所述虚拟形象执行所述动作的过程中播放所述音频。
10.如权利要求1所述的方法,其特征在于,所述在所述直播间界面中显示所述目标直播间关联的虚拟形象,包括:
在所述直播间界面中的第一区域,显示所述目标直播间关联的虚拟形象;
所述方法还包括:
响应于针对所述虚拟形象的位置移动操作,控制所述虚拟形象由所述第一区域移动至所述位置移动操作所指示的第二区域,以在所述第二区域显示所述虚拟形象。
11.如权利要求10所述的方法,其特征在于,所述位置移动操作包括按压操作及拖动操作;
所述响应于针对所述虚拟形象的位置移动操作,控制所述虚拟形象由所述第一区域移动至所述位置移动操作所指示的第二区域,以在所述第二区域显示所述虚拟形象包括:
响应于针对所述虚拟形象的按压操作,控制所述虚拟形象处于悬浮状态;
响应于针对所述虚拟形象的拖动操作,控制所述虚拟形象伴随所述拖动操作的执行进行移动;
当所述虚拟形象移动至所述第二区域时,响应于针对所述拖动操作的释放指令,在所述第二区域呈现所述虚拟形象。
12.如权利要求1所述的方法,其特征在于,所述在所述直播间界面中显示所述目标直播间关联的虚拟形象之后,所述方法还包括:
在所述直播间界面中呈现用于更换所述虚拟形象的皮肤的换肤功能项;
响应于针对所述换肤功能项的触发操作,呈现至少两个皮肤选项;
接收到针对所述至少两个皮肤选项中目标皮肤选项的选择操作,将所述虚拟形象的皮肤更换为所述目标皮肤选项对应的皮肤。
13.如权利要求1所述的方法,其特征在于,所述在所述直播间界面中显示所述目标直播间关联的虚拟形象之后,所述方法还包括:
呈现针对所述虚拟形象的设置界面,并在所述设置界面中呈现用于更换所述虚拟形象的更换功能项;
响应于针对所述更换功能项的触发操作,展示至少两种候选虚拟形象选项;
接收到针对所述至少两个候选虚拟形象选项中目标虚拟形象选项的选择操作,将所述虚拟形象更换为所述目标虚拟形象选项对应的虚拟形象。
14.如权利要求1所述的方法,其特征在于,所述在所述直播间界面中显示所述目标直播间关联的虚拟形象,包括:
获取用于展示所述直播间界面的终端的硬件参数;
基于所述硬件参数,响应于针对所述虚拟形象的展示条件得到满足,在所述直播间界面中显示所述目标直播间关联的虚拟形象。
15.如权利要求1所述的方法,其特征在于,所述基于所述绘制帧率以及所述屏幕刷新率,确定目标绘制帧率,包括:
基于所述绘制帧率以及所述屏幕刷新率,确定第一目标绘制帧率以及第二目标绘制帧率,当所述绘制帧率小于所述第一目标绘制帧率时,获取所述直播间界面在时间周期内的卡顿次数,并基于所述卡顿次数,将所述第一目标绘制帧率和所述第二目标绘制帧率中之一,作为目标绘制帧率;当所述绘制帧率大于等于所述第一目标绘制帧率时,确定所述第一目标绘制帧率和所述绘制帧率中之一,作为目标绘制帧率。
16.一种直播互动装置,其特征在于,所述装置包括:
显示模块,用于显示目标直播间的直播间界面,并响应于针对虚拟形象的展示条件得到满足,在所述直播间界面中显示所述目标直播间关联的所述虚拟形象,其中,所述展示条件,是基于展示所述直播间界面的终端的硬件参数确定的;
接收模块,用于基于所述直播间界面,在互动模式下,接收到关于所述目标直播间的主播对象的互动操作;
控制模块,用于获取与所述互动操作对应的动作相对应的图像帧序列,所述图像帧序列包括至少两个连续的图像帧;获取针对所述直播间界面的绘制帧率、以及用于展示所述直播间界面的终端的屏幕刷新率;基于所述绘制帧率以及所述屏幕刷新率,确定目标绘制帧率;基于所述目标绘制帧率,对所述图像帧序列进行图像渲染,得到对应所述动作的目标动画;响应于所述互动操作,展示所述目标动画,以控制所述虚拟形象执行与所述互动操作相对应的动作,其中,不同的所述互动操作对应不同的所述动作。
17.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至15任一项所述的直播互动方法。
18.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至15任一项所述的直播互动方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210129066.5A CN114501054B (zh) | 2022-02-11 | 2022-02-11 | 直播互动方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210129066.5A CN114501054B (zh) | 2022-02-11 | 2022-02-11 | 直播互动方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114501054A CN114501054A (zh) | 2022-05-13 |
CN114501054B true CN114501054B (zh) | 2023-04-21 |
Family
ID=81481104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210129066.5A Active CN114501054B (zh) | 2022-02-11 | 2022-02-11 | 直播互动方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114501054B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116017021A (zh) * | 2022-12-30 | 2023-04-25 | 上海哔哩哔哩科技有限公司 | 虚拟直播方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106383576A (zh) * | 2016-09-08 | 2017-02-08 | 北京美吉克科技发展有限公司 | Vr环境中显示体验者身体局部的方法及*** |
CN107134004A (zh) * | 2017-03-31 | 2017-09-05 | 武汉斗鱼网络科技有限公司 | 一种在Flash动画中模拟球体运动的方法及装置 |
CA2953186A1 (en) * | 2016-12-29 | 2018-06-29 | Steve Mann | Means, apparatus, and method for humanistic intelligence, undigital cyborg craft, and sousveillant systems for machine integrity |
CN111787388A (zh) * | 2020-07-10 | 2020-10-16 | 海信视像科技股份有限公司 | 一种显示设备 |
CN112019921A (zh) * | 2020-09-01 | 2020-12-01 | 北京德火科技有限责任公司 | 应用于虚拟演播室的肢体动作数据处理方法 |
CN112256223A (zh) * | 2020-10-20 | 2021-01-22 | 北京字节跳动网络技术有限公司 | 显示流畅度的调节方法、装置和电子设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878820B (zh) * | 2016-12-09 | 2020-10-16 | 北京小米移动软件有限公司 | 直播互动方法及装置 |
CN107750014B (zh) * | 2017-09-25 | 2020-10-16 | 迈吉客科技(北京)有限公司 | 一种连麦直播方法和*** |
CN108712556B (zh) * | 2018-03-27 | 2020-07-10 | Oppo广东移动通信有限公司 | 帧率调整方法、装置、终端设备及存储介质 |
CN110401865B (zh) * | 2018-04-24 | 2021-11-30 | 腾讯科技(深圳)有限公司 | 视频互动功能的实现方法和装置 |
CN110071938B (zh) * | 2019-05-05 | 2021-12-03 | 广州虎牙信息科技有限公司 | 虚拟形象互动方法、装置、电子设备及可读存储介质 |
CN111312240A (zh) * | 2020-02-10 | 2020-06-19 | 北京达佳互联信息技术有限公司 | 数据控制方法、装置、电子设备及存储介质 |
CN114842816A (zh) * | 2020-03-06 | 2022-08-02 | 华为技术有限公司 | 刷新率切换方法和电子设备 |
CN113766324B (zh) * | 2020-06-02 | 2022-11-04 | 深圳市万普拉斯科技有限公司 | 视频播放的控制方法、装置、计算机设备和存储介质 |
CN112019922A (zh) * | 2020-09-01 | 2020-12-01 | 北京德火科技有限责任公司 | 应用于虚拟演播室的面部表情数据处理方法 |
CN112261422A (zh) * | 2020-10-15 | 2021-01-22 | 北京德火科技有限责任公司 | 适用于广电领域的仿真远程直播流数据处理方法 |
CN113253901A (zh) * | 2021-03-15 | 2021-08-13 | 北京字跳网络技术有限公司 | 一种直播间内的交互方法、装置、设备及存储介质 |
CN113382274B (zh) * | 2021-05-31 | 2023-01-20 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN113691829B (zh) * | 2021-10-26 | 2022-04-08 | 阿里巴巴达摩院(杭州)科技有限公司 | 虚拟对象互动方法、装置、存储介质及计算机程序产品 |
-
2022
- 2022-02-11 CN CN202210129066.5A patent/CN114501054B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106383576A (zh) * | 2016-09-08 | 2017-02-08 | 北京美吉克科技发展有限公司 | Vr环境中显示体验者身体局部的方法及*** |
CA2953186A1 (en) * | 2016-12-29 | 2018-06-29 | Steve Mann | Means, apparatus, and method for humanistic intelligence, undigital cyborg craft, and sousveillant systems for machine integrity |
CN107134004A (zh) * | 2017-03-31 | 2017-09-05 | 武汉斗鱼网络科技有限公司 | 一种在Flash动画中模拟球体运动的方法及装置 |
CN111787388A (zh) * | 2020-07-10 | 2020-10-16 | 海信视像科技股份有限公司 | 一种显示设备 |
CN112019921A (zh) * | 2020-09-01 | 2020-12-01 | 北京德火科技有限责任公司 | 应用于虚拟演播室的肢体动作数据处理方法 |
CN112256223A (zh) * | 2020-10-20 | 2021-01-22 | 北京字节跳动网络技术有限公司 | 显示流畅度的调节方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114501054A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021109652A1 (zh) | 文字虚拟礼物的赠送方法、装置、设备及存储介质 | |
CN107704169B (zh) | 虚拟人的状态管理方法和*** | |
CN111683263B (zh) | 直播指导方法、装置、设备及计算机可读存储介质 | |
CN107632706B (zh) | 多模态虚拟人的应用数据处理方法和*** | |
CN114205635B (zh) | 一种直播评论展示方法、装置、设备及介质 | |
CN111538456A (zh) | 基于虚拟形象的人机交互方法、装置、终端以及存储介质 | |
CN113411656B (zh) | 信息处理方法、装置、计算机设备及存储介质 | |
WO2023030010A1 (zh) | 交互方法、电子设备及存储介质 | |
CN112516589A (zh) | 直播中游戏商品互动方法、装置、计算机设备及存储介质 | |
EP4047938A1 (en) | Method for displaying interactive interface and apparatus thereof, method for generating interactive interface | |
CN113301358B (zh) | 内容提供及展示方法、装置、电子设备、存储介质 | |
WO2022267701A1 (zh) | 虚拟对象的控制方法、装置、设备、***及可读存储介质 | |
CN112601098A (zh) | 直播互动方法、内容推荐方法及装置 | |
WO2023109037A1 (zh) | 基于直播间的互动方法及电子设备 | |
US20230254449A1 (en) | Information processing system, information processing method, information processing program | |
CN114501054B (zh) | 直播互动方法、装置、设备及计算机可读存储介质 | |
CN114697721A (zh) | 弹幕显示方法及电子设备 | |
CN114895787A (zh) | 多人互动方法、装置、电子设备及存储介质 | |
CN115220613A (zh) | 一种事件提示处理方法、装置、设备及介质 | |
CN112543365A (zh) | 媒体信息的播放方法、装置、设备及计算机可读存储介质 | |
CN112306238A (zh) | 交互方式的确定方法、装置、电子设备及存储介质 | |
CN114189731B (zh) | 赠送虚拟礼物后的反馈方法、装置、设备及存储介质 | |
CN112752159B (zh) | 一种互动方法和相关装置 | |
CN115379250B (zh) | 视频处理方法、装置、计算机设备及存储介质 | |
US20240046541A1 (en) | Information processing system, method for processing information, and non-transitory computer-readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40070938 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |