CN112218108B - 直播渲染方法、装置、电子设备及存储介质 - Google Patents
直播渲染方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112218108B CN112218108B CN202010987760.1A CN202010987760A CN112218108B CN 112218108 B CN112218108 B CN 112218108B CN 202010987760 A CN202010987760 A CN 202010987760A CN 112218108 B CN112218108 B CN 112218108B
- Authority
- CN
- China
- Prior art keywords
- rendering
- rendered
- video
- effect
- target
- 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 436
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000000694 effects Effects 0.000 claims description 174
- 238000012545 processing Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 description 52
- 230000008569 process Effects 0.000 description 17
- 239000003999 initiator Substances 0.000 description 16
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000003709 image segmentation Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012546 transfer Methods 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/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/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/44012—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 rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提出一种直播渲染方法、装置、电子设备及存储介质,涉及直播技术领域,通过响应于接收的视频渲染请求,并获取待渲染视频帧中与视频渲染请求对应的待渲染对象;然后利用获取的视频渲染参数对待渲染对象进行渲染,得到目标渲染结果;进而将目标渲染结果与待渲染视频帧进行融合,得到直播视频帧;如此,可以仅针对视频帧中的指定对象进行渲染,而无需针对整个视频帧进行渲染,提升了渲染操作时的灵活性。
Description
技术领域
本申请涉及直播技术领域,具体而言,涉及一种直播渲染方法、装置、电子设备及存储介质。
背景技术
在例如网络直播等场景中,可以通过对直播视频帧进行渲染,比如在直播视频帧中增加一些直播特效等,以增加直播时的画面内容。
然而,一些渲染方案仅能够针对直播视频帧的整个画面内容进行渲染,渲染的灵活性较差。
发明内容
本申请的目的在于提供一种直播渲染方法、装置、电子设备及存储介质,能够提升渲染操作时的灵活性。
为了实现上述目的,本申请采用的技术方案如下:
第一方面,本申请提供一种直播渲染方法,所述方法包括:
响应于接收的视频渲染请求,获取待渲染视频帧中与所述视频渲染请求对应的待渲染对象;
利用获取的视频渲染参数对所述待渲染对象进行渲染,得到目标渲染结果;
将所述目标渲染结果与所述待渲染视频帧进行融合,得到直播视频帧。
第二方面,本申请提供一种直播渲染装置,所述装置包括:
处理模块,用于响应于接收的视频渲染请求,获取待渲染视频帧中与所述视频渲染请求对应的待渲染对象;
渲染模块,用于利用获取的视频渲染参数对所述待渲染对象进行渲染,得到目标渲染结果;
所述处理模块还用于,将所述目标渲染结果与所述待渲染视频帧进行融合,得到直播视频帧。
第三方面,本申请提供一种电子设备,所述电子设备包括存储器,用于存储一个或多个程序;处理器;当所述一个或多个程序被所述处理器执行时,实现上述的直播渲染方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的直播渲染方法。
本申请提供的一种直播渲染方法、装置、电子设备及存储介质,通过响应于接收的视频渲染请求,并获取待渲染视频帧中与视频渲染请求对应的待渲染对象;然后利用获取的视频渲染参数对待渲染对象进行渲染,得到目标渲染结果;进而将目标渲染结果与待渲染视频帧进行融合,得到直播视频帧;如此,可以仅针对视频帧中的指定对象进行渲染,而无需针对整个视频帧进行渲染,提升了渲染操作时的灵活性。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1示出本申请提供的直播***的一种交互场景示意图;
图2示出本申请提供的电子设备的一种示意性结构框图;
图3示出本申请提供的直播渲染方法的一种示例性流程图;
图4示出利用本申请提供的直播渲染方法进行渲染后的视频帧示意图;
图5示出图3中步骤203的子步骤的一种示例性流程图;
图6示出本申请提供的直播渲染装置的一种示例性结构框图。
图中:100-电子设备;101-存储器;102-处理器;103-通信接口;300-直播渲染装置;301-处理模块;302-渲染模块。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请的一些实施例中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请选定的一些实施例。基于本申请中的一部分实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1示出本申请提供的直播***的一种交互场景示意图,在一些实施例中,该直播***可以是用于诸如互联网直播等的直播平台。该直播***可以包括服务器、直播发起端以及直播接收端,服务器可以分别与直播接收端和直播发起端建立通信,服务器可以为直播接收端和直播发起端提供直播服务。例如,主播可以通过直播发起端为观众提供实时在线的直播流并传输给服务器,直播接收端可以从服务器拉取直播流进行在线观看或者回放。
在一些实施场景中,直播接收端和直播发起端可以互换使用。例如,直播发起端的主播可以使用直播发起端来为观众提供直播视频服务,或者作为观众查看其它主播提供的直播视频。又例如,直播接收端的观众也可以使用直播接收端观看所关注的主播提供的直播视频,或者作为主播为其它观众提供直播视频服务。
在一些实施例中,直播接收端和直播发起端可以包括但不限于移动设备、平板计算机、膝上型计算机,或其任意两种以上组合。在一些实施例中,移动设备可以包括但不限于可穿戴设备、智能移动设备、增强现实设备等,或其任意组合。在一些实施例中,智能移动设备可以包括但不限于智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏设备、导航设备、或销售点(point of sale,POS)设备等,或其任意组合。
另外,在一些可能的实施过程中,可能有零个、一个或多个直播接收端和直播发起端接入服务器,图1中仅示出一个。其中,直播接收端和直播发起端中可以安装用于提供互联网直播服务的互联网产品,例如,互联网产品可以是计算机或智能手机中使用的与互联网直播服务相关的应用程序APP、Web网页、小程序等。
在一些实施例中,服务器可以是单个物理服务器,也可以是一个由多个用于执行不同数据处理功能的物理服务器构成的服务器组。服务器组可以是集中式的,也可以是分布式的(例如,服务器可以是分布式***)。在一些可能的实施方式中,如服务器采用单个物理服务器,可以基于不同直播服务功能为该物理服务器分配不同的逻辑服务器组件。
可以理解的是,图1所示的直播***仅为一种可能的示例,在本申请其它一些可能的实施例中,该直播***也可以仅包括图1所示组成部分的其中一部分或者还可以包括其它的组成部分。
在例如图1所示的直播场景中,直播发起端侧的主播在进行视频直播的过程中,可以结合一些直播需求,选择在直播画面中添加一些渲染特效,以丰富直播时的画面内容,提升观众端的观看体验。
比如,在一些渲染方案中,可以由直播发起端响应主播的渲染请求,针对直播视频帧的画面内容进行渲染,并将渲染后的直播视频帧发送给服务器,由直播接收端从服务器拉取渲染后的直播视频帧并进行播放,从而使直播接收端的观众可以观看到渲染处理后的直播画面。
然而,在例如上述的直播发起端针对直播视频帧的画面内容进行渲染的方案中,一些渲染方案的渲染对象为直播视频帧的整个画面内容,而无法针对直播视频帧中的一些特定对象进行渲染,导致渲染的灵活性较差。
基于此,为了改善上述渲染方案中的至少部分缺陷,本申请提供的一种可能的实现方式为:通过响应于接收的视频渲染请求,并获取待渲染视频帧中与视频渲染请求对应的待渲染对象;然后利用获取的视频渲染参数对待渲染对象进行渲染,得到目标渲染结果;进而将目标渲染结果与待渲染视频帧进行融合,得到直播视频帧;如此,可以仅针对视频帧中的指定对象进行渲染,而无需针对整个视频帧进行渲染,提升了渲染操作时的灵活性。
请参阅图2,图2示出本申请提供的电子设备100的一种示意性结构框图,在一些实施例中,电子设备100可以作为图1中的直播发起端,也可以作为图1中的服务器。
另外,在一些实施例中,电子设备100可以包括存储器101、处理器102和通信接口103,该存储器101、处理器102和通信接口103相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
存储器101可以用于存储软件程序及模块,如本申请提供的直播渲染装置对应的程序指令/模块,处理器102通过执行存储在存储器101内的软件程序及模块,从而执行各种功能应用以及数据处理,进而执行本申请提供的直播渲染方法的步骤。该通信接口103可用于与其他节点设备进行信令或数据的通信。
其中,存储器101可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除可编程只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器102可以是一种集成电路芯片,具有信号处理能力。该处理器102可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以理解的是,图2所示的结构仅为示意,电子设备100还可以包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
下面以图2所示的电子设备100作为示例性执行主体,对本申请提供的直播渲染方法进行示例性说明;可以理解的是,在一些实施例中,电子设备100可以作为图1中的直播发起端,通过接收直播发起端侧的主播所输入的渲染参数,执行本申请提供的直播渲染方法;当然,在一些其他的实施例中,电子设备100也可以作为图1中的服务器,通过接收直播发起端发送的渲染参数,执行本申请提供的直播渲染方法。
请参阅图3,图3示出本申请提供的直播渲染方法的一种示例性流程图,在一些实施例中,该直播渲染方法可以包括以下步骤:
步骤201,响应于接收的视频渲染请求,获取待渲染视频帧中与视频渲染请求对应的待渲染对象。
步骤203,利用获取的视频渲染参数对待渲染对象进行渲染,得到目标渲染结果。
步骤205,将目标渲染结果与待渲染视频帧进行融合,得到直播视频帧。
在一些实施例中,以电子设备作为图1中的直播发起端为例,直播发起端的显示屏幕可以提供一渲染操作界面,该渲染操作界面可以配置多个渲染操作选项,比如配置渲染的对象、渲染的效果以及渲染的参数等等;主播在利用直播发起端进行视频直播的过程中,可以通过操作直播发起端的渲染操作界面,针对指定的渲染对象(比如直播画面中的人物对象),产生一视频渲染请求,并配置相应的例如渲染效果、渲染时长、渲染位置等视频渲染参数。
相应地,直播发起端在进行视频直播的过程中,当接收到主播输入的视频渲染请求,可以响应于该视频渲染请求,并将视频直播的过程中,产生的直播码流中的视频帧作为待渲染视频帧,以获取该待渲染视频帧中与该视频渲染请求对应的待渲染对象。
例如,假定主播输入的视频渲染请求为针对视频帧中的人物对象进行渲染,则直播发起端可以采用比如图像识别等方案,识别出视频帧中所包含的人物对象,从而将该人物对象作为待渲染对象;又或者,假定主播输入的视频渲染请求为针对视频帧中的背景区域进行渲染,则直播发起端可以识别出视频帧中的背景区域,并将识别出的背景区域作为待渲染对象。
其中,在一些实施例中,直播发起端在执行步骤201的过程中,直播发起端可以采用例如图像分割的方案,在待渲染视频帧中对待渲染对象进行图像分割,从而得到待渲染对象与剩余图像区域;在本申请其他一些可能的实施例中,直播发起端也可以不对待渲染视频帧进行图像分割,而采用图像提取的方案,在待渲染视频帧中提取出目标待渲染对象,而保留完整的待渲染视频帧。
接下来,针对直播发起端获取到的待渲染对象,直播发起端可以基于例如上述接收主播输入的视频渲染参数,对该待渲染对象进行渲染,从而得到目标渲染结果,该目标渲染结果即为直播发起端响应于视频渲染请求所生成的待渲染对象对应的渲染结果;其中,在一些实施例中,直播发起端接收的视频渲染参数可以用于指示针对该待渲染对象进行渲染的操作内容,比如配置的特效数量、特效速度、特效大小、特效偏移量等等。
然后,基于直播发起端获得的目标渲染结果,直播发起端可以将该目标渲染结果与待渲染视频帧进行融合,从而得到如图4示出的仅针对待渲染对象进行渲染后的直播视频帧。
其中,在一些实施例中,直播发起端在执行步骤205的过程中,可以将得到的目标渲染结果与分割待渲染对象后的剩余图像区域进行融合,也可以将得到的目标渲染结果与保存的完整的待渲染视频帧进行融合,本申请对此不进行限制。
可见,基于本申请提供的上述方案,通过响应于接收的视频渲染请求,并获取待渲染视频帧中与视频渲染请求对应的待渲染对象;然后利用获取的视频渲染参数对待渲染对象进行渲染,得到目标渲染结果;进而将目标渲染结果与待渲染视频帧进行融合,得到直播视频帧;如此,可以仅针对视频帧中的指定对象进行渲染,而无需针对整个视频帧进行渲染,提升了渲染操作时的灵活性。
可以理解的是,在一些可能的场景中,基于主播直播的内容的不同,主播可以为待渲染对象设置不同数量的渲染效果,比如可以仅设置一个渲染效果,也可以设置多个渲染效果。
在比如上述的将图1中的直播发起端作为执行本申请的直播渲染方法的电子设备的场景中,直播发起端可以直接接收主播输入的视频渲染参数,以执行本申请的直播渲染方法。
而在比如将图1中的服务器作为执行本申请的直播渲染方法的电子设备的场景中,由于服务器需要通过直播发起端进行转发,才能获取到主播输入的视频渲染参数,因此,为了增加视频渲染参数获取的通用性,直播发起端在接收到主播输入的视频渲染参数后,可以将接收的视频渲染参数保存在预设的配置文件模板中,从而生成参数配置文件。
如此,当图1中的直播发送端作为本申请提供的直播渲染方法的执行主体,则直播发送端在执行步骤203之前,可以解析该参数配置文件,以获得针对该待渲染对象的视频渲染参数;如此,直播发起端再基于解析获得的视频渲染参数执行步骤203。
当图1中的服务器作为本申请提供的直播渲染方法的执行主体,则直播发送端在生成参数配置文件后,可以将该参数配置文件发送给服务器;服务器在执行步骤203之前,则可以解析直播发起端发送的参数配置文件,以获得针对待渲染对象的视频渲染参数,从而执行步骤203。
在一些可能的场景中,直播发起端可以预先设置一渲染效果库,该预先的渲染效果库中可以预先保存有多个渲染效果的功能实现模块,比如该预设的渲染效果库中可以保存有例如“随机晃动”、“多重影分身”、“通道分离”、“粒子特效”等多个渲染效果的功能实现模块;直播发起端可以通过调用并运行每个渲染效果各自对应的功能实现模块,以实现各种渲染效果。
其中,在一些实施例中,主播在配置视频渲染参数的过程中,可以基于一些个性化的选择,配置至少一个渲染效果。
基于此,为了提高直播发起端对待渲染对象进行渲染时能够符合不同的渲染需求,在图3的基础上,请参阅图5,图5示出图3中步骤203的子步骤的一种示例性流程图,作为一种可能的实施方式,步骤203可以包括以下子步骤:
步骤203-1,从预设的渲染效果库中配置出视频渲染参数对应的渲染效果对象集合。
步骤203-3,基于渲染效果对象集合对待渲染对象进行渲染,得到目标渲染结果。
在一些实施例中,直播发起端在执行步骤203的过程中,可以先解析该视频渲染参数,并基于该视频渲染参数,从预设的渲染效果库中配置出该视频渲染参数对应的渲染效果对象集合;比如,将该视频渲染参数所对应的至少一个渲染效果添加至一预先构建的队列中,从而得到该视频渲染请求对应的渲染效果对象集合,此时,该渲染效果对象集合中包括至少一个渲染效果。
接下来,直播发起端可以基于该渲染效果对象集合,对该待渲染对象进行渲染;比如,直播发起端可以基于该渲染效果对象集合,调用渲染引擎shader将该渲染效果对象集合中的每一个渲染效果渲染至该待渲染对象,以得到目标渲染结果。
可以理解的是,由于渲染效果对象集合中包括至少一个渲染效果,即:渲染效果对象集合中包括的渲染效果数量大于或等于一;则在一些可能的场景中,当渲染效果对象集合仅包括一个渲染效果,直播视频帧可以仅显示一个渲染效果;而在一些其他的场景中,当渲染效果对象集合中包括多个渲染效果,则直播视频帧可以显示如图4中的包括“随机晃动”、“多种影分身”等多个渲染效果。
需要说明的是,在一些可能的场景中,为了提高主播在不同渲染需求时的通用性,上述预设的渲染效果库中可以仅保存渲染效果的功能实现模块,而不保存渲染效果的比如渲染大小、渲染位置、渲染速度等实现参数;针对不同的渲染效果的渲染参数,可以由主播在输入视频渲染请求的过程中一并输入。
如此,在一些实施例中,直播发起端获取到的视频渲染参数中可以包括有视频渲染内容以及每一视频渲染内容对应的显示参数;比如,该视频渲染内容可以指示对应的渲染效果,而显示参数则可以用于指示对应的渲染效果的比如渲染大小、渲染位置、渲染速度等实现参数。
基于此,在一些实施例中,直播发起端在执行步骤203-1的过程中,基于获取到的视频渲染参数中的视频渲染内容,直播发起端可以先从预设的渲染效果库中,确定出视频渲染内容对应的所有渲染效果对象,得到初始渲染效果集合;即:直播发起端可以先将视频渲染参数中所指示的渲染效果模板添加至初始渲染效果集合中。
接下来,直播发起端可以基于视频渲染参数中包括的每一视频渲染内容对应的显示参数,为上述的初始渲染效果集合中的所有渲染效果对象配置对应的显示参数,以获得渲染效果对象集合。
比如,假定上述的初始渲染效果集合中包括有“随机晃动”这一渲染效果,且视频渲染参数中包括的“随机晃动”对应的显示参数为“数量:0.07,速度:0.8”,则直播发起端可以在“随机晃动”对应的功能实现模块中填充该显示参数“数量:0.07,速度:0.8”,使得直播发起端在执行步骤203-3的过程中,可以基于该显示参数“数量:0.07,速度:0.8”实现“随机晃动”这一渲染效果。
另外,可以理解的是,本申请提供的上述实现方式,是以直播发起端针对一个待渲染对象进行渲染的示例说明,在本申请一些可能的场景中,结合主播的个性化配置,上述的待渲染对象还可以存在多个,直播发起端获取的视频渲染参数可以包括有每一个待渲染对象各自所对应的视频渲染内容。
比如,结合图4所示,主播不仅可以针对图4中的人物对象配置一些渲染效果,也可以为图4中的背景区域配置一些渲染效果;或者是,在本申请其他一些可能的场景中,主播还可以针对视频帧的一些装饰挂件配置一些渲染效果。
为此,在例如的上述存在多个待渲染对象的场景中,直播发起端可以针对不同的待渲染对象,进行分层渲染。
比如,当上述的待渲染对象存在多个,直播发起端在执行步骤203-1的过程中,直播发起端先从预设的渲染效果库中获取所有的视频渲染内容各自对应的渲染效果,得到初始渲染效果对象集合。
例如,假定上述的多个待渲染对象包括对象A以及对象B,且对象A对应的渲染效果包括效果1、效果2,对象B包括的渲染效果包括效果3、效果4、效果5,则上述的初始渲染效果对象集合可以表示为{效果1;效果2;效果3;效果4;效果5}。
接下来,为了区分不同的渲染效果各自针对的待渲染对象,直播发起端可以在上述的初始渲染效果对象集合中添加每一个待渲染对象各自对应的哨岗标识对,以得到渲染效果对象集合。
其中,在一些实施例中,每一个哨岗标识对可以包括起始哨岗标识和终止哨岗标识,该起始哨岗标识可以用于指示对应的待渲染对象的起始渲染效果,该终止哨岗标识可以用于指示对应的待渲染对象的终止渲染效果。
比如,参照前述示例,直播发起端在初始渲染效果对象集合中添加对象A以及对象B各自对应的哨岗标识对后,得到的渲染效果对象集合可以表示为:{起始A效果1;效果2;结束A起始B效果3;效果4;效果5;结合B};其中,该渲染效果对象集合即表示:效果1和效果2用于渲染对象A,效果3、效果4以及效果5用于渲染对象B。
如此,直播发起端在执行步骤203-3的过程中,可以基于该渲染效果对象集合中的所有所述哨岗标识对,分别对每一个对应的待渲染对象进行渲染,以得到目标渲染结果。
比如,参照前述示例的渲染效果对象集合{起始A效果1;效果2;结束A起始B效果3;效果4;效果5;结合B},直播发起端在遍历该渲染效果对象集合的过程中,当直播发起端遍历至“起始A”,则直播发起端可以基于后续获取的效果1以及效果2,对视频帧中的对象A进行渲染,直至遍历至“结束A”,完成针对该视频帧中的对象A的渲染;接着,当直播发起端遍历至“起始B”,则直播发起端可以基于后续获取的效果3、效果4以及效果5,对视频帧中的对象B进行渲染,直至遍历至“结束B”,完成针对该视频帧中的对象B的渲染;如此,通过对视频码流中的每一视频帧均执行例如上述的渲染操作,以实现针对视频码流的循环渲染。
另外,在一些可能的场景中,随着直播画质等的提高,视频帧的数据量一般较大,直播发起端在对从视频帧中获取的待渲染对象进行渲染的过程中,需要消耗一定的处理资源以及处理时间。
基于此,为了提升直播发起端对待渲染对象进行渲染时的速度,在另一些可能的场景中,主播在输入视频渲染参数时,还可以输入一缩放比例,以使直播发起端在对待渲染对象进行渲染时,能够对待渲染对象进行一定的缩放,从而减少直播发起端对待渲染对象进行渲染时消耗的处理资源以及处理时间。
相对地,作为另一种可能的实施方式,直播发起端在执行步骤203的过程中,还可以基于视频渲染参数中的缩放比例,将该待渲染对象按照视频渲染参数中的缩放比例进行缩小处理,以降低待渲染对象的数据量。
接下来,直播发起端可以根据视频渲染参数中的显示参数,对缩小处理后的待渲染对象进行渲染,以得到初始渲染结果。
然后,直播发起端可以将该初始渲染结果按照缩放比例进行放大处理,即:将缩小后的渲染对象还原至缩小前的大小,得到目标渲染结果。
并且,需要说明的是,本申请提供的上述实施方式,是以图1中的直播发起端作为示例性的执行主体为例进行的说明,在本申请其他一些可能的实施方式中,本申请提供的上述直播渲染方案还可以由图1中的服务器执行,本申请对此不进行限制。
另外,基于与本申请提供的上述直播渲染方法相同的发明构思,请参阅图6,图6示出本申请提供的直播渲染装置300的一种示例性结构框图,该直播渲染装置300可以包括处理模块301及渲染模块302。
处理模块301,用于响应于接收的视频渲染请求,获取待渲染视频帧中与视频渲染请求对应的待渲染对象;
渲染模块302,用于利用获取的视频渲染参数对待渲染对象进行渲染,得到目标渲染结果;
处理模块301还用于,将目标渲染结果与待渲染视频帧进行融合,得到直播视频帧。
可选地,作为一种可能的实施方式,渲染模块302在利用获取的视频渲染参数对待渲染对象进行渲染,得到目标渲染结果时,具体用于:
从预设的渲染效果库中配置出视频渲染参数对应的渲染效果对象集合;其中,渲染效果对象集合包括至少一个渲染效果;
基于渲染效果对象集合对待渲染对象进行渲染,得到目标渲染结果。
可选地,作为一种可能的实施方式,视频渲染参数包括视频渲染内容以及每一视频渲染内容对应的显示参数;
渲染模块302在从预设的渲染效果库中配置出视频渲染参数对应的渲染效果对象集合时,具体用于:
从预设的渲染效果库中确定出视频渲染内容对应的所有渲染效果对象,得到初始渲染效果集合;
为初始渲染效果集合中的所有渲染效果对象配置对应的显示参数,以获得渲染效果对象集合。
可选地,作为一种可能的实施方式,待渲染对象存在多个;视频渲染参数包括有每一个待渲染对象各自所对应的视频渲染内容;
渲染模块302在从预设的渲染效果库中配置出视频渲染参数对应的渲染效果对象集合时,具体用于:
从预设的渲染效果库中获取所有的视频渲染内容各自对应的渲染效果,得到初始渲染效果对象集合;
在初始渲染效果对象集合中添加每一个待渲染对象各自对应的哨岗标识对,以得到渲染效果对象集合;其中,每一个哨岗标识对包括起始哨岗标识和终止哨岗标识,起始哨岗标识用于指示对应的待渲染对象的起始渲染效果,终止哨岗标识用于指示对应的待渲染对象的终止渲染效果;
渲染模块302在基于渲染效果对象集合对待渲染对象进行渲染,得到目标渲染结果时,具体用于:
基于渲染效果对象集合中的所有哨岗标识对,分别对每一个对应的待渲染对象进行渲染,得到目标渲染结果。
可选地,作为一种可能的实施方式,渲染模块302在基于渲染效果对象集合对待渲染对象进行渲染,得到目标渲染结果时,具体用于:
基于渲染效果对象集合,调用渲染引擎shader对待渲染对象进行渲染,以得到目标渲染结果。
可选地,作为一种可能的实施方式,渲染模块302在利用获取的视频渲染参数对待渲染对象进行渲染,得到目标渲染结果时,具体用于:
将待渲染对象按照视频渲染参数中的缩放比例进行缩小处理;
根据视频渲染参数中的显示参数,对缩小处理后的待渲染对象进行渲染,以得到初始渲染结果;
将初始渲染结果按照缩放比例进行放大处理,得到目标渲染结果。
可选地,作为一种可能的实施方式,处理模块301在利用获取的视频渲染参数对待渲染对象进行渲染,得到目标渲染结果之前,还用于:
解析获取到的参数配置文件,以获得针对待渲染对象的视频渲染参数。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的一些实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。
也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请的一些实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请的一些实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的部分实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (8)
1.一种直播渲染方法,其特征在于,所述方法包括:
响应于接收的视频渲染请求,获取待渲染视频帧中与所述视频渲染请求对应的待渲染对象;
利用获取的视频渲染参数对所述待渲染对象进行渲染,得到目标渲染结果;
将所述目标渲染结果与所述待渲染视频帧进行融合,得到直播视频帧;
所述利用获取的视频渲染参数对所述待渲染对象进行渲染,得到目标渲染结果,包括:
从预设的渲染效果库中配置出所述视频渲染参数对应的渲染效果对象集合;其中,所述渲染效果对象集合包括至少一个渲染效果;
基于所述渲染效果对象集合对所述待渲染对象进行渲染,得到目标渲染结果;
所述待渲染对象存在多个;所述视频渲染参数包括有每一个所述待渲染对象各自所对应的视频渲染内容;
所述从预设的渲染效果库中配置出所述视频渲染参数对应的渲染效果对象集合,包括:
从预设的渲染效果库中获取所有的所述视频渲染内容各自对应的渲染效果,得到初始渲染效果对象集合;
在所述初始渲染效果对象集合中添加每一个所述待渲染对象各自对应的哨岗标识对,以得到渲染效果对象集合;其中,每一个哨岗标识对包括起始哨岗标识和终止哨岗标识,所述起始哨岗标识用于指示对应的所述待渲染对象的起始渲染效果,所述终止哨岗标识用于指示对应的所述待渲染对象的终止渲染效果;
所述基于所述渲染效果对象集合对所述待渲染对象进行渲染,得到目标渲染结果,包括:
基于所述渲染效果对象集合中的所有所述哨岗标识对,分别对每一个对应的所述待渲染对象进行渲染,得到目标渲染结果。
2.如权利要求1所述的方法,其特征在于,所述视频渲染参数包括视频渲染内容以及每一视频渲染内容对应的显示参数;
所述从预设的渲染效果库中配置出所述视频渲染参数对应的渲染效果对象集合,包括:
从预设的渲染效果库中确定出所述视频渲染内容对应的所有渲染效果对象,得到初始渲染效果集合;
为所述初始渲染效果集合中的所有渲染效果对象配置对应的所述显示参数,以获得渲染效果对象集合。
3.如权利要求1所述的方法,其特征在于,所述基于所述渲染效果对象集合对所述待渲染对象进行渲染,得到目标渲染结果,包括:
基于所述渲染效果对象集合,调用渲染引擎shader对所述待渲染对象进行渲染,以得到目标渲染结果。
4.如权利要求1所述的方法,其特征在于,所述利用获取的视频渲染参数对所述待渲染对象进行渲染,得到目标渲染结果,包括:
将所述待渲染对象按照所述视频渲染参数中的缩放比例进行缩小处理;
根据所述视频渲染参数中的显示参数,对缩小处理后的所述待渲染对象进行渲染,以得到初始渲染结果;
将所述初始渲染结果按照所述缩放比例进行放大处理,得到目标渲染结果。
5.如权利要求1所述的方法,其特征在于,在所述利用获取的视频渲染参数对所述待渲染对象进行渲染,得到目标渲染结果之前,所述方法还包括:
解析获取到的参数配置文件,以获得针对所述待渲染对象的视频渲染参数。
6.一种直播渲染装置,其特征在于,所述装置包括:
处理模块,用于响应于接收的视频渲染请求,获取待渲染视频帧中与所述视频渲染请求对应的待渲染对象;
渲染模块,用于利用获取的视频渲染参数对所述待渲染对象进行渲染,得到目标渲染结果;
所述处理模块还用于,将所述目标渲染结果与所述待渲染视频帧进行融合,得到直播视频帧;
所述渲染模块在利用获取的视频渲染参数对待渲染对象进行渲染,得到目标渲染结果时,具体用于:
从预设的渲染效果库中配置出视频渲染参数对应的渲染效果对象集合;其中,渲染效果对象集合包括至少一个渲染效果;
基于渲染效果对象集合对待渲染对象进行渲染,得到目标渲染结果;
待渲染对象存在多个;视频渲染参数包括有每一个待渲染对象各自所对应的视频渲染内容;
所述渲染模块在从预设的渲染效果库中配置出视频渲染参数对应的渲染效果对象集合时,具体用于:
从预设的渲染效果库中获取所有的视频渲染内容各自对应的渲染效果,得到初始渲染效果对象集合;
在初始渲染效果对象集合中添加每一个待渲染对象各自对应的哨岗标识对,以得到渲染效果对象集合;其中,每一个哨岗标识对包括起始哨岗标识和终止哨岗标识,起始哨岗标识用于指示对应的待渲染对象的起始渲染效果,终止哨岗标识用于指示对应的待渲染对象的终止渲染效果;
所述渲染模块在基于渲染效果对象集合对待渲染对象进行渲染,得到目标渲染结果时,具体用于:
基于渲染效果对象集合中的所有哨岗标识对,分别对每一个对应的待渲染对象进行渲染,得到目标渲染结果。
7.一种电子设备,其特征在于,包括:
存储器,用于存储一个或多个程序;
处理器;
当所述一个或多个程序被所述处理器执行时,实现如权利要求1-5中任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010987760.1A CN112218108B (zh) | 2020-09-18 | 2020-09-18 | 直播渲染方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010987760.1A CN112218108B (zh) | 2020-09-18 | 2020-09-18 | 直播渲染方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112218108A CN112218108A (zh) | 2021-01-12 |
CN112218108B true CN112218108B (zh) | 2022-07-08 |
Family
ID=74049691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010987760.1A Active CN112218108B (zh) | 2020-09-18 | 2020-09-18 | 直播渲染方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112218108B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915837B (zh) * | 2021-02-10 | 2023-08-25 | 武汉斗鱼网络科技有限公司 | 视频渲染的触发方法、装置、电子设备及存储介质 |
CN113490050B (zh) * | 2021-09-07 | 2021-12-17 | 北京市商汤科技开发有限公司 | 视频处理方法和装置、计算机可读存储介质及计算机设备 |
CN115442637A (zh) * | 2022-09-06 | 2022-12-06 | 北京字跳网络技术有限公司 | 直播特效渲染方法、装置、设备、可读存储介质及产品 |
CN117041628B (zh) * | 2023-10-09 | 2024-02-02 | 腾讯科技(深圳)有限公司 | 直播画面的渲染方法、***、装置、设备及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106504193A (zh) * | 2016-10-24 | 2017-03-15 | 深圳市彬讯科技有限公司 | 一种基于云端的多用户图片渲染的渲染方法 |
CN106791786A (zh) * | 2016-12-29 | 2017-05-31 | 北京奇艺世纪科技有限公司 | 直播方法及装置 |
CN109963163A (zh) * | 2017-12-26 | 2019-07-02 | 阿里巴巴集团控股有限公司 | 网络视频直播方法、装置及电子设备 |
CN110062176A (zh) * | 2019-04-12 | 2019-07-26 | 北京字节跳动网络技术有限公司 | 生成视频的方法、装置、电子设备和计算机可读存储介质 |
CN110475150A (zh) * | 2019-09-11 | 2019-11-19 | 广州华多网络科技有限公司 | 虚拟礼物特效的渲染方法和装置、直播*** |
CN110582021A (zh) * | 2019-09-26 | 2019-12-17 | 深圳市商汤科技有限公司 | 信息处理方法及装置、电子设备和存储介质 |
EP3609189A1 (en) * | 2018-08-10 | 2020-02-12 | Nagravision SA | Testing rendering of screen objects |
CN111429554A (zh) * | 2020-03-26 | 2020-07-17 | 深圳壹账通智能科技有限公司 | 运动视频数据处理方法、装置、计算机设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10108322B2 (en) * | 2015-01-02 | 2018-10-23 | Kaltura, Inc. | Dynamic video effects for interactive videos |
CN107613310B (zh) * | 2017-09-08 | 2020-08-04 | 广州华多网络科技有限公司 | 一种直播方法、装置及电子设备 |
CN111147880A (zh) * | 2019-12-30 | 2020-05-12 | 广州华多网络科技有限公司 | 视频直播的互动方法、装置、***、电子设备及存储介质 |
-
2020
- 2020-09-18 CN CN202010987760.1A patent/CN112218108B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106504193A (zh) * | 2016-10-24 | 2017-03-15 | 深圳市彬讯科技有限公司 | 一种基于云端的多用户图片渲染的渲染方法 |
CN106791786A (zh) * | 2016-12-29 | 2017-05-31 | 北京奇艺世纪科技有限公司 | 直播方法及装置 |
CN109963163A (zh) * | 2017-12-26 | 2019-07-02 | 阿里巴巴集团控股有限公司 | 网络视频直播方法、装置及电子设备 |
EP3609189A1 (en) * | 2018-08-10 | 2020-02-12 | Nagravision SA | Testing rendering of screen objects |
CN110062176A (zh) * | 2019-04-12 | 2019-07-26 | 北京字节跳动网络技术有限公司 | 生成视频的方法、装置、电子设备和计算机可读存储介质 |
CN110475150A (zh) * | 2019-09-11 | 2019-11-19 | 广州华多网络科技有限公司 | 虚拟礼物特效的渲染方法和装置、直播*** |
CN110582021A (zh) * | 2019-09-26 | 2019-12-17 | 深圳市商汤科技有限公司 | 信息处理方法及装置、电子设备和存储介质 |
CN111429554A (zh) * | 2020-03-26 | 2020-07-17 | 深圳壹账通智能科技有限公司 | 运动视频数据处理方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
集体欢腾与灵光塑造:数字时代流行音乐商业价值研究;李育菁等;《现代传播(中国传媒大学学报)》;20180115(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112218108A (zh) | 2021-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112218108B (zh) | 直播渲染方法、装置、电子设备及存储介质 | |
CN106487781B (zh) | 基于直播的资源数据处理方法、装置和*** | |
US11025967B2 (en) | Method for inserting information push into live video streaming, server, and terminal | |
CN110856008B (zh) | 直播互动方法、装置、***、电子设备及存储介质 | |
CN112929678B (zh) | 直播方法、装置、服务端及计算机可读存储介质 | |
CN113411642A (zh) | 投屏方法、装置、电子设备和存储介质 | |
CN111314773A (zh) | 录屏方法、装置、电子设备和计算机可读存储介质 | |
CN111970527B (zh) | 直播数据处理方法及装置 | |
CN110913237A (zh) | 直播控制方法和装置、直播发起设备和存储介质 | |
CN112073753A (zh) | 一种多媒体数据的发布方法、装置、设备及介质 | |
CN114697703A (zh) | 视频数据生成方法、装置、电子设备及存储介质 | |
CN106792237B (zh) | 一种消息显示方法和*** | |
CN110809172A (zh) | 交互特效展示方法、装置及电子设备 | |
CN112153408B (zh) | 直播渲染方法、装置、电子设备及存储介质 | |
CN114025185A (zh) | 一种视频回放方法、装置、电子设备及存储介质 | |
CN113852834A (zh) | 一种内容显示方法、装置、设备及存储介质 | |
CN112770171A (zh) | 一种内容显示方法、装置、***、设备及存储介质 | |
CN114817698A (zh) | 信息推送方法及装置、信息展示方法及装置、设备和介质 | |
CN109348298B (zh) | 信息推送、播放多媒体数据流的方法和设备 | |
US20220394326A1 (en) | Method and apparatus for determining object adding mode, electronic device and medium | |
CN112468883A (zh) | 视频流播放方法及视频流播放设备 | |
CN112153409B (zh) | 直播方法、装置、直播接收端及存储介质 | |
CN115671723A (zh) | 资源处理方法、装置、设备及介质 | |
CN112291573B (zh) | 直播流推送方法、装置、电子设备和计算机可读介质 | |
CN109999490B (zh) | 一种降低联网云应用延迟的方法及*** |
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 |