CN117041628B - 直播画面的渲染方法、***、装置、设备及介质 - Google Patents
直播画面的渲染方法、***、装置、设备及介质 Download PDFInfo
- Publication number
- CN117041628B CN117041628B CN202311298018.XA CN202311298018A CN117041628B CN 117041628 B CN117041628 B CN 117041628B CN 202311298018 A CN202311298018 A CN 202311298018A CN 117041628 B CN117041628 B CN 117041628B
- Authority
- CN
- China
- Prior art keywords
- special effect
- live
- resource
- rendering
- video stream
- 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
- 238000009877 rendering Methods 0.000 title claims abstract description 463
- 238000000034 method Methods 0.000 title claims abstract description 151
- 230000000694 effects Effects 0.000 claims abstract description 1504
- 230000008569 process Effects 0.000 claims abstract description 89
- 238000003860 storage Methods 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 6
- 238000009434 installation Methods 0.000 abstract description 18
- 238000005516 engineering process Methods 0.000 abstract description 17
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 31
- 230000003993 interaction Effects 0.000 description 23
- 238000012545 processing Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 13
- 238000011161 development Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 10
- 239000000463 material Substances 0.000 description 9
- 238000013475 authorization Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000001747 exhibiting effect Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 230000005587 bubbling Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000002864 sequence alignment Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23412—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
-
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8146—Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开了一种直播画面的渲染方法、***、装置、设备及介质,涉及画面生成技术领域。该方法包括:获取直播视频流;获取特效渲染指令;基于特效渲染指令中的特效标识,获取特效标识表征的第一特效资源;将第一特效资源应用于直播视频流,生成特效视频流,特效视频流用于发送至处于直播间内的至少一个终端,以渲染显示具有特效的直播画面。通过以上方式,能够借助终端之外的设备进行更高效地特效渲染过程,不仅避免需要适配不同终端导致配置难度较大的问题,还能够避免终端需要实时更新最新安装包才能对特效进行完全呈现的问题,从而有利于更流畅地显示具有特效的直播画面。本申请可应用于云技术、人工智能、智慧交通等各种场景。
Description
技术领域
本申请实施例涉及画面生成技术领域,特别涉及一种直播画面的渲染方法、***、装置、设备及介质。
背景技术
随着互联网技术的快速发展,视频直播由于其所具备的直观、快速、交互性强等特点,已经逐渐成为一种非常广泛的娱乐方式,如游戏直播场景下。终端可以通过具有直播功能的直播应用程序(Application,APP)显示直播间,在直播间内,主播和观众可以进行点赞、评论、赠送礼物等各种直播互动,并通过终端渲染显示与直播互动相应的直播特效。
相关技术中,终端下载打包有各种特效资源(如:图片、视频)的安装包或更新包;当直播间存在直播互动时,通过APP后端确定直播互动对应特效的资源索引标识(Identity,ID),并生成包括特效ID的指令发送至终端,从而终端基于安装包或更新包,在本地加载该特效ID对应的特效资源并渲染呈现具有特效的直播画面。
在上述特效资源的渲染过程中,针对同一个特效资源而言,硬件配置较好的终端能够对特效资源进行更快速且完善地渲染过程,但硬件配置较差的终端基于渲染算力较差的原因,则只能对特效资源进行慢速、卡顿的渲染过程,甚至对于需求算力较大的特效资源无法完成渲染过程,从而导致使用同一APP的不同终端对象看到的效果不一样,不仅影响渲染效果以及人机交互效率,也会因为APP开发需要兼容各种硬件配置的问题,导致APP开发难度较大。
发明内容
本申请实施例提供了一种直播画面的渲染方法、***、装置、设备及介质,能够借助终端之外的设备进行更高效地特效渲染过程,不仅避免需要适配不同终端导致配置难度较大的问题,还能够避免终端需要实时更新最新安装包才能对特效进行完全呈现的问题,从而有利于使得终端基于获取到的特效视频流更流畅地显示具有特效的直播画面。所述技术方案如下。
一方面,提供了一种直播画面的渲染方法,所述方法由服务器执行,所述方法包括:
获取直播视频流,所述直播视频流是基于主播终端采集的视频数据生成的视频流,所述直播视频流用于表征直播间内的直播画面;
获取特效渲染指令,所述特效渲染指令中包括特效标识,所述特效标识用于唯一标识特效资源,所述特效渲染指令用于将特效资源应用于所述直播视频流;
基于所述特效渲染指令中的所述特效标识,获取所述特效标识表征的第一特效资源;
将所述第一特效资源应用于所述直播视频流,生成特效视频流,所述特效视频流用于发送至处于所述直播间内的至少一个终端,所述至少一个终端用于渲染所述特效视频流并显示具有特效的直播画面。
另一方面,提供了一种直播画面的渲染装置,所述装置包括:
视频获取模块,用于获取直播视频流,所述直播视频流是基于主播终端采集的视频数据生成的视频流,所述直播视频流用于表征直播间内的直播画面;
指令获取模块,用于获取特效渲染指令,所述特效渲染指令中包括特效标识,所述特效标识用于唯一标识特效资源,所述特效渲染指令用于将特效资源应用于所述直播视频流;
资源获取模块,用于基于所述特效渲染指令中的所述特效标识,获取所述特效标识表征的第一特效资源;
特效应用模块,用于将所述第一特效资源应用于所述直播视频流,生成特效视频流,所述特效视频流用于发送至处于所述直播间内的至少一个终端,所述至少一个终端用于渲染所述特效视频流并显示具有特效的直播画面。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中任一所述直播画面的渲染方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述本申请实施例中任一所述的直播画面的渲染方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的直播画面的渲染方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
获取基于主播终端采集的视频数据生成的直播视频流,以及获取包括特效标识的特效渲染指令,终端以外的设备基于特效渲染指令中的特效标识获取特效标识表征的第一特效资源,从而将第一特效资源应用于直播视频流并生成特效视频流。通过上述方法,将特效资源获取过程以及特效渲染过程交由终端之外的设备执行,避免需要适配不同终端导致配置难度较大的问题,还能够避免终端需要实时更新最新安装包才能对特效进行完全呈现的问题;处于直播间内的至少一个终端直接通过接收已经应用特效资源的特效视频流,并对特效视频流进行渲染,即可高效且流畅地显示具有特效的直播画面。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的实施环境示意图;
图2是本申请一个示例性实施例提供的直播画面的渲染方法的流程图;
图3是本申请另一个示例性实施例提供的直播画面的渲染方法的流程图;
图4是本申请又一个示例性实施例提供的直播画面的渲染方法的流程图;
图5是本申请一个示例性实施例提供的直播画面的渲染***的交互示意图;
图6是本申请一个示例性实施例提供的特效内容的示意图;
图7是本申请一个示例性实施例提供的相关技术示意图;
图8是本申请一个示例性实施例提供的云应用的基本交互示意图;
图9是本申请一个示例性实施例提供的直播结合实时云渲染处理原理和架构的示意图;
图10是本申请一个示例性实施例提供的应用直播画面的渲染方法的场景界面示意图;
图11是本申请一个示例性实施例提供的直播画面的渲染装置的结构框图;
图12是本申请一个示例性实施例提供的服务器的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,针对本申请实施例中涉及的名词进行简单介绍。
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用***能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台),一般称为基础设施即服务(Infrastructure as a Service,IaaS)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作***)、存储设备、网络设备。
按照逻辑功能划分,在IaaS层上可以部署平台即服务(Platform as a Service,PaaS)层,PaaS层之上再部署软件即服务(Software as a Service,SaaS)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、***器等。一般来说,SaaS和PaaS相对于IaaS是上层。
云社交(Cloud Social)是一种物联网、云计算和移动互联网交互应用的虚拟社交应用模式,以建立著名的“资源分享关系图谱”为目的,进而开展网络社交,云社交的主要特征,就是把大量的社会资源统一整合和评测,构成一个资源有效池向用户按需提供服务。参与分享的用户越多,能够创造的利用价值就越大。
相关技术中,终端下载打包有各种特效资源(如:图片、视频)的安装包或更新包;当直播间存在直播互动时,通过APP后端确定直播互动对应特效的资源索引ID,并生成包括特效ID的指令发送至终端,从而终端基于安装包或更新包,在本地加载该特效ID对应的特效资源并渲染呈现具有特效的直播画面。在上述特效资源的渲染过程中,针对同一个特效资源而言,硬件配置较好的终端能够对特效资源进行更快速且完善地渲染过程,但硬件配置较差的终端基于渲染算力较差的原因,则只能对特效资源进行慢速、卡顿的渲染过程,甚至对于需求算力较大的特效资源无法完成渲染过程,从而导致使用同一APP的不同终端对象看到的效果不一样,不仅影响渲染效果以及人机交互效率,也会因为APP开发需要兼容各种硬件配置的问题,导致APP开发难度较大。
在本申请实施例中,提供了一种直播画面的渲染方法,获取基于主播终端采集的视频数据生成的直播视频流,以及获取包括特效标识的特效渲染指令,特效渲染指令用于将特效标识表征的特效资源应用于直播视频流;进而基于特效渲染指令中的特效标识获取特效标识表征的第一特效资源,从而将第一特效资源应用于直播视频流并生成特效视频流。通过上述方法,将特效资源获取过程以及特效渲染过程交由终端之外的设备执行,避免需要适配不同终端导致配置难度较大的问题,还能够避免终端需要实时更新最新安装包才能对特效进行完全呈现的问题;处于直播间内的至少一个终端直接通过接收已经应用特效资源的特效视频流,并对特效视频流进行渲染,即可高效且流畅地显示具有特效的直播画面。针对本申请的直播画面的渲染方法,可以应用于各种直播场景中,如:直播游戏场景、直播聊天场景、直播解密场景等多种场景中,本申请实施例对此不加以限定。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关地区的相关法律法规和标准。例如,本申请中涉及到的特效资源、直播视频流等内容都是在充分授权的情况下获取的。
本申请在收集用户的相关数据之前以及在收集用户的相关数据的过程中,都可以显示提示界面、弹窗或输出语音提示信息,该提示界面、弹窗或语音提示信息用于提示用户当前正在搜集其相关数据,使得本申请仅仅在获取到用户对该提示界面或者弹窗发出的确认操作后,才开始执行获取用户相关数据的相关步骤,否则(即未获取到用户对该提示界面或者弹窗发出的确认操作时),结束获取用户相关数据的相关步骤,即不获取用户的相关数据。换句话说,本申请所采集的所有用户数据都是在用户同意并授权的情况下进行采集的,且相关用户数据的收集、使用和处理需要遵守相关地区的相关法律法规和标准。
其次,对本申请实施例中涉及的实施环境进行说明,本申请实施例提供的直播画面的渲染方法由终端和服务器通过数据交互实现。示意性的,请参考图1,该实施环境中涉及主播终端110、服务器120,主播终端110和服务器120之间通过通信网络130连接。
在一些实施例中,主播终端110在主播通过直播间进行直播的过程中,会基于主播的授权开启摄像头,从而基于摄像头的摄像采集功能采集得到视频数据,主播终端110基于视频数据生成直播视频流。也即:直播视频流是基于主播终端采集的视频数据生成的视频流。其中,直播视频流用于表征直播间内的直播画面。
可选地,主播终端110将直播视频流通过通信网络130发送至服务器120,以使得服务器120获取到直播视频流。
在一些实施例中,服务器120还会获取特效渲染指令。
示意性的,特效渲染指令是针对任意一个或者多个特效进行选择后生成的指令。例如:主播终端110对直播界面上提供的控件进行触发以实现对应的特效,该触发过程通过主播终端110生成特效渲染指令,则服务器120接收到的特效渲染指令来自主播终端110;或者,观看直播的观众终端对直播界面上提供的控件进行触发以实现对应的特效,该触发过程通过观众终端生成特效渲染指令,则服务器120接收到的特效渲染指令来自观众终端等。
其中,特效渲染指令中包括特效标识,特效标识用于唯一标识特效资源。
示意性的,直播界面提供多个特效控件,每一个特效控件分别对应一个特效标识,该特效标识用于唯一表征该特效控件所指示的特效资源;基于对特效控件的选择确定特效标识,进而生成包括该特效标识的特效渲染指令。其中,特效渲染指令用于将特效资源应用于直播视频流。
在一些实施例中,服务器120基于特效渲染指令中的特效标识,获取特效标识表征的第一特效资源。示意性的,由服务器120缓存多个特效资源,服务器120根据特效标识能够确定所需要应用于直播视频流的第一特效资源。
在一些实施例中,服务器120在确定第一特效资源后,将第一特效资源应用于直播视频流并生成特效视频流。
其中,由服务器120执行获取特效资源以及将特效资源应用于直播视频流的过程,从而借助终端(主播终端110和观众终端)之外具有更高算力的服务器120对实现更高速的特效渲染过程。
基于将第一特效资源应用于直播视频流的特效渲染过程,使得服务器120得到特效视频流,该特效视频流用于发送至处于直播间内的至少一个终端。
示意性的,处于直播间内的至少一个终端包括上述主播终端110和观众终端中的至少一个。
可选地,至少一个终端用于渲染特效视频流并显示具有特效的直播画面。
示意性的,至少一个终端在接收到特效视频流后,将特效视频流在当前终端进行渲染过程,从而使得终端界面显示具有特效的直播画面,该特效即为第一特效资源对应的特效内容。
值得注意的是,上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)以及大数据和人工智能平台等基础云计算服务的云服务器。上述终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
其中,云技术(Cloud technology)是指在广域网或局域网内将硬件、应用程序、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络***的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台***进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的***后盾支撑,只能通过云计算来实现。
在一些实施例中,上述服务器还可以实现为区块链***中的节点。
结合上述名词简介和应用场景,对本申请提供的直播画面的渲染方法进行说明,以该方法应用于服务器为例进行说明,如图2所示,该方法包括如下步骤210至步骤240。
步骤210,获取直播视频流。
其中,直播视频流是基于主播终端采集的视频数据生成的视频流。
示意性的,主播终端是主播对象使用的终端,主播对象是发起直播的对象,或者,主播对象是出现在直播中的对象等。
可选地,以主播对象为发起直播的对象为例,主播终端对应有直播功能,直播功能用于通过直播终端建立直播间以进行直播过程。
示意性的,直播功能是主播终端自带的***功能,主播对象使用主播终端发起直播并建立直播间;或者,直播功能是主播终端通过下载直播应用程序后具备的功能,主播对象使用主播终端进入直播应用程序并发起直播,从而建立直播间;或者,直播功能是主播终端下载的某款应用程序内置的小程序功能,主播对象使用主播终端进入该款应用程序的小程序并发起直播,从而建立直播间等。
在通过直播间进行直播的过程中,主播终端会基于主播对象对开启摄像头的授权,获取到摄像头采集到的视频数据;此外,主播终端还可以基于主播对象对开启麦克风的授权,获取到麦克风采集到的音频数据作为视频数据的组成部分等。可选地,上述摄像头和麦克风既可以实现为主播终端自身配置的组件,也可以实现为主播终端外接的组件。
示意性的,主播终端基于摄像头的开启,会在一定时间段内采集到存在时间序列的多个视频帧,将具有时序关系的多个视频帧作为视频数据;或者,主播终端基于摄像头和麦克风开启,会在一定时间段内采集到存在时间序列的多个视频帧以及多个音频帧,将具有时序关系的多个视频帧以及具有时序关系的多个音频帧作为视频数据等。
可选地,主播终端在获取得到多个视频帧组成的视频数据后,基于时序关系对多个视频帧进行组合得到直播视频流;或者,主播终端在获取得到多个视频帧和多个音频帧组成的视频数据后,基于时序对齐关系对多个视频帧和多个音频帧进行组合,从而得到直播视频流。
其中,直播视频流用于表征直播间内的直播画面。
示意性的,直播间是基于主播对象发起直播而组建的虚拟房间,该直播间对应显示有通过主播对象的主播终端采集得到的直播画面,该直播画面即为直播视频流;此外,发起直播的主播对象还可以在线邀请其他主播对象共同参与直播,则直播间内除包括发起直播的主播对象外,还包括其他主播对象,其他主播对象对应的主播终端也会采集得到直播画面,综合两个直播画面得到直播视频流等。
在一些实施例中,主播终端基于视频数据生成直播视频流后,将直播视频流发送至服务器,从而使得服务器获取得到直播视频流。
可选地,主播终端将直播视频流发送至直播平台,从而使得直播平台获取得到直播视频流。
在一些实施例中,主播终端采集得到视频数据后,直接将视频数据发送至服务器,从而由服务器对视频数据进行编码处理,从而得到直播视频流。
步骤220,获取特效渲染指令。
特效渲染指令是用于实现特效渲染过程的指令,即:特效渲染指令是针对特效进行渲染的指令。特效包括文字特效、表情特效、图像特效等多种特效类型;特效既可以实现为静态特效,也可以实现为动态特效。
在一些实施例中,特效渲染指令是基于对直播界面中的特效内容进行特效触发操作生成的指令。
可选地,直播界面既可以实现为主播终端显示的界面,也可以实现为观众终端显示的界面。例如:特效渲染指令来自主播终端时,特效渲染指令是基于主播对象对主播终端显示的直播界面中的特效内容进行特效触发操作而生成的指令;特效渲染指令来自观众终端时,特效渲染指令是基于观众对象对观众终端显示的直播界面中的特效内容进行特效触发操作而生成的指令。
其中,特效内容用于通过特效标识表征的特效资源渲染得到特效。也即:特效触发操作用于通过触发特效内容显示与特效内容对应的特效。例如:针对直播界面中的区域A进行触发显示星星特效,将该触发操作作为特效触发操作。
示意性的,特效触发操作是在实现不同直播功能的同时伴随显示特效的操作。例如:针对直播界面中的区域B进行触发以实现点赞功能,同时点赞功能会伴随显示“点赞特效”,将该触发操作作为特效触发操作。
可选地,特效触发操作包括控件触发操作、手势触发操作、语音触发操作等多种触发形式,此处不加以限定。
在一些实施例中,特效渲染指令来自主播终端和观众终端中的至少一种终端。
示意性的,观众终端是直播间内多个终端中除主播终端外的终端,观众终端对应观众对象,观众对象以观看直播的方式参与直播间。观众对象在直播间内与主播对象或者其他观众对象互动;主播对象也可以在直播间内与观众对象或者与其共同直播的主播对象进行互动。
可选地,以特效渲染指令来自主播终端为例进行说明。
示意性的,主播终端上显示的直播界面,直播界面上分布有多个功能区域,不同功能区域用于实现不同的直播功能。例如:多个功能区域包括评论功能区域,用于触发实现评论功能,以实现发布评论内容的目的;多个功能区域包括账号关注区域,用于触发实现账号关注功能,以实现对当前主播对象进行关注的目的;多个功能区域包括礼物赠送区域,用于触发实现赠送礼物的功能,以实现向主播对象赠送礼物的目的;多个功能区域包括点赞区域,用于触发实现点赞功能,以实现为主播对象和直播间点赞,增加主播对象和直播间人气的目的等。
可选地,基于直播间的默认配置或者终端使用对象(如主播对象、观众对象等)的自定义配置过程,在针对部分功能区域进行触发以实现相应功能时,需要伴随显示特效内容。例如:针对点赞区域进行触发时,需要伴随显示“拇指特效”和/或“爱心特效”等;针对礼物赠送区域进行触发时,需要伴随显示“礼物赠送特效”和/或“所赠送的礼物特效”等。
示意性的,主播终端显示直播界面后,当主播对象针对其中需要伴随显示特效内容的区域进行触发时,主播终端生成特效渲染指令。
同理,以特效渲染指令来自观众终端为例进行说明,观众终端在观看直播间时,会显示直播间对应的直播界面,其中包括部分功能区域进行触发以实现相应功能时,需要伴随显示特效内容;当观众对象针对其中需要伴随显示特效内容的区域进行触发时,观众终端生成特效渲染指令。
可选地,观众终端显示的直播界面可能与主播终端显示的直播界面相同,也可能与主播终端显示的直播界面不同,此处不加以限定。
其中,特效渲染指令中包括特效标识;特效标识用于唯一标识特效资源。
示意性的,在生成特效渲染指令时,其中包含用于区别不同特效资源的特效标识,不同的特效资源用于表征渲染得到不同特效内容的数据资源。
例如:将针对点赞区域进行的触发操作作为特效触发操作,该点赞区域对应的特效内容为“爱心特效”,需要通过“爱心特效”对应的特效资源1渲染得到,则若需要基于特效渲染指令显示“爱心特效”,在特效渲染指令中需要包括表征“爱心特效”的特效标识a,特效标识a用于唯一表征特效资源1。
同理,将针对礼物赠送区域进行的触发操作作为特效触发操作,若该礼物赠送区域对应的特效内容基于所赠送的礼物而存在差别,则若基于特效渲染指令显示的特效内容为“所赠送的礼物”,该特效内容需要通过“所赠送的礼物”对应的特效资源2渲染得到,则在特效渲染指令中需要包括表征“所赠送的礼物”的特效标识b,特效标识b用于唯一表征特效资源2等。
基于上述特效渲染指令和其中包括的特效标识之间的关系,若需要得到具有特效的直播画面,则需要在直播视频流的基础上增加特效内容,也即:特效渲染指令用于将特效资源应用于直播视频流。
在一些实施例中,主播终端可以发送特效渲染指令,观众终端也可以发送特效渲染指令;两种终端发送特效渲染指令时,既可以同时发送,也可以依次发送等。
步骤230,基于特效渲染指令中的特效标识,获取特效标识表征的第一特效资源。
示意性的,在获取得到特效渲染指令后,从特效渲染指令中获取特效标识。
可选地,特效标识存储在特效渲染指令中的预设位置处,则在从特效渲染指令中获取特效标识时,从特效渲染指令中的该预设字段位置处读出特效标识。
在一些实施例中,服务器端用于缓存多个特效资源,多个特效资源分别对应标注有特效标识;在获取得到特效渲染指令中的特效标识后,将该特效标识与多个特效资源分别标注的特效标识进行比较,以从多个特效资源中确定特效渲染指令中的特效标识所表征的第一特效资源。
步骤240,将第一特效资源应用于直播视频流,生成特效视频流。
示意性的,在确定所需要应用的第一特效资源后,将第一特效资源应用于直播视频流,从而生成特效视频流。
可选地,基于第一特效资源生成特效动画,将特效动画应用于直播视频流,从而生成特效视频流。例如:在生成特效动画后,确定当前时刻直播视频流对应的当前时间戳,从而从当前时间戳开始将特效动画应用于直播视频流,并得到特效视频流。
示意性的,特效视频流用于表征将特效资源应用于直播视频流后得到的视频流。
其中,特效视频流用于发送至处于直播间内的至少一个终端。
可选地,至少一个终端为当前处于直播间内的终端。例如:至少一个终端实现为主播终端和正在观看直播间的多个观众终端。
可选地,至少一个终端为当前处于直播间内且发送特效渲染指令的终端。例如:当前处于直播间内的多个终端为终端1、终端2以及终端3;其中接收到特效触发操作并发送特效渲染指令的终端为终端1,则将终端1作为用于接收特效视频流的至少一个终端。
其中,至少一个终端用于渲染特效视频流并显示具有特效的直播画面。
示意性的,在至少一个终端接收到特效视频流后,每一个终端基于画面渲染功能对特效视频流进行渲染,以显示具有特效的直播画面。
其中,具有特效的直播画面即实现为应用了第一特效资源的直播画面,从而在单调的直播画面上额外显示有第一特效资源所表征的特效内容,丰富画面的显示元素,提升直播画面的层次感。
综上所述,获取基于主播终端采集的视频数据生成的直播视频流,以及获取包括特效标识的特效渲染指令,终端之外的设备基于特效渲染指令中的特效标识获取特效标识表征的第一特效资源,从而将第一特效资源应用于直播视频流并生成特效视频流。通过上述方法,将特效资源获取过程以及特效渲染过程交由服务器执行,避免需要适配不同终端导致配置难度较大的问题,还能够避免终端需要实时更新最新安装包才能对特效进行完全呈现的问题;处于直播间内的至少一个终端直接通过接收已经应用特效资源的特效视频流,并对特效视频流进行渲染,即可高效且流畅地显示具有特效的直播画面。
在一个可选的实施例中,在将第一特效资源应用于直播视频流时,首先基于第一特效资源获取得到特效画面帧,进而将特效画面帧应用于直播视频流,从而得到特效视频流。示意性的,如图3所示,上述图2所示出的步骤240还可以实现为如下步骤310至步骤330。
步骤310,获取特效渲染帧率。
其中,特效渲染帧率用于表征在渲染特效资源时每秒显示的特效画面帧的画面帧数量,帧率的单位是“每秒传输帧数”,英文全称为Frame Per Second,简称为FPS。
示意性的,特效画面帧用于与直播视频流的直播画面帧结合得到特效视频流。也即:特效画面帧是用于组成特效的画面帧。
可选地,特效渲染帧率是预先设定的数值。如:预设特效渲染帧率为120FPS,则代表每秒显示的特效画面帧的画面帧数量为120张。
可选地,特效渲染帧率是基于特效资源而确定的数值。例如:不同的特效资源各自对应有一个特效渲染帧率,在获取得到第一特效资源后,确定第一特效资源对应的特效渲染帧率等。
步骤320,基于第一特效资源和特效渲染帧率,生成用于展现第一特效资源的多个特效画面帧。
其中,多个特效画面帧之间具有时序关系,多个特效画面帧用于组成特效并显示特效画面。
示意性的,依照特效渲染帧率表征的帧率速度,实时渲染出一帧一帧的特效画面帧,从而得到多个特效画面帧。
步骤330,将多个特效画面帧应用于直播视频流,生成特效视频流。
在一个可选的实施例中,基于时序关系对多个特效画面帧进行组合,得到与第一特效资源对应的特效画面。
其中,特效画面对应特效时长,特效时长是显示特效的时间段长度。
示意性的,多个特效画面帧之间存在时序关系,从而才能对多个特效画面帧进行组合。也即:在时间序列上,对具有时序关系的多个特效画面帧进行排列组合,从而得到与第一特效资源对应的特效画面。
在一个可选的实施例中,将特效画面应用于直播视频流,得到特效视频流。
可选地,在得到特效画面后,将特效画面作为顶层图层,将直播视频流作为底层图层,从而将特效画面应用于直播视频流,并得到特效视频流。
在一些实施例中,从直播视频流对应的时间轴中,确定开始应用特效画面帧的第一时间戳;从第一时间戳开始,将特效画面应用于直播视频流,得到特效视频流。
其中,特效视频流的时长为特效时长。
在一个可选的实施例中,从直播视频流中,确定应用多个特效画面帧的多个直播画面帧。
其中,多个直播画面帧与多个特效画面帧一一对应,相邻两个直播画面帧之间的间隔时长基于特效渲染帧率确定。
示意性的,从直播视频流对应的时间轴中,确定开始应用特效画面帧的第一时间戳。
在一些实施例中,开始应用特效画面帧的第一时间戳可以实现为当前时刻。
示意性的,将生成特效画面的时刻作为当前时刻,从而对接收到的直播视频流进行分析,以确定当前时刻下直播视频流对应的第一时间戳;或者,将生成第一个特效画面帧的时刻作为当前时刻,从而对接收到的直播视频流进行分析,以确定当前时刻下直播视频流对应的第一时间戳;或者,将接收到特效渲染指令的时刻作为当前时刻,从而对接收到的直播视频流进行分析,以确定当前时刻下直播视频流对应的第一时间戳。
在一些实施例中,开始应用特效画面帧的第一时间戳还可以实现为选定时刻。
示意性的,在特效渲染指令中包括选定时刻,选定时刻是基于主播对象或者观众对象的特效触发操作确定的时刻,是对显示特效的时刻进行配置后确定的时刻。
可选地,选定时刻为未来的某一时刻。例如:当前时刻为10点20分零30秒,选定时刻为10点25分整等。
在一些实施例中,从第一时间戳开始,确定应用多个特效画面帧的多个直播画面帧。示意性的,直播画面帧是组成直播视频流的画面帧,多个直播画面帧是从第一时间戳开始确定的多个画面帧。
其中,从第一时间戳开始确定多个时间戳,每一个时间戳分别对应一个直播画面帧和一个特效画面帧,也即:多个时间戳与多个直播画面帧一一对应,多个时间戳与多个特效画面帧一一对应,第一时间戳对应第一个特效画面帧,多个直播画面帧中的第一个直播画面帧,也就是应用第一个特效画面帧的直播画面帧。
示意性的,基于相邻两个特效画面帧之间的间隔时长是基于特效渲染帧率确定的,因此相邻两个直播画面帧之间的间隔时长也基于特效渲染帧率确定的,同理,相邻两个时间戳之间的间隔时长也基于特效渲染帧率确定的。
例如:特效渲染帧率为60FPS,则代表一秒显示60个特效画面帧,则相邻两个直播画面帧之间的间隔时长为1/60秒;同理,相邻两个特效画面帧之间的间隔时长也为1/60秒,相邻两个时间戳之间的间隔时长也为1/60秒等。
在一个可选的实施例中,将多个特效画面帧分别应用于对应的直播画面帧,得到多个特效视频画面帧。
其中,特效视频画面帧用于生成特效视频流。
示意性的,第一个特效画面帧应用于多个直播画面帧中的第一个直播画面帧,同理,将第n个特效画面帧应用于多个直播画面帧中的第n个直播画面帧,n为大于1的正整数。可选地,将应用了特效画面帧的直播画面帧称为特效视频画面帧,基于多个特效画面帧分别应用于多个直播画面帧的过程,得到与多个特效画面帧分别对应的特效视频画面帧,也即得到与多个直播画面帧分别对应的特效视频画面帧。
在一个可选的实施例中,基于时序关系对多个特效视频画面帧进行组合,生成特效视频流。
示意性的,多个特效画面帧与多个特效视频画面帧一一对应,因此多个特效画面帧的时序关系也即多个特效画面帧的时序关系,从而能够基于时序关系对多个特效视频画面帧进行组合,生成特效视频流。
可选地,还可以基于直播视频流对应的时间轴,依照时间序列组合多个特效视频画面帧,生成特效视频流。
其中,特效视频流的时长为特效时长。也即:用于显示具有特效的直播画面的特效视频流的时长,与特效画面对应的特效时长的时间段长度相同。
示意性的,在确定第一时间戳后,在将特效画面帧应用于直播视频流中的多个直播画面帧时,从第一时间戳开始对将特效画面帧应用于对应直播画面帧,从而得到上述特效时长的特效视频流。示意性的,特效时长为预先设定的时长,如2秒、3秒等。
在一个可选的实施例中,在一些实施例中,在将最后一个特效画面帧应用于多个直播画面帧中的最后一个直播画面帧后,即可确定应用了多个特效画面帧的一个视频片段,可以将应用了特效画面帧的该视频片段称为特效视频流。
可选地,将特效视频流发送至处于直播间内的至少一个终端,以使得至少一个终端渲染特效视频流并显示具有特效的直播画面。
在一些实施例中,在将特效画面帧应用于直播视频流后,得到用于组成特效视频流的特效视频画面帧,多个特效画面帧与用于组成特效视频流的多个特效视频画面帧一一对应,为便于尽快在至少一个终端显示具有特效的直播画面,将应用多个特效画面帧后得到的多个特效视频画面帧依次发送至至少一个终端,从而使得至少一个终端能够通过对多个特效视频画面帧的依次渲染过程,以得到更快速呈现的、具有特效的直播画面。
值得注意的是,以上仅为示意性的举例,本申请实施例对此不加以限定。
综上所述,将特效资源获取过程以及特效渲染过程交由终端之外的设备执行,避免需要适配不同终端导致配置难度较大的问题,还能够避免终端需要实时更新最新安装包才能对特效进行完全呈现的问题;处于直播间内的至少一个终端直接通过接收已经应用特效资源的特效视频流,并对特效视频流进行渲染,即可高效且流畅地显示具有特效的直播画面。
在本申请实施例中,介绍了在将第一特效资源应用于直播视频流时,首先基于第一特效资源以及特效渲染帧率获取得到特效画面,进而将特效画面应用于直播视频流以得到特效视频流。避免由终端自身执行特效渲染过程时可能存在的卡顿、低效问题,还可以通过将组成特效画面的特效画面帧实时应用于直播视频流中的直播画面帧的方式,实时获取到组成特效视频流的特效视频画面帧,进而通过特效视频画面帧发送至至少一个终端的方式,使得至少一个终端能够基于特效视频画面帧实时展现具有特效的直播画面,充分提高了特效渲染效率,具备较高的人机交互效率。
在一个可选的实施例中,上述直播画面的渲染方法应用于直播画面的渲染***,直播画面的渲染***用于缓存多个特效资源,多个特效资源分别对应标注有特效标识。在接收到特效渲染指令后,将特效渲染指令中的特效标识与直播画面的渲染***中已存储的至少一个特效资源分别对应标注的特效标识进行比较,从而获取得到的第一特效资源。示意性的,如图4所示,上述图2所示出的步骤230由直播画面的渲染***执行,上述步骤230还可以实现为如下步骤410至步骤432。
步骤410,基于特效渲染指令中的特效标识,查找已存储的至少一个特效资源。
示意性的,直播画面的渲染***用于缓存多个特效资源,每个特效资源分别标注有特效标识,特效标识用于唯一标识特效资源。
在一些实施例中,直播画面的渲染***已存储有至少一个特效资源,当接收到特效渲染指令并确定特效渲染指令中的特效标识后,基于该特效标识对至少一个特效资源分别对应的特效标识进行查找,由于每个特效资源对应一个特效标识,因此该过程可以视为对至少一个特效标识进行查找的过程。
可选地,对至少一个特效资源进行查找后得到查找结果,查找结果包括如下情形中的至少一种。
(1)查找结果指示直播画面的渲染***直播画面的渲染***存储的特效资源所标注的特效标识中,包括特效渲染指令中的特效标识。
示意性的,直播画面的渲染***存储至少一个特效资源,至少一个特效资源分别对应标注一个特效标识,对至少一个特效标识进行查找,当确定直播画面的渲染***至少一个特效标识中包括特效渲染指令中的特效标识,确定一种查找结果。
(2)查找结果指示直播画面的渲染***存储的特效资源所标注的特效标识中,不包括特效渲染指令中的特效标识。
示意性的,直播画面的渲染***存储至少一个特效资源,至少一个特效资源分别对应标注一个特效标识,对至少一个特效标识进行查找,当确定直播画面的渲染***至少一个特效标识中不包括特效渲染指令中的特效标识,确定另一种查找结果。
在一个可选的实施例中,直播画面的渲染***中包括渲染服务器,渲染服务器用于缓存多个特效资源,且渲染服务器当前已经存储有至少一个特效资源。
示意性的,渲染服务器为直播画面的渲染***中的一个组成部分,直播画面的渲染***实现为云服务器集群,渲染服务器实现为其中的至少一个云服务器;或者,直播画面的渲染***实现为服务器集群,渲染服务器实现为其中的至少一个服务器,既可以是实体服务器,也可以是云服务器,还可以是实体服务器和云服务器的集合,此处不加以限定。
在一个可选的实施例中,基于查找结果获取特效标识表征的第一特效资源。
示意性的,基于查找结果的差异,采用不同的方式获取得到特效标识表征的第一特效资源。
可选地,如下步骤420或者步骤430至步骤432,为基于不同查找结果获取得到第一特效资源的方法。
步骤420,响应于查找结果指示已存储的至少一个特效资源中包括第一特效资源,从至少一个特效资源中获取第一特效资源。
可选地,将第一特效资源对应的特效标识称为第一特效标识,当查找结果指示直播画面的渲染***存储的特效资源所标注的特效标识中包括特效渲染指令中的特效标识,则代表直播画面的渲染***对应的至少一个特效标识中包括第一特效标识。
示意性的,基于直播画面的渲染***中存储的至少一个特效资源中存在标注有第一特效标识的特效资源,则在获取第一特效资源时,从至少一个特效资源中获取标注有第一特效标识的特效资源作为第一特效资源。
其中,第一特效标识即为特效渲染指令中包括的、用于获取第一特效资源的特效标识。
步骤430,响应于查找结果指示已存储的至少一个特效资源中不包括第一特效资源,生成特效资源获取请求。
可选地,将第一特效资源对应的特效标识称为第一特效标识,当查找结果指示直播画面的渲染***存储的特效资源所标注的特效标识中不包括特效渲染指令中的特效标识,则代表直播画面的渲染***对应的至少一个特效标识中不包括第一特效标识。
由于直播画面的渲染***未存储有第一特效资源,因此直播画面的渲染***若需要通过第一特效资源在本端进行特效渲染过程,需要基于特效渲染指令中的特效标识获取第一特效资源。
可选地,直播画面的渲染***为获取第一特效资源,生成特效资源获取请求,特效资源获取请求用于从特效资源持有方获取第一特效资源。
示意性的,特效资源持有方为持有特效资源的对象。
在一些实施例中,直播过程是基于直播应用程序进行的过程,直播应用程序由直播平台所运行,直播平台负责开发直播应用程序并丰富完善直播应用程序,其中包括提供直播应用程序内的特效资源。可选地,特效资源持有方实现为用于开发和维护特效资源的直播平台,如:直播APP的应用后台等。
在一些实施例中,直播过程中所应用的特效资源是资源开发对象设计并上架至直播间的资源。可选地,特效资源持有方实现为用于设计并上架特效资源的资源开发对象等。
在一个可选的实施例中,特效资源获取请求中包括用于获取第一特效资源的特效标识。
示意性的,用于获取第一特效资源的特效标识为第一特效标识,在生成特效资源获取请求时,将第一特效标识写入特效资源获取请求;或者,将第一特效标识与特效资源获取请求建立绑定关系等。
可选地,特效资源获取请求除用于获取第一特效资源外,还用于对当前时刻下为存储的特效资源一同获取。
例如:直播画面的渲染***中存储有特效资源1和特效资源2,特效渲染指令中包括的特效标识用于获取特效资源3,直播画面的渲染***在生成特效资源获取请求时,除用于获取特效资源3外,还用于将已经生成但未存储在本端的特效资源拉取至本端。如特效资源持有方生成有特效资源1、特效资源2、特效资源3以及特效资源4,则特效资源获取请求还用于将特效资源4拉取至本端进行存储。
值得注意的是,以上仅为示意性的举例,本申请实施例对此不加以限定。
步骤431,将特效资源获取请求发送至特效资源持有方。
示意性的,在直播画面的渲染***生成特效资源获取请求后,将特效资源获取请求发送至特效资源持有方。
可选地,当特效资源持有方实现为用于开发和维护特效资源的直播平台,将特效资源获取请求发送至直播平台,以从直播平台处获得未存储在本端的第一特效资源。
步骤432,接收特效资源持有方发送的第一特效资源。
在一些实施例中,特效资源获取请求中包括第一特效标识。
可选地,特效资源持有方在接收到特效资源获取请求后,读取特效资源获取请求中的第一特效标识,进而基于第一特效标识从生成的多个特效资源中确定第一特效资源,并将第一特效资源发送至直播画面的渲染***。
示意性的,在直播画面的渲染***生成特效资源获取请求时,将第一特效标识写入特效资源获取请求指定位置,并将特效资源获取请求发送至特效资源持有方。特效资源持有方在接收到特效资源获取请求后,针对其中的指定位置进行读取,从而得到第一特效标识。基于特效资源持有方持有多个特效资源,因此特效资源持有方能够基于第一特效标识对多个特效资源进行查找,以从中找到标注有第一特效标识的特效资源,该特效资源即为第一特效资源。
在一些实施例中,特效资源获取请求中包括直播画面的渲染***存储的至少一个特效资源分别对应的特效标识。
可选地,特效资源持有方在接收到特效资源获取请求后,读取特效资源获取请求中的至少一个特效标识;之后将至少一个特效标识与生成的多个特效资源分别对应的特效标识进行比较,从而确定至少一个特效标识之外的其他特效标识,并将与其他特效标识对应的特效资源发送至直播画面的渲染***,其中包括第一特效资源。
示意性的,在直播画面的渲染***生成特效资源获取请求时,将直播画面的渲染***存储的至少一个特效资源分别对应的特效标识写入特效资源获取请求指定位置,并将特效资源获取请求发送至特效资源持有方。例如:直播画面的渲染***存储有三个特效资源,分别为特效资源A、特效资源B以及特效资源C,三个特效资源分别对应的特效标识包括与特效资源A对应的特效标识a,与特效资源B对应的特效标识b,以及与特效资源C对应的特效标识c,将特效标识a、特效标识b以及特效标识c写入特效资源获取请求的指定位置,并向特效资源持有方发送特效资源获取请求。
示意性的,特效资源持有方在接收到特效资源获取请求后,针对其中的指定位置进行读取,从而根据三个特效标识知悉直播画面的渲染***存储的三个特效资源;基于特效资源持有方持有多个特效资源,因此特效资源持有方将三个特效标识与持有的多个特效资源分别标注的特效标识进行比较,从而能够确定三个特效标识之外的其他特效标识。例如:特效资源持有方持有特效资源A、特效资源B、特效资源C、特效资源D以及特效资源E;将读取得到的特效标识a、特效标识b以及特效标识c与五个特效资源分别对应的特效标识进行比较,从而三个特效标识之外的其他特效标识包括与特效资源D对应的特效标识d,以及与特效资源E对应的特效标识e。
示意性的,特效资源持有方将三个特效标识之外的其他特效标识所表征的特效资源发送至直播画面的渲染***,以使得直播画面的渲染***更新当前存储的特效资源,获得之前未存储在本端的特效资源D以及特效资源E。
基于特效资源持有方持有与直播过程相关的特效资源,因此直播画面的渲染***在通过特效资源持有方更新并增加存储之前未存储在本端的特效资源后,能够满足当前特效渲染指令的需求,获取到特效渲染指令中的特效标识表征的第一特效资源,即:最新从特效资源持有方获取并存储的其他特效资源中包括第一特效资源。
值得注意的是,以上仅为示意性的举例,本申请实施例对此不加以限定。
在一个可选的实施例中,获取特效资源持有方发送的特效资源包。
其中,特效资源包是特效资源持有方基于特效资源更新过程自动向直播画面的渲染***发送的数据包,特效资源包中包括多个补充特效资源。
其中,补充特效资源包括新增特效资源和更新特效资源中的至少一种。
示意性的,当特效资源持有方在开发或者生成新的特效资源后,为了便于直播画面的渲染***能够基于特效渲染指令更快速地进行特效渲染过程,特效资源持有方自发地向直播画面的渲染***发送特效资源包,以将新增特效资源发送至直播画面的渲染***。
示意性的,当特效资源持有方在对已有的特效资源进行更新后(如:样式更新、颜色更新等),为了便于直播画面的渲染***能够基于特效渲染指令更准确地进行特效渲染过程,特效资源持有方自发地向直播画面的渲染***发送特效资源包,以将更新特效资源发送至直播画面的渲染***等。
在一个可选的实施例中,将特效资源包存储在直播画面的渲染***中。
示意性的,直播画面的渲染***在接收到特效资源包后,将特效资源包存储在用于存储特效资源的指定存储位置;或者,直播画面的渲染***在接收到特效资源包后,从中获取发送的多个特效资源,进而将多个特效资源存储在用于存储特效资源的指定存储位置等。
值得注意的是,以上仅为示意性的举例,本申请实施例对此不加以限定。
综上所述,将特效资源获取过程以及特效渲染过程交由终端之外的设备执行,避免需要适配不同终端导致配置难度较大的问题,还能够避免终端需要实时更新最新安装包才能对特效进行完全呈现的问题;处于直播间内的至少一个终端直接通过接收已经应用特效资源的特效视频流,并对特效视频流进行渲染,即可高效且流畅地显示具有特效的直播画面。
在本申请实施例中,介绍了直播画面的渲染***用于缓存多个标注有特效标识的特效资源,从而在直播画面的渲染***获取到特效渲染指令后,能根据其中的特效标识对本端存储的特效资源进行查找,以便将第一特效资源快速应用于直播视频流;即便本端未存储有特效渲染指令中的特效标识对应的特效资源,也可以通过特效资源获取请求向特效资源持有方获取第一特效资源,并在直播画面的渲染***完成将第一特效资源应用于直播视频流的过程。通过上述差异性的处理方式,不仅提升了将第一特效资源应用于直播视频流的应用效率,也借由直播画面的渲染***完成资源存储、资源处理等存储空间较大且算力较大的过程,避免终端性能导致渲染可能存在纰漏的问题,进一步提升渲染准确性以及渲染速度。
在一个可选的实施例中,上述直播画面的渲染方法应用于直播画面的渲染***,直播画面的渲染***中包括视频混流服务器和渲染服务器,通过渲染服务器生成特效动画,进而通过视频混流服务器将直播视频流和特效动画进行混流,从而得到特效视频流。示意性的,如图5所示,上述图2所示出的实施例由直播画面的渲染***执行,直播画面的渲染***包括视频混流服务器510和渲染服务器520。
视频混流服务器510
示意性的,视频混流服务器510既可以实现为实体服务器,也可以实现为云服务器,此处不加以限定。
在一个可选的实施例中,视频混流服务器510用于获取直播视频流。
其中,直播视频流是基于主播终端采集的视频数据生成的视频流。
示意性的,主播终端是主播对象使用的终端,主播终端基于主播对象的授权,通过摄像机采集视频数据,并生成直播视频流。
在一些实施例中,获取主播终端发送的直播视频流。
示意性的,主播终端采集得到视频数据后,对视频数据进行编码处理,从而得到直播视频流。
在一些实施例中,获取主播终端发送的视频数据;基于视频数据生成直播视频流。
示意性的,主播终端采集得到视频数据后,直接将视频数据发送至视频混流服务器510,从而视频混流服务器510对视频数据进行编码处理,从而得到直播视频流。
主播终端将直播视频流发送至直播画面的渲染***上部署的视频混流服务器510中。视频混流服务器510用于对直播视频流进行混流处理和转播处理中的至少一种。
示意性的,混流处理用于对直播视频流进行视频处理过程,以使得处理后的视频流能够符合主播对象和观众对象的预期,如:基于主播对象和/或观众对象的操作,为直播视频流增加文字注释、渲染特效内容、压缩视频内存、改变视频样式(如尺寸、色彩度)等。
示意性的,转播处理用于对直播视频流和/或经过视频处理后的视频流进行转播过程,以转发至除主播终端以外的其他终端,便于除主播对象以外的观众对象对直播过程进行观看。可选地,在转播处理过程中,可以通过更改转播地址(如:直播间内新增观众终端、减少观众终端、主播终端结束直播等)、更改转播形式(如:视频压缩形式变化等)、更改转播方式(如:实时转播、延时转播、定时转播等)等进行转播形式的变化。
在一些实施例中,主播终端通过直播应用程序实现直播过程,在主播终端生成直播视频流后,将直播视频流发送至用于建立直播间的直播应用程序的应用后台,之后由应用后台将直播视频流转播至直播画面的渲染***上部署的视频混流服务器510中。
示意性的,主播终端中安装有实现直播功能的直播应用程序,直播应用程序包括应用前端和应用后台,应用前端是向主播对象和观众对象展示的界面内容,用于表征与对象直接交互的界面,如直播界面;应用后台是通过后台管理直播应用程序的内容,面向有权限的程序开发人员、程序运营人员等。
可选地,基于主播终端借由直播应用程序进行直播过程,因此为便于直播应用程序对直播视频流进行管理,首先将基于直播应用程序通过授权摄像头采集并生成的直播视频流发送至直播应用程序的应用后台。应用后台可以对直播视频流进行认证,以对直播视频流进行筛选,如:筛选直播视频流是否合规、是否存在不符合平台要求的内容等。
示意性的,当应用后台对直播视频流认证成功(如:确定直播视频流合规等)后,将直播视频流转发至直播画面的渲染***的视频混流服务器510。
值得注意的是,以上仅为示意性的举例,本申请实施例对此不加以限定。
渲染服务器520
示意性的,渲染服务器520既可以实现为实体服务器,也可以实现为云服务器,此处不加以限定。
在一个可选的实施例中,渲染服务器用于获取特效渲染指令。
特效渲染指令是针对特效进行渲染的指令。特效包括文字特效、表情特效、图像特效等多种特效类型;特效既可以实现为静态特效,也可以实现为动态特效。
示意性的,以直播过程通过直播应用程序实现为例进行说明。如图6所示,为在直播应用程序610中为主播对象和/或观众对象提供的特效内容示意图。特效内容如右侧区域620所示,其中包括诸如“血瓶”、“火锅”、“高能预警”、“魔法书”等各种特效内容。
可选地,不同的特效内容可以渲染出不同的特效,如:当点击特效内容“火锅”后,会在直播界面中显示“咕嘟咕嘟”冒泡的虚拟火锅特效;当点击特效内容“高能预警”后,会在直播界面中显示“烟花”、“鞭炮”之类的虚拟预警特效等。
示意性的,特效渲染指令是基于特效触发操作生成的指令,特效触发操作是用于显示特效的操作。例如:直播界面中显示有如图6中区域620所示的至少一个特效内容,将针对直播界面内特效内容的选择操作作为特效触发操作,以便基于特效触发操作在直播界面中显示与特效内容对应的特效。
其中,特效渲染指令中包括特效标识,特效标识用于唯一标识特效资源。
示意性的,每一个特效内容对应一个特效标识,在通过对特效内容的选择以渲染得到特效的过程中,通过获取特效对应的特效资源实现该渲染过程。
可选地,在直播界面中显示的每一个特效内容对应一个特效资源,通过对应的特效资源渲染显示与该特效内容对应的特效。为了对不同的特效/特效内容/特效资源进行区别,通过特效标识唯一标识特效资源,也即:通过特效标识唯一标识特效内容。
示意性的,如图6中的区域620所示,“火锅”对应特效标识a,“高能预警”对应特效标识b等,不同的特效内容对应不同的特效标识。
在一些实施例中,特效渲染指令来自主播终端和观众终端中的至少一个。
示意性的,主播终端显示直播界面,主播对象基于对直播界面中特效内容的选择,有主播终端生成特效渲染指令;或者,观众终端显示直播界面,观众对象基于对直播界面中特效内容的选择,由观众终端生成特效渲染指令等。
可选地,以特效渲染指令来自观众终端为例,基于观众对象对直播界面中特效内容的选择,确定该特效内容对应的特效标识,从而在生成特效渲染指令时,生成包括特效标识的特效渲染指令,以唯一确定需要进行特效渲染过程的特效资源。
在一个可选的实施例中,渲染服务器520基于特效渲染指令中的特效标识,获取特效标识表征的第一特效资源。
示意性的,特效标识存储在特效渲染指令中的预设位置处,则渲染服务器在从特效渲染指令中获取特效标识时,从特效渲染指令中的该预设字段位置处读出特效标识。
在一些实施例中,渲染服务器中缓存有多个特效资源,多个特效资源分别对应标注有特效标识。
可选地,在获取得到特效渲染指令中的特效标识后,将该特效标识与多个特效资源分别标注的特效标识进行比较,当从多个特效标识中查找到特效渲染指令中的特效标识,确定该特效标识对应的特效资源作为第一特效资源。
可选地,在获取得到特效渲染指令中的特效标识后,将该特效标识与多个特效资源分别标注的特效标识进行比较,当从多个特效标识中未查找到特效渲染指令中的特效标识,渲染服务器生成特效资源获取请求,特效资源获取请求用于从特效资源持有方获取第一特效资源;之后,渲染服务器将特效资源获取请求发送至特效资源持有方,以从特效资源持有方处获取得到第一特效资源,该第一特效资源对应的特效标识即为特效渲染指令中的特效标识。
在一个可选的实施例中,渲染服务器在获取得到用于渲染至直播视频流上的第一特效资源后,生成与第一特效资源对应的多个特效画面帧。
在一些实施例中,获取特效渲染帧率,特效渲染帧率用于表征在渲染特效资源时每秒显示的特效画面帧的画面帧数量。
可选地,特效渲染帧率是预先设定的数值。如:预设特效渲染帧率为60FPS,则代表每秒显示的特效画面帧的画面帧数量为60张。
可选地,特效渲染帧率是基于特效资源而确定的数值。例如:不同的特效资源各自对应有一个特效渲染帧率,在获取得到第一特效资源后,确定第一特效资源对应的特效渲染帧率等。
在一些实施例中,基于第一特效资源和特效渲染帧率,生成与第一特效资源对应的特效画面。
可选地,基于第一特效资源和特效渲染帧率,生成用于展现第一资源特效的多个特效画面帧。
示意性的,依照特效渲染帧率表征的帧率速度,实时渲染出一帧一帧的特效画面帧,从而得到多个特效画面帧。
可选地,依照时间序列对多个特效画面帧进行组合,得到与第一特效资源对应的特效画面。
示意性的,多个特效画面帧之间存在时序关系,从而才能对多个特效画面帧进行组合。也即:依照时间序列对具有时序关系的多个特效画面帧进行组合,从而得到与第一特效资源对应的特效画面。
在一个可选的实施例中,将多个特效画面帧发送至视频混流服务器510。
示意性的,视频混流服务器510在用于存储直播视频流的基础上,还用于对直播视频流进行视频处理,如:通过将多个特效画面帧应用在直播视频流的方式,为直播视频流增加特效以显示具有特效的直播画面等。
视频混流服务器510
在一个可选的实施例中,视频混流服务器510还用于将多个特效画面帧应用于直播视频流,得到特效视频流。
示意性的,视频混流服务器510在接收到特效画面帧后,从直播视频流对应的时间轴中确定开始应用特效画面帧的第一时间戳,并从第一时间戳开始将特效画面帧应用于至直播视频流,从而得到特效视频流。
可选地,从当前时间戳开始将特效画面作为顶层图层,将直播视频流作为底层图层,从而实现将特效画面应用于至直播视频流的过程,得到特效视频流。
示意性的,将多个特效画面帧应用于直播视频流时,将多个特效画面帧分别应用至对应的直播画面帧,从而得到多个特效视频画面帧。
可选地,每将一个特效画面帧应用于对应的直播画面帧后,得到该特效画面帧对应的特效视频画面帧,依照特效画面帧的时序关系,将相邻的至少一个特效视频画面帧依次发送至至少一个终端,从而使得终端基于特效视频画面帧进行更加及时的渲染过程。即:至少一个终端可以基于接收到的特效画面帧进行特效渲染过程,从而更实时地展现具有特效的直播画面。
示意性的,可以将至少一个特效视频画面帧称为特效视频流,即:特效视频流中包括至少一个特效视频画面帧。从而以画面帧为分析渲染粒度,提升特效渲染效率。
在一个可选的实施例中,视频混流服务器510在得到特效视频流后,将特效视频流发送至处于直播间内的至少一个终端。
可选地,视频混流服务器510将特效视频流发送至处于直播间内的每个终端,其中包括主播终端和观众终端;每个终端都可以将特效视频流进行渲染,以显示具有特效的直播画面。
可选地,视频混流服务器510将特效视频流发送至发送特效渲染指令的终端。例如:特效渲染指令是基于观众对象通过观众终端A显示的直播界面进行特效触发操作后生成的指令,观众终端A向直播画面的渲染***中的渲染服务器520发送特效渲染指令,从而使得视频混流服务器510生成特效视频流;在对特效视频流发送时,将特效视频流发送至观众终端A,从而使得观众终端A可以将特效视频流进行渲染,以显示具有特效的直播画面;其他终端由于未收到特效视频流,因此仍然显示没有特效的直播画面等。
可选地,视频混流服务器510将特效视频流发送至主播终端和发送特效渲染指令的终端(如上述的观众终端A),从而使得主播终端和观众终端A可以将特效视频流进行渲染,以显示具有特效的直播画面;其他终端由于未收到特效视频流,因此仍然显示没有特效的直播画面等。
在一些实施例中,特效渲染指令中包括终端标识。获取特效渲染指令中的终端标识。
其中,终端标识用于指示接收特效视频流的至少一个终端,所述终端标识是基于特效触发操作时被选择的至少一个终端确定的标识。
示意性的,渲染服务器520除向视频混流服务器510发送特效画面外,还向视频混流服务器510转发特效渲染指令;或者,渲染服务器520除向视频混流服务器510发送特效画面外,还将从特效渲染指令中读取的终端标识发送至视频混流服务器510。以使得视频混流服务器510能够知悉终端标识。
可选地,将终端标识所表征的至少一个终端称为特效触发终端。
示意性的,特效触发终端用于表征应用特效的终端。可选地,终端标识实现为发送特效渲染指令的终端所标注的标识信息。也即:该终端标识指示将特效视频流发送至发出特效渲染指令的终端,该终端为特效触发终端。
可选地,终端标识实现为特效渲染指令针对的终端所标注的标识信息。
示意性的,特效渲染指令是观众终端A发出的指令,该特效渲染指令的目的是将特效显示在主播终端对应的直播界面上,如为主播对象赠送礼物、向主播对象发送鼓励的话语等;若操作观众终端A的观众对象希望该特效能够仅仅显示的主播终端对应的直播界面上(如:私下赠送礼物等),则可以特效触发操作的过程中,选择主播终端作为特效触发终端,并在生成特效渲染指令时将主播终端对应的终端标识写入特效渲染指令;同理,若操作观众终端A的观众对象希望将礼物或者其他特效应用在观众终端B的直播界面上,则可以特效触发操作的过程中,选择观众终端B作为特效触发终端,并在生成特效渲染指令时将观众终端B对应的终端标识写入特效渲染指令等。
在一些实施例中,视频混流服务器510基于终端标识,将特效视频流发送至特效触发终端。
示意性的,基于特效视频流由所选择的特效触发终端所选择性地接收,从而能够更针对性地在特效触发终端上渲染特效视频流并显示具有特效的直播画面。
值得注意的是,上述特效触发终端是经过授权才被选择的终端。
示意性的,在选择特效触发终端的过程中,向所选择的终端发送请求信息,请求信息用于请求是否同意显示其他终端为其选择的特效,若所选择的终端同意,则可以将该终端作为特效触发终端。例如:在观众终端A选择特效触发终端的过程中,向所选择的观众终端B发送请求信息,若所选择的观众终端B同意,则可以将观众终端B作为特效触发终端。
可选地,被选择的终端也可以经对象许可设置为允许显示状态等,以上仅为示意性的举例,本申请实施例对此不加以限定。
也即:特效视频流既可以平等地发送至处于直播间内的每一个终端,也可以差异性地发送至个别终端(如上述发送特效渲染指令的终端),此处仅为示意性的举例,本申请实施例对此不加以限定。
在一些实施例中,特效触发操作除可以对上述特效内容进行选择、对至少一个终端进行选择外,该可以对特效显示的位置(特效位置)、特效显示的尺寸(特效尺寸)等特效属性进行配置。
示意性的,在特效触发操作中配置特效位置(如:显示在直播界面的下方、显示在直播界面中心等),和/或,在特效触发操作中配置特效尺寸(如:特效尺寸较大、特效尺寸较小等)等。
可选地,将特效属性写入特效渲染指令中,从而使得直播画面的渲染***在基于特效渲染指令将特效资源应用在直播视频流时,基于特效属性表征的信息对特效资源进行应用,从而得到符合特效属性的特效视频流,进而通过至少一个终端显示与配置的特效属性相适应的具有特效的直播画面。
值得注意的是,以上仅为示意性的举例,本申请实施例对此不加以限定。
综上所述,将特效资源获取过程以及特效渲染过程交由终端之外的设备执行,避免需要适配不同终端导致配置难度较大的问题,还能够避免终端需要实时更新最新安装包才能对特效进行完全呈现的问题;处于直播间内的至少一个终端直接通过接收已经应用特效资源的特效视频流,并对特效视频流进行渲染,即可高效且流畅地显示具有特效的直播画面。
在本申请实施例中,介绍了将上述直播画面渲染方法应用于直播画面的渲染***的内容,通过直播画面的渲染***中的视频混流服务器存储直播视频流,通过渲染服务器存储特效资源并渲染生成特效画面,进而再通过视频混流服务器将直播视频流和特效画面进行混流并得到特效视频流。通过视频混流服务器和渲染服务器,对特效渲染过程进行更细化的拆分,从而使得直播画面渲染过程的架构更加清晰,由不同的模块各自负责对应的功能,便于对直播画面的渲染***的统筹管理。
在一个可选的实施例中,对相关技术中的特效渲染过程进行如下说明。
相关技术中,在通过直播APP进行直播过程时,创建得到直播间,直播间的礼物特效都是在直播APP的终端渲染生成。
示意性的,直播间内提供的礼物特效的素材格式一般支持有图像互换格式(Graphics Interchange Format,GIF)、便携式网络动画(Animated Portable NetworkGraphics,Apng)、有损压缩与无损压缩兼备的图片文件格式(weppy,Webp)、动画渲染库Lottie、高级视频图形列阵(Super Video Graphics Array,SVGA)等。
可选地,先用设计软件设计好特效素材(特效资源),然后用特效资源制作工具将特效素材打包为各个终端支持的特效素材包,然后将这些特效素材包随直播APP安装打包后上架至应用市场,对于已经安装了直播APP的使用对象,则可以在增量更新过程中下载更新这些特效素材包。
也即:在直播APP在安装或更新过程中,即将与渲染相关的图片、视频、二维特效资源和三维特效资源等打包,并配置在安装包或更新包中,以伴随直播APP的配置信息下载至安装有直播APP的终端本地。
在直播过程中,当观众对象和主播对象之间的直播交互过程需要渲染特效时,观众终端和/或主播终端生成渲染指令。示意性的,以观众终端进行特效渲染过程为例,如图7所示,为相关技术中的特效渲染示意图。
观众终端701基于观众对象的触发操作生成渲染指令(用于开始执行渲染过程的指令),并将渲染指令发送至直播APP后端720;直播APP后端720基于渲染指令以及观众对象的触发操作确定所需要应用的特效资源的特效标识;之后,直播APP后端720生成包括特效标识的特效渲染指令,并通过电路交换(Circuit Switch,CS)信令或SEI帧信息发送至观众终端701,观众终端701收到包括特效标识的特效渲染指令后,对下载的安装包或更新包中的特效资源进行查找,以找到特效标识对应的特效资源,并在本地加载特效标识对应的特效资源,从而在界面上渲染显示具有特效的直播画面。
也即:通过APP后端把需要呈现或展示的特效资源(图片、视频效果等)的资源索引ID(资源索引ID即特效标识)发给终端,终端收到资源索引ID后,在本地加载相关资源索引ID对应的特效资源然后渲染呈现。
上述过程存在如下问题:
(1)不同使用对象(主播对象、观众对象等)的终端硬件配置不一样,对于同一个特效资源而言,在硬件配置较差的终端就需要兼容设计一个相对渲染算力比较低的特效图片、视频、2D特效资源、3D特效资源等;或者对于渲染不出来的特效资源就不渲染,从而导致安装同一直播APP的不同终端使用对象看到的效果不一样,而且直播APP开发也需要兼容各种低端硬件配置,不仅开发难度大,开发效率以及特效显示效果也相对不理想(例如:特效制作过程中要考虑各种各样的低端机型设备兼容情况,从而导致制作渲染出来的特效效果不明显),使得直播APP的使用体验效果较差;
(2)当直播APP新增一些特效资源时,所有安装直播APP的终端都要通过更新直播APP的方式才能获取得到特效资源,如下载安装包、更新包等;然而新的直播APP的安装包随着特效资源越来越多,安装包也会越来越大,不仅占用终端的存储容量,也在一定程度上使得特效渲染效果依赖于下载过程,如果后面有新的特效资源需要更新直播APP的特效素材包时,特效资源对应的特效素材包若没有更新,即便收到对新的特效资源进行渲染的指令也无法成功渲染,使得使用对象无法看到特效渲染的呈现效果。也即:若无法在终端及时下载最新的特效资源,则无法显示相应的特效效果,影响人机交互效率;
(3)上述特效资源都是通过信令或者直播视频流的补充增强信息(SupplementalEnhancement Information,SEI)帧中的信息带来的,其中SEI属于码流范畴,提供了向视频码流中加入额外信息的方法。由于不同使用对象的网络情况不一样,就会导致直播过程的延时不一样,不一样的延时也会使得使用对象在观看直播时所看到的礼物或特效展示的时间不一样,直播体验感较差。
值得注意的是,以上仅为示意性的举例,本申请实施例对此不加以限定。
在一个可选的实施例中,将上述直播画面的渲染方法称为“一种基于实时云渲染的直播视频特效实现解决方案”,在云环境下执行特效渲染过程,避免由终端执行所可能存在的上述问题,如:配置差异问题、更新差异问题、延时问题等。
示意性的,对云技术的原理进行简要说明。
应用云技术的云应用即为:将应用放到云服务器上运行,通过云服务器对图像采集和语音采集得到的音视频编码以后再以流的形式传送到终端,然后终端把接收到的音视频流解码后在终端渲染出来,从而使得终端无需安装该应用即可实现应用功能。上述终端比如电视、手机、PC、平板等。借助云技术使得使用对象无需关心游戏和应用如何适配不同软硬件平台的问题,也无需担心终端渲染性能不够强大等问题。
如图8所示,为云应用(如云游戏)的基本交互图。在上行部分,玩家借助与终端810连接(有线连接或无线连接)的键盘、鼠标、手柄或触摸屏等设备执行操作,终端将操作对应的操作指令以及坐标位置上行传输到云游戏的云应用服务器实例820(云端服务器、云服务器),即:实时传输交互操作;云应用服务器实例820再把接收到的操作指令映射成相应的游戏鼠标按键,再通过键盘鼠标驱动发送给真正的游戏应用服务器完成整个游戏的应用服务体验。
可选地,云应用服务器实例820通过渲染计算过程,基于操作指令得到压缩的音视频流,并将音视频流反馈至终端810,以在终端810上渲染显示相应的应用画面(游戏画面)等。
在一些实施例中,针对实时云渲染的直播视频特效的渲染原理和架构进行说明。
如图9所示,为直播结合实时云渲染处理原理和架构的示意图。其中包括直播平台基本交互架构910、实时云渲染平台920以及直播APP应用后台930。可选地,实时云渲染平台920由云服务器组成,可以将直播平台基本交互架构910和实时云渲染平台920统称为直播画面的渲染***。
以主播终端941发起直播为例,主播终端生成直播视频流后推流到直播平台基本交互架构910中的接入模块,可选地,接入模块将接收到的直播视频流转发至转码混流模块进行存储。
若直播间内不存在观众对象通过观众终端942观看直播,则不会触发边缘数据中心(Outer Center,OC),OC用于通过CDN触发回源到中间源,以触发拉起转码混流模块获取直播视频流;
当直播房间存在观众对象通过观众终端942观看直播,观众终端942连接CDN,并触发OC接入,从而触发到中间源回源,中间源主要起到OC回源收敛的作用,中间源再拉起转码混流模板,从而获取到主播终端上行推送的直播视频流。
在一些实施例中,当主播对象或者直播间内的观众对象需要渲染特效时,渲染流程如下所示。
(1)主播终端941或者观众终端942向APP应用后台930发送特效渲染指令,特效渲染指令会带上所需要渲染的特效资源(如:礼物、文本等)的特效标识。
(2)APP应用后台930收到主播终端941或者观众终端942发送的特效渲染指令后,检查特效渲染指令以及特效标识是否合法;如果合法,则向直播平台基本交互架构910的转码混流模块发送特效渲染指令,其中携带有特效标识。
(3)直播平台基本交互架构910的转码混流模块鉴权APP应用后台930发送的特效渲染指令是否合法;如果合法,则及时向实时云渲染平台920发送特效渲染指令。
其中,特效渲染指令的这个请求是异步的,也即:不会等待实时云渲染平台920返回渲染的实时特效画面帧,实时云渲染平台920有发送特效画面帧,即进行混流转码过程,并输出给主播终端941或者观众终端942;没有则只转码直播视频流输出给主播终端941或者观众终端942。
(4)实时云渲染平台920收到转码混流模块的实时特效渲染指令后,根据特效渲染指令内的特效标识,查看本地是否有缓存该特效标识表征的特效资源。
(5)若实时云渲染平台920的本地特效资源包(用于存储本地的多个特效资源)里没有特效资源标注有特效标识,则实时云渲染平台920向APP应用后台930实时请求下载相关的特效资源包。
可选地,实时云渲染平台920也支持当APP应用后台930存在新的特效资源包后,及时推送给实时云渲染平台920,以使得实时云渲染平台920会集群至本地特效资源包缓存。
示意性的,实时云渲染平台920根据特效标识对应的特效资源以及特效渲染帧率,依照帧率速度实时渲染出一帧一帧的特效画面帧,并把这一帧一帧的特效画面帧实时发送给直播平台基本交互架构910的转码混流模块;或者,实时云渲染平台920将特效画面帧组合成特效画面后,将特效画面发送至直播平台基本交互架构910的转码混流模块等。
(6)转码混流模块收到实时云渲染平台920渲染的一帧一帧特效画面帧,把这些特效画面帧按APP应用后台930的要求,如:确定特效帧在直播流的位置信息、帧率信息、大小信息等,将特效画面帧应用于直播视频流,从而实现将特效画面帧和直播视频流混流的过程,并将得到的特效视频流输出给中间源;中间源吐给OC接入点,OC接入点把特效视频流分发给处于直播间内的至少一个终端。
如图10所示,为应用上述直播画面的渲染方法的场景界面示意图,即上述直播画面的渲染方法还可以应用于虚拟解说场景1010、视频转播场景1020、盲盒开箱场景1030等多种场景,通过在不同场景下进行特效触发操作以显示特效的过程中,由终端之外的设备执行应用特效资源以及下载、存储特效资源的过程。
也即:通过上面(1)-(6)的场景步骤操作,通过实时云渲染平台920和直播平台基本交互架构910结合的直播画面的渲染***解决方案,通过把APP渲染的特效置于云端进行实时渲染和资源包更新,进而实时渲染的特效画面再和直播视频流实时混流后下发给使用对象观看,很好解决了APP特效资源包更新不及时的问题,也避免了不同终端配置渲染算力适配兼容的开发问题,还能够一定程度地避免不同使用对象观看的直播特效出现画面时间不一致的问题。
综上所述,将特效资源获取过程以及特效渲染过程交由终端之外的设备执行,避免需要适配不同终端导致配置难度较大的问题,还能够避免终端需要实时更新最新安装包才能对特效进行完全呈现的问题;处于直播间内的至少一个终端直接通过接收已经应用特效资源的特效视频流,并对特效视频流进行渲染,即可高效且流畅地显示具有特效的直播画面。
在本申请实施例中,通过把需要渲染的特效在云端进行实时渲染和资源包更新,从而把实时渲染的特效画面再和直播视频流实时混流后下发给终端,并渲染显示给使用对象进行观看,不仅能够较好地解决现有特效资源包更新问题以及不同终端配置渲染算力适配兼容的问题,还能够一定程度上避免不同终端显示的直播特效画面时间不一致的问题,能够应用于相当多的直播场景中,丰富直播界面显示效果。
图11是本申请一个示例性实施例提供的直播画面的渲染装置的结构框图,如图11所示,该装置包括如下部分:
视频获取模块1110,用于获取直播视频流,所述直播视频流是基于主播终端采集的视频数据生成的视频流,所述直播视频流用于表征直播间内的直播画面;
指令获取模块1120,用于获取特效渲染指令,所述特效渲染指令中包括特效标识,所述特效标识用于唯一标识特效资源,所述特效渲染指令用于将特效资源应用于所述直播视频流;
资源获取模块1130,用于基于所述特效渲染指令中的所述特效标识,获取所述特效标识表征的第一特效资源;
特效应用模块1140,用于将所述第一特效资源应用于所述直播视频流,生成特效视频流,所述特效视频流用于发送至处于所述直播间内的至少一个终端,所述至少一个终端用于渲染所述特效视频流并显示具有特效的直播画面。
在一个可选的实施例中,所述特效应用模块1140还用于获取特效渲染帧率,所述特效渲染帧率用于表征在渲染所述特效资源时每秒显示的特效画面帧的画面帧数量,所述特效画面帧用于与所述直播视频流的直播画面帧结合得到所述特效视频流;基于所述第一特效资源和所述特效渲染帧率,生成用于展现所述第一特效资源的多个特效画面帧,所述多个特效画面帧之间具有时序关系;将所述多个特效画面帧应用于所述直播视频流,生成所述特效视频流。
在一个可选的实施例中,所述特效应用模块1140还用于从所述直播视频流中,确定应用所述多个特效画面帧的多个直播画面帧,所述多个直播画面帧与所述多个特效画面帧一一对应,相邻两个直播画面帧之间的间隔时长基于所述特效渲染帧率确定;将所述多个特效画面帧分别应用于对应的直播画面帧,得到多个特效视频画面帧,所述特效视频画面帧用于生成所述特效视频流;基于所述直播视频流对应的时间轴,依照时间序列组合所述多个特效视频画面帧,生成所述特效视频流。
在一个可选的实施例中,所述特效应用模块1140还用于基于所述时序关系对所述多个特效画面帧进行组合,得到与所述第一特效资源对应的特效画面,所述特效画面对应特效时长;从所述直播视频流对应的时间轴中,确定开始应用所述特效画面帧的第一时间戳;从所述第一时间戳开始,将所述特效画面应用于所述直播视频流,得到所述特效视频流,所述特效视频流的时长为所述特效时长。
在一个可选的实施例中,所述特效应用模块1140还用于基于所述时序关系对所述多个特效画面帧进行组合,得到与所述第一特效资源对应的特效画面,所述特效画面对应特效时长;确定当前时刻下所述直播视频流对应的第一时间戳;从所述第一时间戳开始,将所述特效画面应用于所述直播视频流,得到所述特效视频流,所述特效视频流的时长为所述特效时长。
在一个可选的实施例中,所述装置实现为直播画面的渲染***,所述直播画面的渲染***中存储有至少一个特效资源,所述至少一个特效资源分别对应有特效标识;
所述资源获取模块1130还用于基于所述特效渲染指令中的所述特效标识,查找已存储的所述至少一个特效资源;基于查找结果获取所述特效标识表征的所述第一特效资源。
在一个可选的实施例中,所述资源获取模块1130还用于响应于所述查找结果指示已存储的所述至少一个特效资源中包括所述第一特效资源,从所述至少一个特效资源中获取所述第一特效资源。
在一个可选的实施例中,所述资源获取模块1130还用于响应于所述查找结果指示已存储的所述至少一个特效资源中不包括所述第一特效资源,生成特效资源获取请求,所述特效资源获取请求用于从特效资源持有方获取所述第一特效资源;将所述特效资源获取请求发送至所述特效资源持有方;接收所述特效资源持有方发送的所述第一特效资源。
在一个可选的实施例中,所述资源获取模块1130还用于获取特效资源持有方发送的特效资源包,所述特效资源包是所述特效资源持有方基于特效资源更新过程自动向所述直播画面的渲染***发送的数据包,所述特效资源包中包括多个补充特效资源;将所述特效资源包存储在所述直播画面的渲染***中。
在一个可选的实施例中,所述视频获取模块1110还用于获取所述主播终端发送的所述直播视频流;或者,获取所述主播终端发送的所述视频数据;基于所述视频数据生成所述直播视频流。
在一个可选的实施例中,所述指令获取模块1120还用于获取所述主播终端发送的所述特效渲染指令;或者,获取观众终端发送的所述特效渲染指令,所述观众终端是处于所述直播间内除所述主播终端之外的终端;其中,所述特效渲染指令是基于对直播界面中的特效内容进行特效触发操作生成的指令,所述特效内容用于通过所述特效标识表征的所述特效资源渲染得到所述特效。
在一个可选的实施例中,所述特效应用模块1140还用于获取所述特效渲染指令中的终端标识,所述终端标识用于指示接收所述特效视频流的所述至少一个终端,所述终端标识是基于特效触发操作时被选择的所述至少一个终端确定的标识;基于所述终端标识,向所述至少一个终端发送所述特效视频流。
综上所述,将特效资源获取过程以及特效渲染过程交由终端之外的设备执行,避免需要适配不同终端导致配置难度较大的问题,还能够避免终端需要实时更新最新安装包才能对特效进行完全呈现的问题;处于直播间内的至少一个终端直接通过接收已经应用特效资源的特效视频流,并对特效视频流进行渲染,即可高效且流畅地显示具有特效的直播画面。
需要说明的是:上述实施例提供的直播画面的渲染装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的直播画面的渲染装置与直播画面的渲染方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图12示出了本申请一个示例性实施例提供的服务器的结构示意图。该服务器1200包括中央处理单元(Central Processing Unit,CPU)1201、包括随机存取存储器(RandomAccess Memory,RAM)1202和只读存储器(Read Only Memory,ROM)1203的***存储器1204,以及连接***存储器1204和中央处理单元1201的***总线1205。服务器1200还包括用于存储操作***1213、应用程序1214和其他程序模块1215的大容量存储设备1206。
大容量存储设备1206通过连接到***总线1205的大容量存储控制器(未示出)连接到中央处理单元1201。大容量存储设备1206及其相关联的计算机可读介质为服务器1200提供非易失性存储。也就是说,大容量存储设备1206可以包括诸如硬盘或者紧凑型光盘只读存储器(Compact Disc Read Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。上述的***存储器1204和大容量存储设备1206可以统称为存储器。
根据本申请的各种实施例,服务器1200还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1200可以通过连接在***总线1205上的网络接口单元1211连接到网络1212,或者说,也可以使用网络接口单元1211来连接到其他类型的网络或远程计算机***(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。
本申请的实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的直播画面的渲染方法。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行,以实现上述各方法实施例提供的直播画面的渲染方法。
本申请的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的直播画面的渲染方法。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种直播画面的渲染方法,其特征在于,所述方法由服务器执行,所述方法包括:
获取直播视频流,所述直播视频流是基于主播终端采集的视频数据生成的视频流,所述直播视频流用于表征直播间内的直播画面;
获取特效渲染指令,所述特效渲染指令中包括特效标识和选定时刻,所述特效标识用于唯一标识特效资源,所述选定时刻是对显示特效的时刻进行配置后确定的时刻,所述特效渲染指令用于将特效资源应用于所述直播视频流;
基于所述特效渲染指令中的所述特效标识,获取所述特效标识表征的第一特效资源;
获取特效渲染帧率,所述特效渲染帧率用于表征在渲染所述特效资源时每秒显示的特效画面帧的画面帧数量,所述特效画面帧用于与所述直播视频流的直播画面帧结合得到特效视频流;
基于所述第一特效资源和所述特效渲染帧率,生成用于展现所述第一特效资源的多个特效画面帧,所述多个特效画面帧之间具有时序关系;
从所述直播视频流对应的时间轴中,确定开始应用所述特效画面帧的第一时间戳,所述第一时间戳实现为所述选定时刻;
从所述第一时间戳开始,将所述多个特效画面帧应用于所述直播视频流,生成所述特效视频流;
获取所述特效渲染指令中的终端标识,所述终端标识用于指示接收所述特效视频流的至少一个终端,所述终端标识是基于特效触发操作时被选择的所述至少一个终端确定的标识,所述特效触发操作还用于对特效显示的位置、特效显示的尺寸中的至少一个特效属性进行配置,所述特效属性用于写入所述特效渲染指令中;
基于所述终端标识,将所述特效视频流发送至所述终端标识指示的所述至少一个终端,所述至少一个终端用于渲染所述特效视频流并显示具有特效的直播画面。
2.根据权利要求1所述的方法,其特征在于,所述将所述多个特效画面帧应用于所述直播视频流,生成所述特效视频流,包括:
从所述直播视频流中,确定应用所述多个特效画面帧的多个直播画面帧,所述多个直播画面帧与所述多个特效画面帧一一对应,相邻两个直播画面帧之间的间隔时长基于所述特效渲染帧率确定;
将所述多个特效画面帧分别应用于对应的直播画面帧,得到多个特效视频画面帧,所述特效视频画面帧用于生成所述特效视频流;
基于所述时序关系对所述多个特效视频画面帧进行组合,生成所述特效视频流。
3.根据权利要求1所述的方法,其特征在于,所述将所述多个特效画面帧应用于所述直播视频流,生成所述特效视频流,包括:
基于所述时序关系对所述多个特效画面帧进行组合,得到与所述第一特效资源对应的特效画面,所述特效画面对应特效时长;
从所述直播视频流对应的时间轴中,确定开始应用所述特效画面帧的第一时间戳;
从所述第一时间戳开始,将所述特效画面应用于所述直播视频流,得到所述特效视频流,所述特效视频流的时长为所述特效时长。
4.根据权利要求1至3任一所述的方法,其特征在于,所述方法由直播画面的渲染***执行,所述直播画面的渲染***中存储有至少一个特效资源,所述至少一个特效资源分别对应有特效标识;
所述基于所述特效渲染指令中的所述特效标识,获取所述特效标识表征的第一特效资源,包括:
基于所述特效渲染指令中的所述特效标识,查找已存储的所述至少一个特效资源;
基于查找结果获取所述特效标识表征的所述第一特效资源。
5.根据权利要求4所述的方法,其特征在于,所述基于查找结果获取所述特效标识表征的所述第一特效资源,包括:
响应于所述查找结果指示已存储的所述至少一个特效资源中包括所述第一特效资源,从所述至少一个特效资源中获取所述第一特效资源。
6.根据权利要求4所述的方法,其特征在于,所述基于查找结果获取所述特效标识表征的所述第一特效资源,包括:
响应于所述查找结果指示已存储的所述至少一个特效资源中不包括所述第一特效资源,生成特效资源获取请求,所述特效资源获取请求用于从特效资源持有方获取所述第一特效资源;
将所述特效资源获取请求发送至所述特效资源持有方;
接收所述特效资源持有方发送的所述第一特效资源。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取特效资源持有方发送的特效资源包,所述特效资源包是所述特效资源持有方基于特效资源更新过程自动向所述直播画面的渲染***发送的数据包,所述特效资源包中包括多个补充特效资源;
将所述特效资源包存储在所述直播画面的渲染***中。
8.根据权利要求1至3任一所述的方法,其特征在于,所述获取直播视频流,包括:
获取所述主播终端发送的所述直播视频流;或者,
获取所述主播终端发送的所述视频数据;基于所述视频数据生成所述直播视频流。
9.根据权利要求1至3任一所述的方法,其特征在于,所述获取特效渲染指令,包括:
获取所述主播终端发送的所述特效渲染指令;或者,
获取观众终端发送的所述特效渲染指令,所述观众终端是处于所述直播间内除所述主播终端之外的终端;
其中,所述特效渲染指令是基于对直播界面中的特效内容进行特效触发操作生成的指令,所述特效内容用于通过所述特效标识表征的所述特效资源渲染得到所述特效。
10.一种直播画面的渲染***,其特征在于,所述渲染***包括视频混流服务器和渲染服务器;
所述视频混流服务器,用于获取直播视频流,所述直播视频流是基于主播终端采集的视频数据生成的视频流,所述直播视频流用于表征直播间内的直播画面;
所述渲染服务器,用于获取特效渲染指令,所述特效渲染指令中包括特效标识和选定时刻,所述特效标识用于唯一标识特效资源,所述选定时刻是对显示特效的时刻进行配置后确定的时刻,所述特效渲染指令用于将特效资源应用于所述直播视频流;基于所述特效渲染指令中的所述特效标识,获取所述特效标识表征的第一特效资源;获取特效渲染帧率,所述特效渲染帧率用于表征在渲染所述特效资源时每秒显示的特效画面帧的画面帧数量,所述特效画面帧用于与所述直播视频流的直播画面帧结合得到特效视频流;基于所述第一特效资源和所述特效渲染帧率,生成用于展现所述第一特效资源的多个特效画面帧,所述多个特效画面帧之间具有时序关系;将所述多个特效画面帧发送至所述视频混流服务器;
所述视频混流服务器,还用于从所述直播视频流对应的时间轴中,确定开始应用所述特效画面帧的第一时间戳,所述第一时间戳实现为所述选定时刻;从所述第一时间戳开始,将所述多个特效画面帧应用于所述直播视频得到所述特效视频流;获取所述特效渲染指令中的终端标识,所述终端标识用于指示接收所述特效视频流的至少一个终端,所述终端标识是基于特效触发操作时被选择的所述至少一个终端确定的标识,所述特效触发操作还用于对特效显示的位置、特效显示的尺寸中的至少一个特效属性进行配置,所述特效属性用于写入所述特效渲染指令中;基于所述终端标识,将所述特效视频流发送至所述终端标识指示的所述至少一个终端,所述至少一个终端用于渲染所述特效视频流并显示具有特效的直播画面。
11.一种直播画面的渲染装置,其特征在于,所述装置包括:
视频获取模块,用于获取直播视频流,所述直播视频流是基于主播终端采集的视频数据生成的视频流,所述直播视频流用于表征直播间内的直播画面;
指令获取模块,用于获取特效渲染指令,所述特效渲染指令中包括特效标识和选定时刻,所述特效标识用于唯一标识特效资源,所述选定时刻是对显示特效的时刻进行配置后确定的时刻,所述特效渲染指令用于将特效资源应用于所述直播视频流;
资源获取模块,用于基于所述特效渲染指令中的所述特效标识,获取所述特效标识表征的第一特效资源;
特效应用模块,用于获取特效渲染帧率,所述特效渲染帧率用于表征在渲染所述特效资源时每秒显示的特效画面帧的画面帧数量,所述特效画面帧用于与所述直播视频流的直播画面帧结合得到特效视频流;基于所述第一特效资源和所述特效渲染帧率,生成用于展现所述第一特效资源的多个特效画面帧,所述多个特效画面帧之间具有时序关系;从所述直播视频流对应的时间轴中,确定开始应用所述特效画面帧的第一时间戳,所述第一时间戳实现为所述选定时刻;从所述第一时间戳开始,将所述多个特效画面帧应用于所述直播视频流,生成所述特效视频流;获取所述特效渲染指令中的终端标识,所述终端标识用于指示接收所述特效视频流的至少一个终端,所述终端标识是基于特效触发操作时被选择的所述至少一个终端确定的标识,所述特效触发操作还用于对特效显示的位置、特效显示的尺寸中的至少一个特效属性进行配置,所述特效属性用于写入所述特效渲染指令中;基于所述终端标识,将所述特效视频流发送至所述终端标识指示的所述至少一个终端,所述至少一个终端用于渲染所述特效视频流并显示具有特效的直播画面。
12.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至9任一所述的直播画面的渲染方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至9任一所述的直播画面的渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311298018.XA CN117041628B (zh) | 2023-10-09 | 2023-10-09 | 直播画面的渲染方法、***、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311298018.XA CN117041628B (zh) | 2023-10-09 | 2023-10-09 | 直播画面的渲染方法、***、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117041628A CN117041628A (zh) | 2023-11-10 |
CN117041628B true CN117041628B (zh) | 2024-02-02 |
Family
ID=88637618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311298018.XA Active CN117041628B (zh) | 2023-10-09 | 2023-10-09 | 直播画面的渲染方法、***、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117041628B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108289159A (zh) * | 2017-05-25 | 2018-07-17 | 广州华多网络科技有限公司 | 一种终端直播特效添加***、方法及终端直播*** |
CN109246445A (zh) * | 2018-11-29 | 2019-01-18 | 广州市百果园信息技术有限公司 | 一种直播间中表白的方法、装置、***、设备和存储介质 |
CN110418155A (zh) * | 2019-08-08 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 直播互动方法、装置、计算机可读存储介质和计算机设备 |
CN110599396A (zh) * | 2019-09-19 | 2019-12-20 | 网易(杭州)网络有限公司 | 信息处理方法及装置 |
CN111385639A (zh) * | 2018-12-28 | 2020-07-07 | 广州市百果园信息技术有限公司 | 视频特效的添加方法、装置、设备及存储介质 |
CN112218108A (zh) * | 2020-09-18 | 2021-01-12 | 广州虎牙科技有限公司 | 直播渲染方法、装置、电子设备及存储介质 |
CN113438490A (zh) * | 2021-05-27 | 2021-09-24 | 广州方硅信息技术有限公司 | 直播互动方法、计算机设备及存储介质 |
CN115665437A (zh) * | 2022-12-21 | 2023-01-31 | 深圳市易云数字科技有限责任公司 | 一种场景可定制现场互动ar慢直播*** |
CN115761090A (zh) * | 2022-11-17 | 2023-03-07 | 北京字跳网络技术有限公司 | 特效渲染方法、装置、设备、计算机可读存储介质及产品 |
CN115767181A (zh) * | 2022-11-17 | 2023-03-07 | 北京字跳网络技术有限公司 | 直播视频流渲染方法、装置、设备、存储介质及产品 |
-
2023
- 2023-10-09 CN CN202311298018.XA patent/CN117041628B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108289159A (zh) * | 2017-05-25 | 2018-07-17 | 广州华多网络科技有限公司 | 一种终端直播特效添加***、方法及终端直播*** |
CN109246445A (zh) * | 2018-11-29 | 2019-01-18 | 广州市百果园信息技术有限公司 | 一种直播间中表白的方法、装置、***、设备和存储介质 |
CN111385639A (zh) * | 2018-12-28 | 2020-07-07 | 广州市百果园信息技术有限公司 | 视频特效的添加方法、装置、设备及存储介质 |
CN110418155A (zh) * | 2019-08-08 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 直播互动方法、装置、计算机可读存储介质和计算机设备 |
CN110599396A (zh) * | 2019-09-19 | 2019-12-20 | 网易(杭州)网络有限公司 | 信息处理方法及装置 |
CN112218108A (zh) * | 2020-09-18 | 2021-01-12 | 广州虎牙科技有限公司 | 直播渲染方法、装置、电子设备及存储介质 |
CN113438490A (zh) * | 2021-05-27 | 2021-09-24 | 广州方硅信息技术有限公司 | 直播互动方法、计算机设备及存储介质 |
CN115761090A (zh) * | 2022-11-17 | 2023-03-07 | 北京字跳网络技术有限公司 | 特效渲染方法、装置、设备、计算机可读存储介质及产品 |
CN115767181A (zh) * | 2022-11-17 | 2023-03-07 | 北京字跳网络技术有限公司 | 直播视频流渲染方法、装置、设备、存储介质及产品 |
CN115665437A (zh) * | 2022-12-21 | 2023-01-31 | 深圳市易云数字科技有限责任公司 | 一种场景可定制现场互动ar慢直播*** |
Also Published As
Publication number | Publication date |
---|---|
CN117041628A (zh) | 2023-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018010682A1 (zh) | 直播方法、直播数据流展示方法和终端 | |
US9129448B2 (en) | Visualization of a natural language text | |
CN113099258B (zh) | 云导播***及直播处理方法、装置、计算机可读存储介质 | |
EP2940940B1 (en) | Methods for sending and receiving video short message, apparatus and handheld electronic device thereof | |
WO2017206398A1 (zh) | 一种视频共享方法及装置 | |
US20210044644A1 (en) | Systems, devices, and methods for streaming haptic effects | |
CN110149518B (zh) | 媒体数据的处理方法、***、装置、设备以及存储介质 | |
CN112073754B (zh) | 一种云游戏投屏方法、装置、计算机设备、计算机可读存储介质及云游戏投屏交互*** | |
CN103947221A (zh) | 用户界面显示方法以及使用该方法的装置 | |
WO2016074326A1 (zh) | 一种频道切换的方法、装置和*** | |
JP2011501501A (ja) | LASeRベースの端末のためのステレオスコピック3D映像コンテンツの提供装置及び方法 | |
CN110505511B (zh) | 一种在网页中播放视频的方法、装置、***及计算设备 | |
CN102231851A (zh) | 可扩展视频***控制 | |
CN114450966A (zh) | 用于异构沉浸式媒体的表示和流式传输的数据模型 | |
CN111261133A (zh) | 演唱处理方法、装置、电子设备及存储介质 | |
CN113630618B (zh) | 视频处理方法、装置及*** | |
WO2024104333A1 (zh) | 演播画面的处理方法、装置、电子设备及存储介质 | |
US20230217047A1 (en) | Method, system, and computer-readable recording medium for implementing fast-switching mode between channels in multi-live transmission environment | |
CN117041628B (zh) | 直播画面的渲染方法、***、装置、设备及介质 | |
US20230362460A1 (en) | Dynamically generated interactive video content | |
CN114071170B (zh) | 一种网络直播互动方法及设备 | |
CN109408757A (zh) | 问答内容分享方法、装置、终端设备及计算机存储介质 | |
KR102376348B1 (ko) | 다중 라이브 송출 환경에서의 채널 간 심리스 전환 모드를 구현하는 방법, 시스템, 및 컴퓨터 판독가능한 기록 매체 | |
CN112887786B (zh) | 视频播放方法、装置及计算机可读介质 | |
KR20220146801A (ko) | 싱글 스트림을 이용하여 관심 영역 고화질 영상을 제공하는 방법, 컴퓨터 장치, 및 컴퓨터 프로그램 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |