CN113691826A - 一种直播间展示方法、装置、设备以及存储介质 - Google Patents

一种直播间展示方法、装置、设备以及存储介质 Download PDF

Info

Publication number
CN113691826A
CN113691826A CN202110981906.6A CN202110981906A CN113691826A CN 113691826 A CN113691826 A CN 113691826A CN 202110981906 A CN202110981906 A CN 202110981906A CN 113691826 A CN113691826 A CN 113691826A
Authority
CN
China
Prior art keywords
plug
partition
layout
live broadcast
broadcast room
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.)
Granted
Application number
CN202110981906.6A
Other languages
English (en)
Other versions
CN113691826B (zh
Inventor
易禹澍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110981906.6A priority Critical patent/CN113691826B/zh
Publication of CN113691826A publication Critical patent/CN113691826A/zh
Application granted granted Critical
Publication of CN113691826B publication Critical patent/CN113691826B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • H04N21/4858End-user interface for client configuration for modifying screen layout parameters, e.g. fonts, size of the windows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开提供了一种直播间展示方法,涉及互联网技术领域,尤其涉及网络直播领域。具体实现方案为:对直播间在展示时所需的各个组件进行初始化;在初始化完成后,识别待插入至所述直播间的各个第一插件,以及每一第一插件所属的目标分区;其中,所述目标分区为对所述直播间的界面进行分区划分所得到的布局分区;检测是否满足预定的插件加载条件;若满足,针对每一目标分区,基于属于该目标分区的第一插件,对该目标分区进行重新布局,以将属于该目标分区的第一插件,加载到所述界面内。通过本方案,在插件需要插入时,可以仅仅针对插件所属的区域进行插入,而不需要整体重新布局,从而提高直播间布局性能。

Description

一种直播间展示方法、装置、设备以及存储介质
技术领域
本公开涉及互联网技术领域,尤其涉及网络直播领域,具体涉及一种直播间展示方法、装置、设备以及存储介质。
背景技术
随着界面迭代,客户端所展示的直播间内存在很多的样式UI(User Interface,用户界面),例如IM(Instant Messaging,即时通讯)区、播放器、任务挂件、活动挂件、直播间公告、礼物轨道和付费条等等。
相关技术中,在用户进入直播间时,客户端将各个组件,即IM区、播放器等直播间必要的样式UI,进行初始化,从而展示出直播间的组件;在初始化完成后,将直播间当前需要展示的各个插件加载至直播间,其中,在检测到每一个需要展示的插件时,均需要对直播间的界面进行重新的整体布局,以将插件加载到直播间的界面中。并且,直播间初始布局完成后,后续在直播过程中每次检测到存在插件需要加载到直播间时,均需要对直播间的界面进行重新的整体布局。其中,插件为除组件以外的非必要的样式UI。
发明内容
本公开提供了一种直播间展示方法、装置、设备以及存储介质。
根据本公开的一方面,提供了一种直播间展示方法,包括:
对直播间在展示时所需的各个组件进行初始化;
在初始化完成后,识别待插入至所述直播间的各个第一插件,以及每一第一插件所属的目标分区;其中,所述目标分区为对所述直播间的界面进行分区划分所得到的布局分区;
检测是否满足预定的插件加载条件;
若满足,针对每一目标分区,基于属于该目标分区的第一插件,对该目标分区进行重新布局,以将属于该目标分区的第一插件,加载到所述界面内。
根据本公开的另一方面,提供了一种直播间展示装置,包括:
初始化模块,用于对直播间在展示时所需的各个组件进行初始化;
第一识别模块,用于在初始化完成后,识别待插入至所述直播间的各个第一插件,以及每一第一插件所属的目标分区;其中,所述目标分区为对所述直播间的界面进行分区划分所得到的布局分区;
检测模块,用于检测是否满足预定的插件加载条件;
第一布局模块,用于若满足,针对每一目标分区,基于属于该目标分区的第一插件,对该目标分区进行重新布局,以将属于该目标分区的第一插件,加载到所述界面内。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的直播间展示方法的步骤。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述的直播间展示方法的步骤。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述的直播间展示方法的步骤。
本公开有益效果:
本公开提供的直播间展示方法,通过在直播间组件初始化完成后,识别待插入至所述直播间的各个第一插件,以及每一第一插件所属的目标分区;然后检测是否满足预定的插件加载条件,若满足,针对每一目标分区,基于属于该目标分区的第一插件,对该目标分区进行重新布局,以将属于该目标分区的第一插件,加载到所述界面内。相对于现有技术而言,将直播间的布局整体划分为多个子区域,这样,在组件初始化完成后,若满足预定的插件加载条件,即可针对存在待插入插件的各个子区域进行统一布局,以减少整体布局的次数,同时由于在满足预定的插件加载条件时,才进行统一布局,分区布局的次数也较少,因此,本方案能够大大提高直播间布局性能。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开一种直播间展示方法的流程图;
图2是根据本公开一种直播间展示方法的另一流程图;
图3是根据本公开的新旧方案对比示意图;
图4A是根据本公开的直播间展示方法的一种直播间界面示意图;
图4B是根据本公开的直播间展示方法的另一直播间界面示意图;
图5是根据本公开的直播间展示装置的一种结构示意图;
图6是根据本公开的直播间展示装置的另一种结构示意图;
图7是用来实现本公开实施例的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
随着网络直播的火爆和直播间内组件的迭代,直播间内存在很多不一样的样式UI(User Interface,用户界面),例如IM(Instant Messaging,即时通讯)区,播放器,任务挂件,活动挂件,直播间公告,礼物轨道,付费条等等。
相关技术中,将整个直播间的layout(布局)作为一个整体,并不区分下一级layout,所有样式UI全部在一个layout中进行布局,当需要插入样式UI时需要进行全局重新布局。这样,在进入直播间时,客户端将各个必要的样式UI进行初始化;在初始化完成后,由于这些样式UI之间存在一些相互依赖关系,因此,每次检测到存在插件需要插入时,均需要对直播间的界面重新进行整体布局。可见,当一个插件变动时需要重置整个直播间的布局,无疑会导致布局性能低下、UI依赖混乱和后续添加UI成本高。例如,直播间内每次插入任务挂件时,讲解卡(直播内容或带货商品的讲解卡片)这个需要一定条件出现的样式UI,就需要重新进行整体布局,导致直播间布局性能低下,从而对于老机型不太友好,且各个组件、插件之间存在依赖,也会导致后期开发困难。
基于上述内容,为了减少直播间整体布局次数,提高直播间布局性能,本公开实施例提供了一种直播间展示方法、装置、设备以及存储介质。
下面首先对本公开实施例所提供的一种直播间展示方法进行介绍。
本公开实施例所提供的一种直播间展示方法可以应用于电子设备。在具体应用中,该电子设备可以为服务器,也可以为终端设备,这都是合理的。在实际应用中,该终端设备可以是:智能手机、平板电脑、台式电脑等等。
具体而言,该直播间展示方法的执行主体可以为直播间展示装置。示例性的,当该直播间展示方法应用于终端设备时,该直播间展示装置可以为运行于终端设备中的功能软件,例如:网络直播软件;当然,该直播间展示装置也可以为现有客户端中的插件,例如:网络直播软件中的界面布局插件。示例性的,当该直播间展示方法应用于服务器时,该直播间展示装置可以为运行于服务器中的计算机程序,该计算机程序可以用于实现直播间展示。
另外,需要说明的是,本实施例中所称的组件为直播间展示时必要的样式UI;而可有可无的样式UI称为插件,例如:讲解卡、定时任务的任务挂件等。
其中,本公开实施例所提供的一种直播间展示方法,可以包括如下步骤:
对直播间在展示时所需的各个组件进行初始化;
在初始化完成后,识别待插入至所述直播间的各个第一插件,以及每一第一插件所属的目标分区;其中,所述目标分区为对所述直播间的界面进行分区划分所得到的布局分区;
检测是否满足预定的插件加载条件;
若满足,针对每一目标分区,基于属于该目标分区的第一插件,对该目标分区进行重新布局,以将属于该目标分区的第一插件,加载到所述界面内。
本公开提供的直播间展示方法,通过在直播间组件初始化完成后,识别待插入至所述直播间的各个第一插件,以及每一第一插件所属的目标分区;然后检测是否满足预定的插件加载条件,若满足,针对每一目标分区,基于属于该目标分区的第一插件,对该目标分区进行重新布局,以将属于该目标分区的第一插件,加载到所述界面内。相对于现有技术而言,将直播间的布局整体划分为多个子区域,这样,在组件初始化完成后,若满足预定的插件加载条件,即可针对存在待插入插件的各个子区域进行统一布局,以减少整体布局的次数,同时由于在满足预定的插件加载条件时,才进行统一布局,分区布局的次数也较少,因此,本方案能够大大提高直播间布局性能。
下面结合附图,对本公开实施例所提供的直播间展示方法进行介绍。
如图1所示,本公开实施例所提供的一种直播间展示方法,可以包括如下步骤:
S101,对直播间在展示时所需的各个组件进行初始化;
本实施例中,直播间在展示时所需的各个组件为预先设定的、直播间展示时所必须的样式UI,例如:IM区、播放器等。
并且,在直播间具有不同的展示模式的情况下,直播间在展示时所需的各个组件可以根据直播间的展示模式来确定,该所需的各个组件为对应于该展示模式的必要的样式UI。其中,不同的展示模式下,对于直播间必要的样式UI可以不同,且不同的展示模式下,哪些是必要的样式UI可以是开发人员依据实际情况预先设定的。
示例性的,直播间展示模式可以包括:带货直播展示模式、娱乐直播展示模式、游戏直播展示模式,等等。那么,示例性的,不同的展示模式,与直播间的必要的样式UI的对应关系,可以如下:在直播间的展示模式是带货直播展示模式时,该必要的样式UI可以是IM区、直播间公告和付费条;在直播间的展示模式是娱乐直播展示模式时,该必要的样式UI可以是IM区、任务挂件和礼物轨道。
可以理解的是,在进入直播间时,直播间在展示时所需的各个组件进行初始化。直播间的各个组件初始化即加载各个组件,在直播间所需的各个组件初始化完成后,界面中可以展示出各个组件。本公开不对初始化各个组件的具体过程进行限定。
S102,在初始化完成后,识别待插入至所述直播间的各个第一插件,以及每一第一插件所属的目标分区;其中,所述目标分区为对所述直播间的界面进行分区划分所得到的布局分区;
本实施例中,在初始化完成后,并不是每当识别到待插入至所述直播间的插件,便对直播间重新进行整体布局,即全局布局,而是采用预定方式对待插入的插件进行插入,即布局到直播间中,该预定方式为:在达到预定时机时对待插入的插件进行统一布局,与分区布局相结合的方式。通过该预定方式可以减少整体布局次数,提升直播间布局性能。基于该种处理思想,在初始化完成后,识别待插入至所述直播间的各个第一插件,以及每一第一插件所属的目标分区,进而,后续执行S103-S104。
其中,第一插件可以为能够插入到直播间的任一插件,示例性的,所述第一插件可以是任务挂件、活动挂件、直播间公告、礼物轨道、付费条中的任一插件。并且,任一插件是否需要插入到直播间的识别方式可以包括但不局限于:方式一:检测到展示直播间的客户端达到任一插件的显示时机时,该任一插件即为需要插入到直播间的插件;方式二:检测到直播间相对应的播放端的指定操作时,则用于响应该指定操作的插件,即为需要插入到直播间的插件。可以理解的是,若直播间属于用户端直播间,则直播间相对应的播放端为主播端;若直播间属于主播端直播间,则直播间相对应的播放端为用户端。
并且,可以根据实际情况,对所述直播间的界面进行分区划分,从而得到多个布局分区,目标分区为该多个布局分区中的任一分区。可选的,在一种实现方式中,所述直播间的布局分区为按照组件功能进行划分的得到的分区。示例性的,按照组件功能可以将直播间的布局划分为播放器区域、聊天区域和顶部区域,其中,播放器区域为展示播放器组件的区域,顶部区域为展示直播间人数等组件的区域,聊天区域也称为IM区域,用于展示IM区组件和除上述两个区域展示的组件外的其他组件。示例性的,按照组件功能还可以将直播间的布局划分为顶部区域、播放器区域、IM区域和底部区域,其中,顶部区域用于展示直播间人数等组件,播放器区域用于展示播放器组件,IM区域用于展示IM区组件,底部区域用于展示直播点赞数等组件。需要强调的是,本公开并不对直播间的布局分区的具体划分方式进行限定。
可以理解的是,按照组件功能对直播间的布局进行划分,就可以根据不同的功能将直播间划分为多个分区,这样,在直播间内插入插件时,就可以将插件插入到与组件具有相同功能的分区内,这样,使得直播间界面布局更加清晰。
可选的,在一种实现方式中,所述识别每一第一插件所属的布局分区的方式包括步骤A1-A2:
步骤A1,获取该插件在所述界面的展示位置信息;
本实施例中,每一插件可以预先设置有在界面中的展示位置信息。
其中,所述获取该插件在所述界面的展示位置信息,可以包括:获取目标展示模式下、该插件在所述界面的展示位置信息;其中,所述直播间包括多个展示模式,所述目标展示模式为所述直播间的当前展示模式。
也就是,获取直播间的当前展示模式下插件在所述界面的展示位置信息。不同的直播间展示模式下,每一插件可以具有不同的展示位置信息。
步骤A2,基于所述界面的各个布局分区的展示位置信息,以及该插件的展示位置信息,识别该插件所属的布局分区。
本实施例中,所述直播间界面的各个布局分区预先设置有在界面中的展示位置信息。通过插件在界面中的展示位置信息和各个布局分区的展示位置信息,就可以识别插件所属的布局分区,也就是,将插件的展示位置信息所在的布局分区确定为该插件所属的布局分区。
其中,所述基于所述界面的各个布局分区的展示位置信息,以及该插件的展示位置信息,识别该插件所属的布局分区,包括:基于所述目标展示模式下、所述界面的各个布局分区的展示位置信息,以及该插件的展示位置信息,识别该插件所属的布局分区。
也就是,获取直播间的当前展示模式下各个布局分区的展示位置信息,不同的直播间展示模式下,各个布局分区可以有不同的位置信息。通过插件在直播间的当前展示模式的展示位置信息和各个布局分区的展示位置信息,就可以识别插件所属的布局分区,也就是,将插件的展示位置信息所在的布局分区确定为该插件所属的布局分区。
可以理解的是,通过识别待插入至所述直播间的各个第一插件,以及每一第一插件所属的目标分区,在后续在直播间界面中插入插件时,就可根据该插件所属的目标分区,针对该目标分区进行布局,而不是针对整体界面进行布局,通过这样的方式,减少整体布局的次数。
S103,检测是否满足预定的插件加载条件;
本实施例中,在直播间组件初始化完成之后,插件并不立即加载,而是在满足预定的插件加载条件时进行加载,因此,需要检测是否满足预定的插件加载条件。
可选的,在一种实现方式中,所述预定的插件加载条件包括:达到初始化完成后的预定时长。检测是否满足预定的插件加载条件,也就是检测是否达到组件初始化完成后的预定时长。可以理解的是,通过将预定加载条件设置为达到初始化完成后的预定时长,可以统计达到初始化完成后的预定时长内的待插入插件,这样,在后续插件的布局中,就可以将统计到的多个插件进行统一布局,以减少布局次数。
S104,若满足,针对每一目标分区,基于属于该目标分区的第一插件,对该目标分区进行重新布局,以将属于该目标分区的第一插件,加载到所述界面内。
本实施例中,若步骤S103执行完成后得到的检测结果是满足预定的插件加载条件,则可以基于步骤S102获得的待插入至所述直播间的各个第一插件,以及每一第一插件所属的目标分区,对属于该分区内的第一插件进行重新布局。示例性的,基于属于该目标分区的第一插件,对该目标分区进行重新布局可以包括:按照属于该目标分区的第一插件的位置信息以及该目标分区中已有组件的位置信息,将属于该目标分区的第一插件和已有组件加载至该目标分区,即部署并渲染出包含属于该目标分区的第一插件和已有组件的目标分区。可以理解的是,在满足预定的插件加载条件时,属于目标分区内的第一插件可以是多个,针对多个插件,在满足预定的加载条件时,进行统一加载,以减少分区布局被调用的次数。并且,由于在插件加载过程中,只针对该插件所属的分区进行该插件的布局,因此,每一插件的加载均只影响其所属分区的布局,而不影响直播间整体布局,因此,不需要进行直播间整体重新布局,以减少直播间整体布局的次数。
示例性的,当所述预定的加载条件为预定时长时,在直播间必要组件初始化完成后的预定时长内所有待插入的插件,在达到预定时长时,进行统一布局,以减少分区布局被调用的次数。
本公开提供的直播间展示方法,通过在直播间组件初始化完成后,识别待插入至所述直播间的各个第一插件,以及每一第一插件所属的目标分区;然后检测是否满足预定的插件加载条件,若满足,针对每一目标分区,基于属于该目标分区的第一插件,对该目标分区进行重新布局,以将属于该目标分区的第一插件,加载到所述界面内。相对于现有技术而言,将直播间的布局整体划分为多个子区域,这样,在组件初始化完成后,若满足预定的插件加载条件,即可针对存在待插入插件的各个子区域进行统一布局,以减少整体布局的次数,同时由于在满足预定的插件加载条件时,才进行统一布局,分区布局的次数也较少,因此,本方案能够大大提高直播间布局性能。
可选地,在本公开的另一实施例中,在图1所示的实施例的基础上,如图2所示,所述方法还包括:
S105,每当识别到存在待插入至所述直播间的第二插件时,确定所述第二插件所属的布局分区;
可以理解的是,在直播间界面的初始整体布局完成后,直播过程中仍然存在插件插入的情况,此时的待插入插件即为所述的第二插件。当检测到待插入的第二插件时,识别第二插件所属的布局分区。
具体而言,识别第二插件所属的布局分区的方式可以与上述步骤A1-A2描述的识别第一插件所属的布局分区的方式相同,这里不再赘述。
S106,基于所述第二插件,对所确定的布局分区进行重新布局,以将所述第二插件,加载到所述界面内。
可以理解的是,在通过步骤S105确定出所述待插入的第二插件和第二插件所属的布局分区后,可以针对所述第二插件所属的布局分区对该第二插件进行布局。也就是,将属于该布局分区的第二插件,加载到所述界面内。示例性的,基于所述第二插件,对所确定的布局分区进行重新布局,以将所述第二插件,加载到所述界面内,包括:按照第二插件的位置信息以及所确定的布局分区中原有的组件和/或插件的位置信息,将第二插件和所确定的布局分区中原有的组件和/或插件,加载至所确定的布局分区,即部署并渲染出新的布局分区。通过这样的方式,在布局的过程中,只针对该插件所属的布局分区进行布局,而不需要对直播间整体界面进行布局,从而降低样式UI插入成本,提高布局性能。
基于上述各实施例的相关描述可知,本公开所提供的直播间展示方法,通过在直播间组件初始化完成后,识别待插入至所述直播间的各个第一插件,以及每一第一插件所属的目标分区;然后检测是否满足预定的插件加载条件,若满足,针对每一目标分区,基于属于该目标分区的第一插件,对该目标分区进行重新布局,以将属于该目标分区的第一插件,加载到所述界面内。相对于现有技术而言,将直播间的布局整体划分为多个子区域,这样,在组件初始化完成后,若满足预定的插件加载条件,即可针对存在待插入插件的各个子区域进行统一布局,以减少整体布局的次数,同时由于在满足预定的插件加载条件时,才进行统一布局,分区布局的次数也较少,因此,本方案能够大大提高直播间布局性能。并且,后续在存在任一插件需要插入时,均可以仅仅针对插件所属的区域进行,而不需要整体重新布局,从而提高直播间布局性能。
为了更好的阐述本公开实施例的内容,下面结合本公开的新旧(即现有技术与本公开)方案对比示意图对本公开的界面布局过程进行描述。
图3展示了新旧方案在直播界面布局过程中的时间轴对比图。在新方案和旧方案中,在进入直播间时,首先都进行组件初始化。旧方案中,组件初始化完成后,将直播间当前需要展示的插件加载到直播间界面中,其中,由于旧方案中将整个直播间的layout作为一个整体,而插件的插入会影响整体布局,因此,每一插件的加载均需要进行全局重新布局;并且,在直播间初始布局完成后,后续在直播过程中每当检测到有插件需要插入时,将该插件加载到直播间界面中,此时仍需要对直播间进行全局重新布局,并且后续每次插入插件,均需要进行一次全局重新布局。
而新方案中,在组件初始化完成后,提供一个时机,也就是图3中组件初始化完成到达到预定加载条件(相当于上文中的满足预定的插件加载条件)之间的时间范围。在该时间范围内,识别待插入插件和其所属的分区,也就是,在初始化完成后的指定时长内,统计有哪些插件需要布局,这样在达到时长时,可以统一布局。在达到预定加载条件时,针对各插件所属的分区,将各插件加载到其所属的分区中,这样,实现了插件的分区布局,因此,插件插入时,仅仅需要重新布局插件所属的子区域,而不需要进行全局重新布局。并且,当某个分区中存在多个待插入插件时,该多个插件统一插入到该分区中,以减少分区被调用的次数。在插件加载完成后,直播间初始布局完成。然后,后续在直播过程中,检测到任一待插入插件时,均针对该插件所属分区进行分区布局,以减少整体布局的次数,从而大大提高直播间布局性能。
为了更好的理解本公开实施例的内容,下面结合图4A和图4B对本公开方案的一种应用场景进行描述。
图4A展示的是本公开方案的直播间的组件初始化完成后的界面图。直播间整体布局划分为多个子区域,如图中所示的顶部区域、播放器区域、IM区域和底部区域;其中,播放器区域中布局了播放器组件,IM区域中布局了IM区组件。
图4B展示的是本公开方案的直播间插件插入后的界面图。在组件初始化界面布局完成后,当识别到存在待插入至所述直播间的插件时,将插件加载到其所属的分区中,如图中所示,当活动挂件插件需要插入直播间时,识别到活动挂件插件所属的分区为IM区域,即将活动挂件插件加载到IM区域中;当礼物轨道插件需要插入至直播间时,识别到礼物轨道插件所属的分区为底部区域,即将礼物轨道插件加载到底部区域中,从而,实现了插件的分区布局,当一个插件变动时不需要重置整个直播间的布局,解决了整体布局导致的布局性能低下、UI依赖混乱和后续添加UI成本高的问题。
值得一提的是,在本公开针对新旧方案进行性能测试时,本公开的直播间局部性能测试指标可以以CPU损耗、内存损耗以及整体布局时间作为主要参考标准。
性能测试方案可以包括:
针对多机型进行多组对照测试,该多机型可以包含iPhone6s–iPhone11,主要测试范围是iOS全部老旧机型和部分新机型,并统一系统版本、统一直播间SDK(SoftwareDevelopment Kit,软件开发工具包)版本,对照测试比较新旧方案整体性能在多机型中的CPU损耗以及内存使用量。
(1)性能测试,进行样式UI的插入和删除,观察CPU损耗以及内存使用量
(2)稳定性测试,高频次进行UI插入和删除,观察直播间卡顿率和样式UI混乱问题,保证直播间的用户体验。
本公开提供的方案的上线标准可以是:当老旧机型CPU和内存使用有明显下降、全部机型稳定性能测试通过时进行上线。
本公开提供的方案中,通过在直播间组件初始化完成后,识别待插入至所述直播间的各个第一插件,以及每一第一插件所属的目标分区;然后检测是否满足预定的插件加载条件,若满足,针对每一目标分区,基于属于该目标分区的第一插件,对该目标分区进行重新布局,以将属于该目标分区的第一插件,加载到所述界面内。相对于现有技术而言,将直播间的布局整体划分为多个子区域,这样,在组件初始化完成后,若满足预定的插件加载条件,即可针对存在待插入插件的各个子区域进行统一布局,以减少整体布局的次数,同时由于在满足预定的插件加载条件时,才进行统一布局,分区布局的次数也较少,因此,本方案能够大大提高直播间布局性能。
基于上述方法的实施例,本公开实施例还提供了一种直播间展示装置,如图5所示,所述装置包括:
初始化模块510,用于对直播间在展示时所需的各个组件进行初始化;
第一识别模块520,用于在初始化完成后,识别待插入至所述直播间的各个第一插件,以及每一第一插件所属的目标分区;其中,所述目标分区为对所述直播间的界面进行分区划分所得到的布局分区;
检测模块530,用于检测是否满足预定的插件加载条件;
第一布局模块540,用于若满足,针对每一目标分区,基于属于该目标分区的第一插件,对该目标分区进行重新布局,以将属于该目标分区的第一插件,加载到所述界面内。
可选地,如图6所示,所述装置还包括:
第二识别模块550,用于每当识别到存在待插入至所述直播间的第二插件时,确定所述第二插件所属的布局分区;
第二布局模块560,用于基于所述第二插件,对所确定的布局分区进行重新布局,以将所述第二插件,加载到所述界面内。
可选地,所述预定的插件加载条件包括:达到初始化完成后的预定时长。
可选地,识别任一插件所属的布局分区的方式包括:
获取该插件在所述界面的展示位置信息;
基于所述界面的各个布局分区的展示位置信息,以及该插件的展示位置信息,识别该插件所属的布局分区。
可选地,所述获取该插件在所述界面的展示位置信息,包括:
获取目标展示模式下、该插件在所述界面的展示位置信息;其中,所述直播间包括多个展示模式,所述目标展示模式为所述直播间的当前展示模式;
基于所述界面的各个布局分区的展示位置信息,以及该插件的展示位置信息,识别该插件所属的布局分区,包括:
基于所述目标展示模式下、所述界面的各个布局分区的展示位置信息,以及该插件的展示位置信息,识别该插件所属的布局分区。
可选地,所述直播间的布局分区为按照组件功能进行划分的得到的分区。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
本公开所提供的一种电子设备,可以包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的直播间展示方法的步骤。
本公开所提供的一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一直播间展示方法的步骤。
在本公开提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一直播间展示的步骤。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如直播间展示方法。例如,在一些实施例中,直播间展示方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的直播间展示方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行直播间展示方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (15)

1.一种直播间展示方法,包括:
对直播间在展示时所需的各个组件进行初始化;
在初始化完成后,识别待插入至所述直播间的各个第一插件,以及每一第一插件所属的目标分区;其中,所述目标分区为对所述直播间的界面进行分区划分所得到的布局分区;
检测是否满足预定的插件加载条件;
若满足,针对每一目标分区,基于属于该目标分区的第一插件,对该目标分区进行重新布局,以将属于该目标分区的第一插件,加载到所述界面内。
2.根据权利要求1所述的方法,其中,在所述针对每一目标分区,基于属于该目标分区的目标插件,对该目标分区进行重新布局之后,所述方法还包括:
每当识别到存在待插入至所述直播间的第二插件时,确定所述第二插件所属的布局分区;
基于所述第二插件,对所确定的布局分区进行重新布局,以将所述第二插件,加载到所述界面内。
3.根据权利要求1所述的方法,其中,所述预定的插件加载条件包括:达到初始化完成后的预定时长。
4.根据权利要求1-3任一项所述的方法,其中,识别任一插件所属的布局分区的方式包括:
获取该插件在所述界面的展示位置信息;
基于所述界面的各个布局分区的展示位置信息,以及该插件的展示位置信息,识别该插件所属的布局分区。
5.根据权利要求4所述的方法,其中,所述获取该插件在所述界面的展示位置信息,包括:
获取目标展示模式下、该插件在所述界面的展示位置信息;其中,所述直播间包括多个展示模式,所述目标展示模式为所述直播间的当前展示模式;
基于所述界面的各个布局分区的展示位置信息,以及该插件的展示位置信息,识别该插件所属的布局分区,包括:
基于所述目标展示模式下、所述界面的各个布局分区的展示位置信息,以及该插件的展示位置信息,识别该插件所属的布局分区。
6.根据权利要求1-5任一项所述的方法,其中,所述直播间的布局分区为按照组件功能进行划分的得到的分区。
7.一种直播间展示装置,包括:
初始化模块,用于对直播间在展示时所需的各个组件进行初始化;
第一识别模块,用于在初始化完成后,识别待插入至所述直播间的各个第一插件,以及每一第一插件所属的目标分区;其中,所述目标分区为对所述直播间的界面进行分区划分所得到的布局分区;
检测模块,用于检测是否满足预定的插件加载条件;
第一布局模块,用于若满足,针对每一目标分区,基于属于该目标分区的第一插件,对该目标分区进行重新布局,以将属于该目标分区的第一插件,加载到所述界面内。
8.根据权利要求7所述的装置,其中,所述装置还包括:
第二识别模块,用于每当识别到存在待插入至所述直播间的第二插件时,确定所述第二插件所属的布局分区;
第二布局模块,用于基于所述第二插件,对所确定的布局分区进行重新布局,以将所述第二插件,加载到所述界面内。
9.根据权利要求7所述的装置,其中,所述预定的插件加载条件包括:达到初始化完成后的预定时长。
10.根据权利要求7-9任一项所述的装置,其中,识别任一插件所属的布局分区的方式包括:
获取该插件在所述界面的展示位置信息;
基于所述界面的各个布局分区的展示位置信息,以及该插件的展示位置信息,识别该插件所属的布局分区。
11.根据权利要求10所述的装置,其中,所述获取该插件在所述界面的展示位置信息,包括:
获取目标展示模式下、该插件在所述界面的展示位置信息;其中,所述直播间包括多个展示模式,所述目标展示模式为所述直播间的当前展示模式;
基于所述界面的各个布局分区的展示位置信息,以及该插件的展示位置信息,识别该插件所属的布局分区,包括:
基于所述目标展示模式下、所述界面的各个布局分区的展示位置信息,以及该插件的展示位置信息,识别该插件所属的布局分区。
12.根据权利要求7-11任一项所述的装置,其中,所述直播间的布局分区为按照组件功能进行划分的得到的分区。
13.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-6中任一项所述的方法。
15.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6中任一项所述的方法。
CN202110981906.6A 2021-08-25 2021-08-25 一种直播间展示方法、装置、设备以及存储介质 Active CN113691826B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110981906.6A CN113691826B (zh) 2021-08-25 2021-08-25 一种直播间展示方法、装置、设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110981906.6A CN113691826B (zh) 2021-08-25 2021-08-25 一种直播间展示方法、装置、设备以及存储介质

Publications (2)

Publication Number Publication Date
CN113691826A true CN113691826A (zh) 2021-11-23
CN113691826B CN113691826B (zh) 2023-10-27

Family

ID=78582480

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110981906.6A Active CN113691826B (zh) 2021-08-25 2021-08-25 一种直播间展示方法、装置、设备以及存储介质

Country Status (1)

Country Link
CN (1) CN113691826B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024041657A1 (zh) * 2022-08-26 2024-02-29 北京字跳网络技术有限公司 一种投屏处理方法、装置、设备以及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110138354A1 (en) * 2009-12-07 2011-06-09 International Business Machines Corporation Interactive video player component for mashup interfaces
CN104699468A (zh) * 2013-12-05 2015-06-10 浙江大华系统工程有限公司 一种客户端以及该客户端的界面生成方法
US20180012630A1 (en) * 2016-07-07 2018-01-11 Yahoo!, Inc. Selective content insertion into areas of media objects
CN108495192A (zh) * 2018-03-13 2018-09-04 武汉斗鱼网络科技有限公司 页面编辑处理方法及装置
CN111338722A (zh) * 2020-02-05 2020-06-26 广州虎牙科技有限公司 直播间模板加载方法、装置、电子设备及可读存储介质
CN112019820A (zh) * 2020-10-19 2020-12-01 武汉中科通达高新技术股份有限公司 界面生成方法和装置
WO2021004221A1 (zh) * 2019-07-09 2021-01-14 北京字节跳动网络技术有限公司 特效的展示处理方法、装置及电子设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110138354A1 (en) * 2009-12-07 2011-06-09 International Business Machines Corporation Interactive video player component for mashup interfaces
CN104699468A (zh) * 2013-12-05 2015-06-10 浙江大华系统工程有限公司 一种客户端以及该客户端的界面生成方法
US20180012630A1 (en) * 2016-07-07 2018-01-11 Yahoo!, Inc. Selective content insertion into areas of media objects
CN108495192A (zh) * 2018-03-13 2018-09-04 武汉斗鱼网络科技有限公司 页面编辑处理方法及装置
WO2021004221A1 (zh) * 2019-07-09 2021-01-14 北京字节跳动网络技术有限公司 特效的展示处理方法、装置及电子设备
CN111338722A (zh) * 2020-02-05 2020-06-26 广州虎牙科技有限公司 直播间模板加载方法、装置、电子设备及可读存储介质
CN112019820A (zh) * 2020-10-19 2020-12-01 武汉中科通达高新技术股份有限公司 界面生成方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨建中: "基于录直播系统的智慧校园建设及应用研究", 《江苏科技信息》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024041657A1 (zh) * 2022-08-26 2024-02-29 北京字跳网络技术有限公司 一种投屏处理方法、装置、设备以及存储介质

Also Published As

Publication number Publication date
CN113691826B (zh) 2023-10-27

Similar Documents

Publication Publication Date Title
CN114115681A (zh) 页面生成方法及装置、电子设备和介质
CN112783731A (zh) 异常设备检测方法、装置、设备和存储介质
CN113609027A (zh) 一种arm云服务器的测试方法、装置、电子设备和存储介质
CN113691826A (zh) 一种直播间展示方法、装置、设备以及存储介质
CN114997329A (zh) 用于生成模型的方法、装置、设备、介质和产品
CN114374703A (zh) 云手机信息的获取方法、装置、设备以及存储介质
CN115061921A (zh) 自动测试方法、装置、电子设备及可读存储介质
CN116301992A (zh) 一种升级方法、装置、设备及存储介质
CN112799642B (zh) 用于处理数据的方法、装置、设备以及存储介质
CN115328736A (zh) 一种探针部署方法、装置、设备和存储介质
CN115391158A (zh) 一种时延确定方法、系统、装置及电子设备
CN114386577A (zh) 用于执行深度学习模型的方法、设备和存储介质
CN113867634A (zh) 数据读取方法、装置、电子设备及存储介质
CN114546343A (zh) 活动页面的生成方法和装置
CN113642295A (zh) 页面排版方法、装置及计算机程序产品
CN114416476A (zh) 云手机应用的运行监控方法、装置、设备以及存储介质
CN113485629A (zh) 触控事件的处理方法及装置、存储介质、电子设备
CN114610511B (zh) 一种输入校验方法、装置、电子设备及存储介质
CN113961405B (zh) 状态切换指令验证方法、装置、电子设备及存储介质
CN113962191B (zh) 序列随机化方法、装置、电子设备及存储介质
CN111744204B (zh) 游戏外挂检测方法及装置、计算机存储介质、电子设备
CN114372004A (zh) 一种基于移动跨平台技术的场景重现方法及其相关设备
CN116302086A (zh) 应用程序的处理方法、装置、电子设备与可读存储介质
CN115576720A (zh) Rpc超时时长配置方法、装置、电子设备及存储介质
CN113656268A (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