CN109391851B - 视频直播方法、装置、计算机设备和存储介质 - Google Patents
视频直播方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109391851B CN109391851B CN201810019177.4A CN201810019177A CN109391851B CN 109391851 B CN109391851 B CN 109391851B CN 201810019177 A CN201810019177 A CN 201810019177A CN 109391851 B CN109391851 B CN 109391851B
- Authority
- CN
- China
- Prior art keywords
- live broadcast
- broadcast room
- user
- identifier
- user side
- 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
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000012795 verification Methods 0.000 claims abstract description 85
- 230000000007 visual effect Effects 0.000 claims description 27
- 241000209140 Triticum Species 0.000 claims description 19
- 235000021307 Triticum Nutrition 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 14
- 230000003190 augmentative effect Effects 0.000 claims description 10
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 239000003550 marker Substances 0.000 claims description 6
- 230000003993 interaction Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 239000002131 composite material Substances 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000002035 prolonged effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- 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/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/23418—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/26613—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/633—Control signals issued by server directed to the network components or client
- H04N21/6332—Control signals issued by server directed to the network components or client directed to client
- H04N21/6334—Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
- H04N21/63345—Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供一种视频直播方法、装置、计算机设备和存储介质,方法包括:接收用户端发送的携带有相应用户标识的直播间数据获取请求;根据直播间数据获取请求查询相应的直播间数据列表;直播间数据列表中的每个直播间数据各自包含相应的直播间标识;对直播间数据列表中的每个直播间数据分别生成对应于相应直播间标识和用户标识的验证密钥;向用户端反馈对应于直播间数据获取请求的直播间数据列表;反馈的直播间数据列表中的每个直播间数据包含各自对应的直播间标识和验证密钥;当检测到用户端对应的用户标识根据验证密钥加入与相应直播间标识对应的集群时,向用户端广播携带直播间标识的直播视频流,提高了视频直播效率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种视频直播方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,直播应用数量越来越多,网络直播作为新兴的社交方式成为新媒体营销的新阵地。如何在直播竞争中取得领先优势,成为各个直播应用寻求差异化的动力,为了提升直播效果,互动直播逐渐成为直播发展趋势。目前网络直播的主要方式是主播单向向观众用户端发送视频流,观众只能通过文字或图片的形式与主播互动,互动方式单一,互动效果不佳。
逐步发展起来的视频直播,实现了主播与连麦观众的双向视频互动,提升了直播效果。但是目前的视频直播主要是基于RTMP(Real Time Messaging Protocol,实时消息传输协议)技术进行连麦以及进行视频连麦互动,存在连麦和互动延时,从而降低视频直播效率。
发明内容
基于此,有必要针对目前视频直播效率低的技术问题,提供一种视频直播方法、装置、计算机设备和存储介质。
一种视频直播方法,所述方法包括:
接收用户端发送的携带有相应用户标识的直播间数据获取请求;
根据所述直播间数据获取请求查询相应的直播间数据列表;所述直播间数据列表中的每个直播间数据各自包含相应的直播间标识;
对所述直播间数据列表中的每个直播间数据分别生成对应于相应直播间标识和所述用户标识的验证密钥;
向所述用户端反馈对应于所述直播间数据获取请求的直播间数据列表;反馈的所述直播间数据列表中的每个直播间数据包含各自对应的直播间标识和验证密钥;
当检测到所述用户端对应的用户标识根据所述验证密钥加入与相应直播间标识对应的集群时,向所述用户端广播携带所述直播间标识的直播视频流。
一种视频直播装置,其特征在于,所述装置包括:
请求接收模块,用于接收用户端发送的携带有相应用户标识的直播间数据获取请求;
列表获取模块,用于根据所述直播间数据获取请求查询相应的直播间数据列表;所述直播间数据列表中的每个直播间数据各自包含相应的直播间标识;
密钥生成模块,用于对所述直播间数据列表中的每个直播间数据分别生成对应于相应直播间标识和所述用户标识的验证密钥;
列表反馈模块,用于向所述用户端反馈对应于所述直播间数据获取请求的直播间数据列表;反馈的所述直播间数据列表中的每个直播间数据包含各自对应的直播间标识和验证密钥;
视频流广播模块,用于当检测到所述用户端对应的用户标识根据所述验证密钥加入与相应直播间标识对应的集群时,向所述用户端广播携带所述直播间标识的直播视频流。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
接收用户端发送的携带有相应用户标识的直播间数据获取请求;
根据所述直播间数据获取请求查询相应的直播间数据列表;所述直播间数据列表中的每个直播间数据各自包含相应的直播间标识;
对所述直播间数据列表中的每个直播间数据分别生成对应于相应直播间标识和所述用户标识的验证密钥;
向所述用户端反馈对应于所述直播间数据获取请求的直播间数据列表;反馈的所述直播间数据列表中的每个直播间数据包含各自对应的直播间标识和验证密钥;
当检测到所述用户端对应的用户标识根据所述验证密钥加入与相应直播间标识对应的集群时,向所述用户端广播携带所述直播间标识的直播视频流。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
接收用户端发送的携带有相应用户标识的直播间数据获取请求;
根据所述直播间数据获取请求查询相应的直播间数据列表;所述直播间数据列表中的每个直播间数据各自包含相应的直播间标识;
对所述直播间数据列表中的每个直播间数据分别生成对应于相应直播间标识和所述用户标识的验证密钥;
向所述用户端反馈对应于所述直播间数据获取请求的直播间数据列表;反馈的所述直播间数据列表中的每个直播间数据包含各自对应的直播间标识和验证密钥;
当检测到所述用户端对应的用户标识根据所述验证密钥加入与相应直播间标识对应的集群时,向所述用户端广播携带所述直播间标识的直播视频流。
上述视频直播方法、装置、计算机设备和存储介质,根据接收的直播间数据获取请求查询相应的直播间数据列表,分别计算直播间数据列表中各个直播间数据对应的验证密钥,向用户端反馈携带有验证密钥和直播间标识的直播间数据列表,以使得用户端对应的用户标识依据验证密钥即可直接加入相应的集群,提高了加入与直播间标识对应的集群的效率。当检测到用户端对应的用户标识依据验证密钥加入相应的集群时,向相应的用户端广播对应于相应直播间标识的直播视频流,提高了用户端的直播视频流获取效率,从而提高了视频直播效率。
附图说明
图1为一个实施例中视频直播方法的应用环境图;
图2为一个实施例中计算机设备的内部结构图;
图3为一个实施例中视频直播方法的流程示意图;
图4为目前视频直播方法中直播视频流的传输流程示意图;
图5为目前视频直播方法中直播视频流的另一个传输流程示意图;
图6为一个实施例中用户端播放直播视频流的流程示意图;
图7为另一个实施例中视频直播方法的流程示意图;
图8为一个实施例中视频直播装置的结构框图;
图9为另一个实施例中视频直播装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,在一个实施例中,提供了一种视频直播方法的应用环境图。参照图1,该视频直播方法应用于视频直播系统,该系统包括终端110和服务器120,终端110和服务器120通过网络连接。其中,终端110具体可以包括第一终端111和第二终端112。终端110具体可以是移动终端或台式终端,移动终端具体可以是手机、平板电脑和笔记本电脑等中的至少一种,台式终端具体可以是台式计算机。服务器120具体可以是单个服务器或多个服务器组成的服务器集群。
图2为一个实施例中计算机设备的内部结构示意图。该计算机设备可用作图1中的服务器。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的存储器中可存储有操作系统,还存储有计算机程序,该计算机设备被处理器执行时,可使得处理器实现一种视频直播方法。该计算机设备的内存储器为非易失性存储介质中的计算机程序的运行提供环境。该处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的网络接口用于据以与外部通信,如接收直播间数据获取请求,并返回相应的直播间数据列表。
本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
如图3所示,在一个实施例中,提供了一种视频直播方法。本实施例中,以该方法应用于上述图1中的服务器来举例说明。该方法具体包括如下步骤:
S302,接收用户端发送的携带有相应用户标识的直播间数据获取请求。
其中,用户端是安装在用户终端的用户端软件。用户标识用于唯一标识用户。用户标识具体可以是数字、字母和符号等中的至少一种字符组成的字符串。直播间数据获取请求是触发获取直播间数据的请求。
具体地,服务器接收用户端发送的直播间数据获取请求,接收的直播间数据获取请求中携带有对应于用户端的用户标识。服务器通过解析接收的直播间数据获取请求获得相应的用户标识。
在一个实施例中,服务器接收用户端发送的直播间数据获取请求,根据接收的直播间数据获取请求从用户端获取相应的用户标识。
在一个实施例中,服务器接收的用户端发送的直播间数据获取请求,可以是用户端在启动时生成并发送的直播间数据获取请求,也可以是用户端在运行过程中动态生成的直播间数据获取请求。
S304,根据直播间数据获取请求查询相应的直播间数据列表;直播间数据列表中的每个直播间数据各自包含相应的直播间标识。
其中,直播间数据列表是多个直播间数据以列表的形式组成的集合。直播间标识用于唯一标识直播间。直播间标识具体可以包括数字、符号和字母等字符中的人至少一种。
具体地,服务器本地存储有多个直播间数据,存储的每个直播间数据各自包含相应的直播间标识。服务器接收的用户端发送的直播间数据获取请求时,根据接收的直播间数据获取请求在本地存储中查询相应的直播间数据列表。
S306,对直播间数据列表中的每个直播间数据分别生成对应于相应直播间标识和用户标识的验证密钥。
其中,验证密钥是用户标识加入相应直播间标识对应的集群的凭证。验证密钥具体可用于验证用户标识是否具备加入相应直播间标识对应的集群的权限。验证密钥具体可以是数字、字母和符号等字符组成的字符串。
具体地,服务器根据接收的直播间数据获取请求获得相应的用户标识,从查询到的直播间数据列表中分别获取每个直播间数据对应的直播间标识。对于每个直播间数据,根据所获取的用户标识和每个直播间数据各自对应的直播间标识分别生成相应的验证密钥。
S308,向用户端反馈对应于直播间数据获取请求的直播间数据列表;反馈的直播间数据列表中的每个直播间数据包含各自对应的直播间标识和验证密钥。
具体地,服务器将根据用户标识和每个直播间数据各自对应的直播间标识分别生成的验证密钥,分别加入直播间数据列表中的相应直播间数据中,获得包含直播间标识和相应验证密钥、且对应于直播间数据获取请求的直播间数据列表,并将所获得的直播间数据列表发送至相应的用户端。
S310,当检测到用户端对应的用户标识根据验证密钥加入与相应直播间标识对应的集群时,向用户端广播携带直播间标识的直播视频流。
其中,集群是多个用户标识组合而成的集合。直播视频流是直播间直播时实时产生的视频流数据。
具体地,服务器向用户端反馈对应于直播间数据获取请求的直播间数据列表,以供用户端从接收的直播间数据列表中选择相应的直播间数据。用户端从接收的直播间数据列表中选择直播间数据时,根据选择的直播间数据中包含的直播间标识确定相应的集群,并根据选择的直播间数据中包含的验证密钥将对应的用户标识,加入对应确定的集群中。服务器当检测到用户端对应的用户标识根据直播间数据中的验证密钥加入相应的集群时,根据集群对应的直播间标识查询相应的直播视频流,并向加入集群的用户标识对应的用户端广播查询到的直播视频流。
在一个实施例中,服务器检测到用户端对应的用户标识根据验证密钥加入相应直播间标识对应的集群时,根据用户标识、直播间标识,以及直播间标识对应的直播视频流生成相应的广播包,向用户标识对应的用户端广播所生成的广播包。
在一个实施例中,服务器基于UDP(User Datagram Protocol,用户数据报协议)向用户端广播携带相应直播间标识的直播视频流。基于UDP协议传输直播视频流,延时低于300ms,提高了直播视频流传输效率,提高了视频直播效率。
上述视频直播方法,根据接收的直播间数据获取请求查询相应的直播间数据列表,分别计算直播间数据列表中各个直播间数据对应的验证密钥,向用户端反馈携带有验证密钥和直播间标识的直播间数据列表,以使得用户端对应的用户标识依据验证密钥即可直接加入相应的集群,提高了加入与直播间标识对应的集群的效率。当检测到用户端对应的用户标识依据验证密钥加入相应的集群时,向相应的用户端广播对应于相应直播间标识的直播视频流,提高了用户端的直播视频流获取效率,从而提高了视频直播效率。
在一个实施例中,上述视频直播方法中,直播间数据列表中的直播间数据按照排序分别对应有相应的序号;上述方法还包括:当用户端在预设位置处检测到直播间数据列表中与预设序号相匹配的序号所对应的直播间数据时,执行接收用户端发送的携带有相应用户标识的直播间数据获取请求的步骤;其中,预设序号由用户端根据相应终端的性能和当前的网络性能,以及相应直播间数据列表中直播间数据的总数确定。
其中,序号是按先后顺序排列的数据列表中的每个数据所对应的数字。序号用于表示直播间数据在直播间数据列表中的排序位置。预设序号是预先设定的用于与直播间数据列表中直播间数据对应的序号相比较的数字。预设位置是预先设定的位置。预设位置具体可以是用户端显示界面的底端或顶端,也可以是其他预设位置。性能用于表示终端的软件或硬件支持能力,比如说终端在单位时间内的运行处理能力,或者终端的运行内存等。网络性能用于表示网络的运行状况,比如说网络运行带宽,或数据传输的速率等。
具体地,服务器根据直播间数据获取请求查询到的直播间数据列表中,每个直播间数据按照其在直播间数据列表中的排序分别对应有相应的序号。服务器将查询到的直播间数据列表发送至用户端。用户端获取相应终端的性能,并实时检测网络性能,并根据接收的直播间数据列表中直播间数据的总数和相应终端的性能,以及当前检测的网络性能确定触发直播间数据获取请求的直播间数据所对应的序号,将所确定的序号记为动态比较的预设序号。用户端实时检测预设位置处的直播间数据,并确定检测到的直播间数据在相应直播间数据列表中的序号。用户端将确定的直播间数据对应的序号与动态确定的预设序号相匹配,当匹配成功时,向服务器发送直播间数据获取请求。
进一步地,服务器接收用户端发送的直播间数据获取请求,根据接收的直播间数据获取请求查询相应的直播间数据列表,对查询的直播间数据列表中的每个直播间数据分布生成相应的验证密钥,并将包含验证密钥和直播间标识的直播间数据列表发送至相应的用户端。服务器检测到用户标识根据验证密钥加入相应直播间标识对应的集群时,向该用户标识对应的用户端广播对应于相应直播间标识的直播视频流。
在一个实施例中,服务器接收用户端发送的直播间数据获取请求,解析接收的直播间数据获取请求,获得对应于该直播间数据获取请求所需查询的直播间数据的个数,根据解析的直播间数据获取请求定位查询的直播间数据,并获取相应的直播间数据列表。
目前的视频直播方法中,直播间数据的加载方式主要有两种。一种是服务器接收的用户端在启动时发送的直播间数据获取请求,并根据接收的直播间数据获取请求查询包含所有直播间数据的直播间数据列表,将查询的直播间数据列表发送至相应用户端。该方法中服务器响应直播间数据获取请求的时间变长,直播间数据列表中的总数越多,响应时间越长,因而导致用户端在启动时加载直播间数据列表的时间变长。直播间数据列表加载速度慢,延长了用户的等待时间,降低了用户体验感,从而导致用户放弃使用视频直播。
一种是分页加载技术,服务器根据直播间数据获取请求向用户端反馈包含指定数量直播间数据的直播间数据列表,并接收用户端在预设位置处检测到当前直播间数据列表中的末尾处的直播间数据时发送的直播间数据获取请求。该种方法中,服务器单次响应直播间数据获取请求的效率提高,提高了用户端单次加载直播间数据列表的效率,但是相邻两个直播间数据列表数据的加载仍然存在等待时间,降低了用户体验。
相对于上述两种直播间数据加载方式,上述实施例中,由用户端根据相应终端的性能和实时监测的网络性能,以及当前接收的直播间数据列表中直播间数据的总数,动态确定触发直播间数据获取请求的直播间数据,接收用户端在预设位置处检测到动态确定的直播间数据时发送的直播间数据获取请求,并反馈相应的直播间数据列表。将分页加载技术与预加载技术相结合,并动态确定预加载的时机,提高了直播间数据列表的加载效率,并且用户端显示的相邻两次获取的直播间数据列表无缝衔接,实现了无感知直播间数据加载,提高了用户体验,从而提高了视频直播效率。
在一个实施例中,上述视频直播方法中,用户端包括连麦端;集群中的用户标识包括主播标识;上述方法还包括:接收多个连麦端分别发送的携带相同的直播间标识的连麦请求;获取连麦请求所携带的用户标识;对用户标识按照相应的用户特征属性值排序,得到用户标识序列;将用户标识序列反馈至主播标识对应的用户端;接收主播标识对应的用户端从用户标识序列中选中的用户标识;建立选中的用户标识对应的用户端和主播标识对应的用户端之间的视频通话连接。
其中,主播标识用于唯一标识用户身份为主播的用户。连麦端是发送连麦请求、且安装于用户终端的客户端软件。用户特征属性值是用于表示用户特征属性的值。用户特征属性值具体可以是珍心值或守护主播属性值。珍心值越高代表相应用户标识对应的用户与主播的亲近程度越高,连麦和相亲成功的概率也越大。守护主播属性值表示相应用户标识对应的用户守护心仪的主播。具备守护主播属性值的用户标识对应的用户与主播连麦与相亲成功的概率相对较大。
具体地,服务器接收多个连麦端分别发送的连麦请求,根据接收的连麦请求分别获取相应的直播间标识和用户标识。对于携带相同直播间标识的连麦请求,服务器分别获取对应于连麦请求的用户标识所对应的用户特征属性值,并根据获取的用户特征属性值对相应的用户标识排序,获得相应的用户标识序列。服务器根据直播间标识查询相应集群中的主播标识,并将对应于该直播间标识获得的用户标识序列,发送至查询到的主播标识对应的用户端。主播标识对应的用户端从接收的用户标识序列中选择连麦的用户标识,并将选择的用户标识发送至服务器。服务器接收主播标识对应的用户端发送的用户标识,查询接收的用户标识对应的用户端,并建立查询到的用户标识对应的用户端与主播标识对应的用户端之间的视频通话连接。
在一个实施例中,服务器将携带相同直播间标识的连麦请求所对应的用户标识,根据相应的用户特征属性值排序,获取相应的用户标识序列。服务器查询对应于相应直播间标识的集群中的主播标识和其他用户标识,将获取的用户标识序列分别发送至查询的主播标识和其他用户标识。当根据主播标识对应的用户端选中的用户标识,建立选中的用户标识对应的用户端与主播标识对应的用户端之间的视频通话连接时,将建立视频通话连接的提示信息发送至集群中、除了建立视频通话连接的用户标识和主播标识以外的其他用户标识对应的用户端。将用户标识序列和建立视频通话连接的提示信息发送至集群中的多个用户标识各自对应的用户端,实现了多用户标识进行视频直播互动,以及多用户标识实时观看视频直播互动的效果。
在一个实施例中,服务器根据用户标识分别取的用户特征属性值为珍心值和守护主播属性值。按照守护主播属性值优先,珍心值次之,其他按照接收连麦请求的先后顺序对携带相同直播间标识的连麦请求对应的用户标识排序,获得相应的用户标识序列。将按照上述方式排序获得的用户标识序列发送至相应主播标识对应的用户端,提高了连麦推荐精准度,增加了相亲成功的概率。
上述实施例中,对于携带相同直播间标识的连麦请求所对应的用户标识,按照每个用户标识自个对应的用户特征属性值对用户标识排序,获得相应的用户标识序列,并将获得的用户标识序列发送至相应主播标识对应的用户端,以使得主播标识对应的用户端根据推荐的顺序从用户标识序列选择相亲成功概率最大的用户标识进行连麦,实现了精准的连麦推荐,提高了相亲成功率。
在一个实施例中,上述视频直播方法还包括:接收用户端发送的长连接请求;根据长连接请求获取相应的用户标识和直播间标识;根据获取的用户标识和直播间标识对长连接请求进行验证;当验证通过时,与用户端建立用于进行传输即时消息的长连接。
其中,长连接请求是用于触发建立长连接的请求。即时消息是实时产生的消息。长连接是指连接建立后不管是否进行数据的传输均保持连接状态。服务器可通过建立的长连接接收用户端发送的即时消息,并将接收的即时消息发送至相应用户端对应的用户标识所属的集群中对应于其他用户标识的用户端。
目前视频直播互动过程中产生的直播视频流基于RTMP(Real Time MessagingProtocol,实时消息传输协议)或WebRTC P2P(Web Real-Time Communication Peer toPeer,实时对等网络通信)方式传输。其中,用户端的操作系统可以是Android(操作系统)或IOS(移动操作系统),主播标识对应的用户端可称为主播用户端,集群中除了主播标识和与主播标识建立视频通话连接的用户标识之外的其他用户标识对应的用户端可称为观众用户端。如图4所示,基于RTMP协议传输的具体过程为主播标识对应的用户端,以及与主播标识对应的用户端建立视频通话连接的连麦端分别通过RTMP将实时产生的直播视频流发送至CDN(Content Delivery Network,内容分发网络),由CDN将接收的两路直播视频流分别发送至集群中的其他用户标识对应的用户端,再由用户端将接收的两路直播视频流混流,合成一个视频直播画面。RTMP协议是基于TCP(Transmission Control Protocol,传输控制协议)进行传输的,在CDN中的传输延时较大,降低了直播视频流的获取效率,从而降低了视频直播效率。
如图5所示,主播标识对应的用户端,以及与该用户端建立视频通话连接的连麦端基于RTP(Real-time Transport Protocol,实时传输协议)通过P2P方式进行直播视频流的交互,由直播标识对应的用户端将连麦端产生的直播视频流和本地生成的直播视频流混流,将混流后的直播视频流基于RTMP协议发送至CDN,再由CDN进行混流,合成一个视频直播画面并基于RTMP协议发送至集群中的其他用户标识对应的用户端。P2P在部分网络中不适用,因而导致部分用户端不能基于P2P与主播标识对应的用户端进行实时视频直播互动,降低了视频直播效率。
上述实施例中,直播视频流以广播方式传输,提高了直播视频流的获取效率,而对于实时产生的即时消息,则通过建立的长连接进行实时传输,保证了即时消息传输的可靠性,提高了视频直播效率。
在一个实施例中,上述视频直播方法中,用户端包括连麦端;集群中的用户标识包括主播标识;上述方法还包括:通过长连接向主播标识对应的用户端发送心跳数据包;当在预设时长内未接收到对应于心跳数据包的应答包时,向主播标识所属集群中的其他用户标识对应的用户端发送相应的提示信息。
其中,心跳数据包是服务器从用户端获取对应的用户端状态的自定义数据包。应答包是用户端向服务器通知用户端状态的自定义数据包。提示消息是提示主播标识对应的用户端断开连接或后台运行的信息。
具体地,服务器按照预设周期通过建立的长连接向主播标识对应的用户端发送心跳数据包,并接收用户端对应于心跳数据包反馈的应答包。当在预设时长内未接收到对应于心跳数据包的应答包时,服务器生成相应的提示信息,查询主播标识对应的集群中的其他用户标识,向查询的用户标识对应的用户端发送生成的提示信息。
在一个实施例中,服务器查询与主播标识对应的用户端建立视频通话连接的连麦端,按照预设周期向查询的连麦端发送心跳数据包,接收连麦端针对心跳数据包反馈的应答包。当在预设时长内未接收到相应应答包时,服务器向对应于连麦端的用户标识所属的集群中的其他用户标识所对应的用户端发送相应的提示信息。
上述实施例中,通过向主播标识对应的用户端发送心跳数据包,并根据接收的应答包实时监测相应用户端的在线状态和长连接的连接状态,当监测到主播标识对应的用户端断开连接或者切换至后台运行时,将状态信息实时反馈至相应集群中的其他用户标识对应的用户端。通过该种方法实时更新主播标识对应的用户端的断开与关闭状态,避免出现“僵尸”用户,以使得集群中的其他用户标识对应的用户感知直播状态的实时性,提升了用户体验感,提高了视频直播效率。
在一个实施例中,上述视频直播方法中,集群中的用户标识包括主播标识;上述方法还包括:获取配置的礼物数据包;将礼物数据包推送至用户端;接收用户端发送的礼物赠送请求;将礼物赠送请求携带的礼物标识发送至集群中的用户标识对应的用户端;礼物标识用于确定相应的礼物数据包,并根据确定的礼物数据包展示可视化虚拟礼物。
其中,礼物数据包是可视化虚拟礼物的配置数据。礼物数据包具体可以包括可视化虚拟礼物的组成素材、礼物标识和预设的展示位置与展示形式等。礼物赠送请求是用于触发选择并展示赠送的可视化虚拟礼物的请求。可视化虚拟礼物是由文字、图片或动画等素材组合而成的虚拟化的礼物。
具体地,服务器获取通过终端配置完成的礼物数据包,通过建立的长连接将配置完成的礼物数据包推送至相应的用户端。服务器接收用户端发送的礼物赠送请求,根据接收的礼物赠送请求获取相应的礼物标识,查询用户端对应的用户标识所属的集群中的其他用户标识,将获取的礼物标识发送至查询的用户标识对应的用户端。接收礼物标识的用户端根据所接收的礼物标识查询相应的礼物数据包,并根据查询的礼物数据包展示相应的可视化虚拟礼物。
在一个实施例中,服务器将配置完成的礼物数据包存储在本地,当接收用户端发送的礼物赠送请求时,根据礼物赠送请求获取指定的礼物赠送对象的用户标识,查询该用户标识所属的集群,将礼物赠送请求指定的礼物数据包以及相应的礼物标识推送至查询的集群中的每个用户标识对应的用户端。
在一个实施例中,服务器获取的配置完成的礼物数据包预设了相应虚拟礼物的展示区域,以及展示方式。对于部分虚拟礼物可通过webp(同时提供有损压缩和无损压缩的图片文件格式)进行动画展示,提升了虚拟礼物的展示效果。
上述实施例中,通过将配置完成的礼物数据包推送至用户端,以使得用户端根据接收的礼物标识在本地查询相应的礼物数据包,并根据查询的礼物数据包展示相应的可视化虚拟礼物。通过该方法降低了用户端各自更新相应礼物数据包的复杂操作,增加了虚拟礼物的多样性,提高了礼物赠送请求的处理效率,从而提高了视频直播效率。
在一个实施例中,上述视频直播方法中,当确定的礼物数据包中携带有增强现实标记时,确定的礼物数据包用于触发用户端在直播视频流中提取视频帧,并在视频帧中识别人脸位置,确定与人脸位置匹配的礼物展示位置,在播放直播视频流时按照礼物展示位置展示相应的可视化虚拟礼物。
其中,增强现实标记用于标识相应的礼物数据包为虚拟现实礼物。视频帧是直播视频流中的最小单元画面。具体地,当接收的礼物标识所对应的礼物数据包中携带有增强现实标记时,用户端从实时获取的直播视频流中提取视频帧,并通过人脸识别技术在提取的视频帧中识别人脸位置。用户端根据礼物数据包中预定义的展示位置和识别的人脸位置确定相应视频帧中的礼物展示位置,播放该直播视频流时按照所确定的礼物展示位置在相应视频帧中展示该可视化虚拟礼物。
在一个实施例中,当用户端接收的礼物标识对应的礼物数据包中携带有增强现实标记时,根据接收的礼物标识从主播标识对应的直播视频流中提取视频帧,利用人脸识别技术从提取的视频帧中识别主播的人脸位置,并确定该视频帧中与识别的人脸位置相匹配的礼物展示位置,按照确定的礼物展示位置展示相应的可视化虚拟礼物。比如说,当用户端接收的礼物标识对应的礼物数据包为“光头强”礼物时,通过人脸识别技术识别出主播的头部,并将主播的头发虚拟地剔除,展示虚拟剔除头发后的主播。当用户端接收的礼物标识对应的礼物数据包为“戴绿帽”礼物时,将虚拟绿色帽子附加展示在识别出主播头部,展示出戴绿帽的主播头像。当用户端接收的礼物标识对应的礼物数据包为“飞吻”礼物时,将虚拟飞吻以动画的形式展示在识别出的主播的嘴上,从而实现比较真实的可视化虚拟礼物展示效果。
上述实施例中,当可视化虚拟礼物为增强现实礼物时,由接收相应礼物标识的用户端通过人脸识别技术识别视频帧中的人脸位置,并在与人脸位置匹配的礼物展示位置处展示可视化虚拟礼物,提高了可视化虚拟礼物展示的真实性,从而提高了视频直播效率。
在一个实施例中,用户端接收的直播间数据列表中的每个直播间数据携带有相应的直播间标识和验证密码,用户端对应的用户标识根据验证密钥即可加入与相应直播间标识对应的集群。用户端检测到对应的用户标识根据验证密钥加入直播数据列表中与相应直播间标识对应的集群时,启动摄像头和麦克风进行预先初始化。用户端对于接收的直播视频流,通过接口机缓存首帧数据,减少了GOP(Group of Pictures,画面组)的分片时间,通过修改播放器逻辑,当解析到I帧(关键帧)时开始播放该视频帧。首帧数据的具体展示过程如图6所示,由接机口缓存首帧数据,由云SDK(software development kit,软件开发工具包)下载缓存的视频帧并进行解码,再由Qzone App(Qzone Application,QQ空间应用程序)对解码的视频帧进行渲染,展示渲染后的视频帧。
在一个具体的实施例中,如图7所示,视频直播的业务流程具体为:主播正常开始直播,加入该直播间的观众用户对应的用户端通过接收服务器广播的直播视频流,以使得观众用户实时观看主播的单人直播画面。需要连麦的观众用户对应的用户端通过服务器向主播对应的用户端发送连麦请求,进入连麦请求列表。由主播对应的用户端从连麦请求列表中选择一个或多个观众用户对应的连麦请求,并与选择的连麦请求对应的用户端进行连麦操作。主播与连麦互动观众进行实时语音视频互动,同时将生成的直播视频流实时发送至服务器,由服务器广播至该直播间中的观众用户对应的用户端,以使得观众用户实时观看包括主播和连麦互动观众的直播画面。当连麦结束时,恢复主播单人直播模式。
在一个实施例中,主播与连麦互动观众实时音视频互动产生的视频流,由服务器生成合成画面(混流画面),并将合成画面通过CDN分发至观众用户对应的用户端,该种直播方式称为旁路直播。基于接收的合成画面实时观看语音视频互动的观众用户称为旁路观众。通过旁路直播,可实现多人语音视频互动,多人同时观看的效果。
如图7所示,在一个实施例中,提供了一种视频直播方法,该方法具体包括以下步骤:
S702,服务器接收用户端发送的携带有相应用户标识的直播间数据获取请求。
S704,服务器根据所述直播间数据获取请求查询相应的直播间数据列表;所述直播间数据列表中的每个直播间数据各自包含相应的直播间标识。
S706,服务器对所述直播间数据列表中的每个直播间数据分别生成对应于相应直播间标识和所述用户标识的验证密钥。
S708,服务器向所述用户端反馈对应于所述直播间数据获取请求的直播间数据列表;反馈的所述直播间数据列表中的每个直播间数据包含各自对应的直播间标识和验证密钥。
S710,当检测到所述用户端对应的用户标识根据所述验证密钥加入与相应直播间标识对应的集群时,服务器向所述用户端广播携带所述直播间标识的直播视频流。
S712,当所述用户端在预设位置处检测到所述直播间数据列表中与预设序号相匹配的序号所对应的直播间数据时,服务器返回执行步骤S702。
S714,服务器接收多个连麦端分别发送的携带相同的直播间标识的连麦请求;获取所述连麦请求所携带的用户标识。
S716,服务器对所述用户标识按照相应的用户特征属性值排序,得到用户标识序列;将所述用户标识序列反馈至所述主播标识对应的用户端。
S718,服务器接收所述主播标识对应的用户端从所述用户标识序列中选中的用户标识;建立选中的用户标识对应的用户端和所述主播标识对应的用户端之间的视频通话连接。
S720,服务器接收所述用户端发送的长连接请求;根据所述长连接请求获取相应的用户标识和直播间标识。
S722,服务器根据获取的所述用户标识和所述直播间标识对所述长连接请求进行验证;当验证通过时,与所述用户端建立用于进行传输即时消息的长连接。
S724,服务器通过所述长连接向所述主播标识对应的用户端发送心跳数据包;当在预设时长内未接收到对应于所述心跳数据包的应答包时,向所述主播标识所属集群中的其他用户标识对应的用户端发送相应的提示信息。
S726,服务器获取配置的礼物数据包;将所述礼物数据包推送至所述用户端。
S728,服务器接收所述用户端发送的礼物赠送请求;将所述礼物赠送请求携带的礼物标识发送至所述集群中的用户标识对应的用户端。
上述实施例中,根据用户端发送的直播间数据获取请求查询相应的直播间数据列表,并返回携带验证密钥的直播间数据列表,以使得用户端对应的用户标识根据验证密钥快速加入相应的集群中,提高了集群的效率。当检测到用户标识加入集群时,实时向用户标识对应的用户端广播相应的直播视频流,提高了直播视频流的获取效率,从而提高了视频直播效率。进一步地,根据用户端动态触发的直播间数据获取请求反馈相应的直播间数据列表,根据用户特征属性值对对应于相同直播间标识的连麦请求所对应的用户标识进行排序,并发送相应的用户标识序列,通过建立的长连接传输即时消息和实现心跳同步机制,以及动态配置礼物数据包,实现可视化虚拟礼物的赠送等,均进一步提高了视频直播效率。
如图8所示,在一个实施例中,提供了一种视频直播装置800,视频直播装置800包括:请求接收模块801、列表获取模块802、密钥生成模块803、列表反馈模块804、视频流广播模块805。
请求接收模块801,用于接收用户端发送的携带有相应用户标识的直播间数据获取请求。
列表获取模块802,用于根据直播间数据获取请求查询相应的直播间数据列表;直播间数据列表中的每个直播间数据各自包含相应的直播间标识。
密钥生成模块803,用于对直播间数据列表中的每个直播间数据分别生成对应于相应直播间标识和用户标识的验证密钥。
列表反馈模块804,用于向用户端反馈对应于直播间数据获取请求的直播间数据列表;反馈的直播间数据列表中的每个直播间数据包含各自对应的直播间标识和验证密钥。
视频流广播模块805,用于当检测到用户端对应的用户标识根据验证密钥加入与相应直播间标识对应的集群时,向用户端广播携带直播间标识的直播视频流。
上述视频直播装置,根据接收的直播间数据获取请求查询相应的直播间数据列表,分别计算直播间数据列表中各个直播间数据对应的验证密钥,向用户端反馈携带有验证密钥和直播间标识的直播间数据列表,以使得用户端对应的用户标识依据验证密钥即可直接加入相应的集群,提高了加入与直播间标识对应的集群的效率。当检测到用户端对应的用户标识依据验证密钥加入相应的集群时,向相应的用户端广播对应于相应直播间标识的直播视频流,提高了用户端的直播视频流获取效率,从而提高了视频直播效率。
在一个实施例中,直播间数据列表中的直播间数据按照排序分别对应有相应的序号;请求接收模块801,还用于当用户端在预设位置处检测到直播间数据列表中与预设序号相匹配的序号所对应的直播间数据时,接收用户端发送的携带有相应用户标识的直播间数据获取请求;其中,预设序号由用户端根据相应终端的性能和当前的网络性能,以及相应直播间数据列表中直播间数据的总数确定。
上述实施例中,由用户端根据相应终端的性能和实时监测的网络性能,以及当前接收的直播间数据列表中直播间数据的总数,动态确定触发直播间数据获取请求的直播间数据,接收用户端在预设位置处检测到动态确定的直播间数据时发送的直播间数据获取请求,并反馈相应的直播间数据列表。将分页加载技术与预加载技术相结合,并动态确定预加载的时机,提高了直播间数据列表的加载效率,并且用户端显示的相邻两次获取的直播间数据列表无缝衔接,实现了无感知直播间数据加载,提高了用户体验,从而提高了视频直播效率。
如图9所示,在一个实施例中,用户端包括连麦端;集群中的用户标识包括主播标识;视频直播装置800还包括:视频通话连接建立模块806。视频通话连接建立模块806用于接收多个连麦端分别发送的携带相同的直播间标识的连麦请求;还用于获取连麦请求所携带的用户标识;还用于对用户标识按照相应的用户特征属性值排序,得到用户标识序列;还用于将用户标识序列反馈至主播标识对应的用户端;还用于接收主播标识对应的用户端从用户标识序列中选中的用户标识;还用于建立选中的用户标识对应的用户端和主播标识对应的用户端之间的视频通话连接。
上述实施例中,对于携带相同直播间标识的连麦请求所对应的用户标识,按照每个用户标识自个对应的用户特征属性值对用户标识排序,获得相应的用户标识序列,并将获得的用户标识序列发送至相应主播标识对应的用户端,以使得主播标识对应的用户端根据推荐的顺序从用户标识序列选择相亲成功概率最大的用户标识进行连麦,实现了精准的连麦推荐,提高了相亲成功率。
在一个实施例中,视频直播装置800还包括:长连接建立模块807。长连接建立模块807用于接收用户端发送的长连接请求;还用于根据长连接请求获取相应的用户标识和直播间标识;还用于根据获取的用户标识和直播间标识对长连接请求进行验证;还用于当验证通过时,与用户端建立用于进行传输即时消息的长连接。
上述实施例中,直播视频流以广播方式传输,提高了直播视频流的获取效率,而对于实时产生的即时消息,则通过建立的长连接进行实时传输,保证了即时消息传输的可靠性,提高了视频直播效率。
在一个实施例中,用户端包括连麦端;集群中的用户标识包括主播标识;视频直播装置800还包括:监控模块808。监控模块808用于通过长连接向主播标识对应的用户端发送心跳数据包;还用于当在预设时长内未接收到对应于心跳数据包的应答包时,向主播标识所属集群中的其他用户标识对应的用户端发送相应的提示信息。
上述实施例中,通过向主播标识对应的用户端发送心跳数据包,并根据接收的应答包实时监测相应用户端的在线状态和长连接的连接状态,当监测到主播标识对应的用户端断开连接或者切换至后台运行时,将状态信息实时反馈至相应集群中的其他用户标识对应的用户端。通过该种方法实时更新主播标识对应的用户端的断开与关闭状态,避免出现“僵尸”用户,以使得集群中的其他用户标识对应的用户感知直播状态的实时性,提升了用户体验感,提高了视频直播效率。
在一个实施例中,集群中的用户标识包括主播标识;视频直播装置800还包括:虚拟礼物配置模块809。虚拟礼物配置模块809用于获取配置的礼物数据包;还用于将礼物数据包推送至用户端;还用于接收用户端发送的礼物赠送请求;还用于将礼物赠送请求携带的礼物标识发送至集群中的用户标识对应的用户端;礼物标识用于确定相应的礼物数据包,并根据确定的礼物数据包展示可视化虚拟礼物。
上述实施例中,通过将配置完成的礼物数据包推送至用户端,以使得用户端根据接收的礼物标识在本地查询相应的礼物数据包,并根据查询的礼物数据包展示相应的可视化虚拟礼物。通过该方法降低了用户端各自更新相应礼物数据包的复杂操作,增加了虚拟礼物的多样性,提高了礼物赠送请求的处理效率,从而提高了视频直播效率。
在一个实施例中,当确定的礼物数据包中携带有增强现实标记时,确定的礼物数据包用于触发用户端在直播视频流中提取视频帧,并在视频帧中识别人脸位置,确定与人脸位置匹配的礼物展示位置,在播放直播视频流时按照礼物展示位置展示相应的可视化虚拟礼物。
上述实施例中,当可视化虚拟礼物为增强现实礼物时,由接收相应礼物标识的用户端通过人脸识别技术识别视频帧中的人脸位置,并在与人脸位置匹配的礼物展示位置处展示可视化虚拟礼物,提高了可视化虚拟礼物展示的真实性,从而提高了视频直播效率。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:接收用户端发送的携带有相应用户标识的直播间数据获取请求;根据所述直播间数据获取请求查询相应的直播间数据列表;所述直播间数据列表中的每个直播间数据各自包含相应的直播间标识;对所述直播间数据列表中的每个直播间数据分别生成对应于相应直播间标识和所述用户标识的验证密钥;向所述用户端反馈对应于所述直播间数据获取请求的直播间数据列表;反馈的所述直播间数据列表中的每个直播间数据包含各自对应的直播间标识和验证密钥;当检测到所述用户端对应的用户标识根据所述验证密钥加入与相应直播间标识对应的集群时,向所述用户端广播携带所述直播间标识的直播视频流。
在一个实施例中,所述直播间数据列表中的直播间数据按照排序分别对应有相应的序号;计算机程序被处理器执行时,还使得处理器执行以下步骤:当所述用户端在预设位置处检测到所述直播间数据列表中与预设序号相匹配的序号所对应的直播间数据时,执行所述接收用户端发送的携带有相应用户标识的直播间数据获取请求的步骤;其中,所述预设序号由所述用户端根据相应终端的性能和当前的网络性能,以及相应直播间数据列表中直播间数据的总数确定。
在一个实施例中,所述用户端包括连麦端;所述集群中的用户标识包括主播标识;计算机程序被处理器执行时,还使得处理器执行以下步骤:接收多个连麦端分别发送的携带相同的直播间标识的连麦请求;获取所述连麦请求所携带的用户标识;对所述用户标识按照相应的用户特征属性值排序,得到用户标识序列;将所述用户标识序列反馈至所述主播标识对应的用户端;接收所述主播标识对应的用户端从所述用户标识序列中选中的用户标识;建立选中的用户标识对应的用户端和所述主播标识对应的用户端之间的视频通话连接。
在一个实施例中,计算机程序被处理器执行时,还使得处理器执行以下步骤:接收所述用户端发送的长连接请求;根据所述长连接请求获取相应的用户标识和直播间标识;根据获取的所述用户标识和所述直播间标识对所述长连接请求进行验证;当验证通过时,与所述用户端建立用于进行传输即时消息的长连接。
在一个实施例中,所述用户端包括连麦端;所述集群中的用户标识包括主播标识;计算机程序被处理器执行时,还使得处理器执行以下步骤:通过所述长连接向所述主播标识对应的用户端发送心跳数据包;当在预设时长内未接收到对应于所述心跳数据包的应答包时,向所述主播标识所属集群中的其他用户标识对应的用户端发送相应的提示信息。
在一个实施例中,所述集群中的用户标识包括主播标识;计算机程序被处理器执行时,还使得处理器执行以下步骤:获取配置的礼物数据包;将所述礼物数据包推送至所述用户端;接收所述用户端发送的礼物赠送请求;将所述礼物赠送请求携带的礼物标识发送至所述集群中的用户标识对应的用户端;所述礼物标识用于确定相应的礼物数据包,并根据确定的礼物数据包展示可视化虚拟礼物。
在一个实施例中,当确定的礼物数据包中携带有增强现实标记时,所述确定的礼物数据包用于触发用户端在直播视频流中提取视频帧,并在所述视频帧中识别人脸位置,确定与所述人脸位置匹配的礼物展示位置,在播放所述直播视频流时按照所述礼物展示位置展示相应的可视化虚拟礼物。
上述计算机设备,根据接收的直播间数据获取请求查询相应的直播间数据列表,分别计算直播间数据列表中各个直播间数据对应的验证密钥,向用户端反馈携带有验证密钥和直播间标识的直播间数据列表,以使得用户端对应的用户标识依据验证密钥即可直接加入相应的集群,提高了加入与直播间标识对应的集群的效率。当检测到用户端对应的用户标识依据验证密钥加入相应的集群时,向相应的用户端广播对应于相应直播间标识的直播视频流,提高了用户端的直播视频流获取效率,从而提高了视频直播效率。
一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:接收用户端发送的携带有相应用户标识的直播间数据获取请求;根据所述直播间数据获取请求查询相应的直播间数据列表;所述直播间数据列表中的每个直播间数据各自包含相应的直播间标识;对所述直播间数据列表中的每个直播间数据分别生成对应于相应直播间标识和所述用户标识的验证密钥;向所述用户端反馈对应于所述直播间数据获取请求的直播间数据列表;反馈的所述直播间数据列表中的每个直播间数据包含各自对应的直播间标识和验证密钥;当检测到所述用户端对应的用户标识根据所述验证密钥加入与相应直播间标识对应的集群时,向所述用户端广播携带所述直播间标识的直播视频流。
在一个实施例中,所述直播间数据列表中的直播间数据按照排序分别对应有相应的序号;计算机程序被处理器执行时,还使得处理器执行以下步骤:当所述用户端在预设位置处检测到所述直播间数据列表中与预设序号相匹配的序号所对应的直播间数据时,执行所述接收用户端发送的携带有相应用户标识的直播间数据获取请求的步骤;其中,所述预设序号由所述用户端根据相应终端的性能和当前的网络性能,以及相应直播间数据列表中直播间数据的总数确定。
在一个实施例中,所述用户端包括连麦端;所述集群中的用户标识包括主播标识;计算机程序被处理器执行时,还使得处理器执行以下步骤:接收多个连麦端分别发送的携带相同的直播间标识的连麦请求;获取所述连麦请求所携带的用户标识;对所述用户标识按照相应的用户特征属性值排序,得到用户标识序列;将所述用户标识序列反馈至所述主播标识对应的用户端;接收所述主播标识对应的用户端从所述用户标识序列中选中的用户标识;建立选中的用户标识对应的用户端和所述主播标识对应的用户端之间的视频通话连接。
在一个实施例中,计算机程序被处理器执行时,还使得处理器执行以下步骤:接收所述用户端发送的长连接请求;根据所述长连接请求获取相应的用户标识和直播间标识;根据获取的所述用户标识和所述直播间标识对所述长连接请求进行验证;当验证通过时,与所述用户端建立用于进行传输即时消息的长连接。
在一个实施例中,所述用户端包括连麦端;所述集群中的用户标识包括主播标识;计算机程序被处理器执行时,还使得处理器执行以下步骤:通过所述长连接向所述主播标识对应的用户端发送心跳数据包;当在预设时长内未接收到对应于所述心跳数据包的应答包时,向所述主播标识所属集群中的其他用户标识对应的用户端发送相应的提示信息。
在一个实施例中,所述集群中的用户标识包括主播标识;计算机程序被处理器执行时,还使得处理器执行以下步骤:获取配置的礼物数据包;将所述礼物数据包推送至所述用户端;接收所述用户端发送的礼物赠送请求;将所述礼物赠送请求携带的礼物标识发送至所述集群中的用户标识对应的用户端;所述礼物标识用于确定相应的礼物数据包,并根据确定的礼物数据包展示可视化虚拟礼物。
在一个实施例中,当确定的礼物数据包中携带有增强现实标记时,所述确定的礼物数据包用于触发用户端在直播视频流中提取视频帧,并在所述视频帧中识别人脸位置,确定与所述人脸位置匹配的礼物展示位置,在播放所述直播视频流时按照所述礼物展示位置展示相应的可视化虚拟礼物。
上述计算机可读存储介质,根据接收的直播间数据获取请求查询相应的直播间数据列表,分别计算直播间数据列表中各个直播间数据对应的验证密钥,向用户端反馈携带有验证密钥和直播间标识的直播间数据列表,以使得用户端对应的用户标识依据验证密钥即可直接加入相应的集群,提高了加入与直播间标识对应的集群的效率。当检测到用户端对应的用户标识依据验证密钥加入相应的集群时,向相应的用户端广播对应于相应直播间标识的直播视频流,提高了用户端的直播视频流获取效率,从而提高了视频直播效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上方法实施例中的各个步骤不限定执行顺序,可以进行任意调整,为使描述简洁,未对上述方法实施例中各个步骤的所有可能排列组合都进行描述,然而,只要所有这些步骤的排列组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种视频直播方法,所述方法包括:
接收用户端发送的携带有相应用户标识的直播间数据获取请求;
根据所述直播间数据获取请求查询相应的直播间数据列表;所述直播间数据列表中的每个直播间数据各自包含相应的直播间标识;
对所述直播间数据列表中的每个直播间数据分别生成对应于相应直播间标识和所述用户标识的验证密钥;
向所述用户端反馈对应于所述直播间数据获取请求的直播间数据列表;反馈的所述直播间数据列表中的每个直播间数据包含各自对应的直播间标识和验证密钥;
当检测到所述用户端对应的用户标识根据所述验证密钥加入与相应直播间标识对应的集群时,向所述用户端广播携带所述直播间标识的直播视频流;
当所述用户端在预设位置处检测到所述直播间数据列表中与动态确定的预设序号相匹配的序号所对应的直播间数据时,返回至所述接收用户端发送的携带有相应用户标识的直播间数据获取请求的步骤继续执行;所述预设序号由所述用户端根据相应终端的性能和当前的网络性能,以及相应直播间数据列表中直播间数据的总数动态确定。
2.根据权利要求1所述的方法,其特征在于,所述向所述用户端广播携带所述直播间标识的直播视频流,包括:
基于用户数据报协议,向所述用户端广播携带所述直播间标识的直播视频流。
3.根据权利要求1所述的方法,其特征在于,所述用户端包括连麦端;所述集群中的用户标识包括主播标识;所述方法还包括:
接收多个连麦端分别发送的携带相同的直播间标识的连麦请求;
获取所述连麦请求所携带的用户标识;
对所述用户标识按照相应的用户特征属性值排序,得到用户标识序列;
将所述用户标识序列反馈至所述主播标识对应的用户端;
接收所述主播标识对应的用户端从所述用户标识序列中选中的用户标识;
建立选中的用户标识对应的用户端和所述主播标识对应的用户端之间的视频通话连接。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述用户端发送的长连接请求;
根据所述长连接请求获取相应的用户标识和直播间标识;
根据获取的所述用户标识和所述直播间标识对所述长连接请求进行验证;
当验证通过时,与所述用户端建立用于进行传输即时消息的长连接。
5.根据权利要求4所述的方法,其特征在于,所述用户端包括连麦端;所述集群中的用户标识包括主播标识;所述方法还包括:
通过所述长连接向所述主播标识对应的用户端发送心跳数据包;
当在预设时长内未接收到对应于所述心跳数据包的应答包时,向所述主播标识所属集群中的其他用户标识对应的用户端发送相应的提示信息。
6.根据权利要求1所述的方法,其特征在于,所述集群中的用户标识包括主播标识;所述方法还包括:
获取配置的礼物数据包;
将所述礼物数据包推送至所述用户端;
接收所述用户端发送的礼物赠送请求;
将所述礼物赠送请求携带的礼物标识发送至所述集群中的用户标识对应的用户端;所述礼物标识用于确定相应的礼物数据包,并根据确定的礼物数据包展示可视化虚拟礼物。
7.根据权利要求6所述的方法,其特征在于,当确定的礼物数据包中携带有增强现实标记时,所述确定的礼物数据包用于触发用户端在直播视频流中提取视频帧,并在所述视频帧中识别人脸位置,确定与所述人脸位置匹配的礼物展示位置,在播放所述直播视频流时按照所述礼物展示位置展示相应的可视化虚拟礼物。
8.一种视频直播装置,其特征在于,所述装置包括:
请求接收模块,用于接收用户端发送的携带有相应用户标识的直播间数据获取请求;
列表获取模块,用于根据所述直播间数据获取请求查询相应的直播间数据列表;所述直播间数据列表中的每个直播间数据各自包含相应的直播间标识;
密钥生成模块,用于对所述直播间数据列表中的每个直播间数据分别生成对应于相应直播间标识和所述用户标识的验证密钥;
列表反馈模块,用于向所述用户端反馈对应于所述直播间数据获取请求的直播间数据列表;反馈的所述直播间数据列表中的每个直播间数据包含各自对应的直播间标识和验证密钥;
视频流广播模块,用于当检测到所述用户端对应的用户标识根据所述验证密钥加入与相应直播间标识对应的集群时,向所述用户端广播携带所述直播间标识的直播视频流;
所述请求接收模块,还用于当所述用户端在预设位置处检测到所述直播间数据列表中与动态确定的预设序号相匹配的序号所对应的直播间数据时,接收用户端发送的携带有相应用户标识的直播间数据获取请求;所述预设序号由所述用户端根据相应终端的性能和当前的网络性能,以及相应直播间数据列表中直播间数据的总数动态确定。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810019177.4A CN109391851B (zh) | 2018-01-09 | 2018-01-09 | 视频直播方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810019177.4A CN109391851B (zh) | 2018-01-09 | 2018-01-09 | 视频直播方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109391851A CN109391851A (zh) | 2019-02-26 |
CN109391851B true CN109391851B (zh) | 2020-04-07 |
Family
ID=65416515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810019177.4A Active CN109391851B (zh) | 2018-01-09 | 2018-01-09 | 视频直播方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109391851B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109982148B (zh) * | 2019-04-03 | 2022-05-20 | 广州虎牙信息科技有限公司 | 一种直播方法、装置、计算机设备与存储介质 |
CN112511884B (zh) * | 2019-09-16 | 2023-11-03 | 江苏怀业信息技术股份有限公司 | 一种音视频流的混流控制方法、系统和存储介质 |
CN112752033B (zh) * | 2019-10-31 | 2022-03-22 | 上海哔哩哔哩科技有限公司 | 导播方法和系统 |
CN111698523B (zh) * | 2019-12-06 | 2021-11-12 | 广州方硅信息技术有限公司 | 文字虚拟礼物的赠送方法、装置、设备及存储介质 |
CN111158576A (zh) * | 2019-12-31 | 2020-05-15 | 广州酷狗计算机科技有限公司 | 基于直播场景的社交关系建立方法、装置及存储介质 |
CN112073727B (zh) * | 2020-09-22 | 2022-07-12 | Oppo广东移动通信有限公司 | 转码方法、装置、电子设备及存储介质 |
CN112738472B (zh) * | 2020-12-28 | 2023-07-07 | 深圳创维新世界科技有限公司 | 全景直播探视方法及系统、计算机可读存储介质 |
CN113365097B (zh) * | 2021-08-10 | 2021-12-07 | 北京达佳互联信息技术有限公司 | 直播信息流处理方法、装置、系统、电子设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317473A (zh) * | 2014-09-24 | 2015-01-28 | 广州华多网络科技有限公司 | 一种界面显示方法及客户端 |
CN104796737A (zh) * | 2015-04-28 | 2015-07-22 | 天脉聚源(北京)传媒科技有限公司 | 基于组的频道播放实现方法、系统及设备 |
CN104811773A (zh) * | 2015-04-28 | 2015-07-29 | 天脉聚源(北京)传媒科技有限公司 | 基于防盗链的频道播放实现方法、系统及设备 |
CN106131602A (zh) * | 2016-07-20 | 2016-11-16 | 平安健康互联网股份有限公司 | 基于主播端的交互系统及其方法 |
CN106254951A (zh) * | 2016-09-27 | 2016-12-21 | 腾讯科技(深圳)有限公司 | 一种视频直播创建方法及其系统、接入设备、管理设备 |
CN106791898A (zh) * | 2016-12-12 | 2017-05-31 | 广州华多网络科技有限公司 | 一种直播视频加载方法和装置 |
CN107086927A (zh) * | 2016-04-06 | 2017-08-22 | 腾讯科技(深圳)有限公司 | 用户音视频权限管理方法、装置和系统 |
CN107295354A (zh) * | 2017-05-15 | 2017-10-24 | 武汉斗鱼网络科技有限公司 | 一种网络直播中连麦直播建立方法及装置 |
CN107342978A (zh) * | 2017-05-27 | 2017-11-10 | 广州市百果园信息技术有限公司 | 直播间连麦控制方法、装置及相应的终端设备 |
CN107438200A (zh) * | 2017-09-08 | 2017-12-05 | 广州酷狗计算机科技有限公司 | 直播间礼物展示的方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104104524B (zh) * | 2013-04-09 | 2019-04-05 | 广州华多网络科技有限公司 | 提供直播服务的方法、终端、服务器及系统 |
CN104486339B (zh) * | 2014-12-16 | 2018-07-10 | 广州华多网络科技有限公司 | 社交应用中显示推荐数据的方法和装置 |
US20170171594A1 (en) * | 2015-12-14 | 2017-06-15 | Le Holdings (Beijing) Co., Ltd. | Method and electronic apparatus of implementing voice interaction in live video broadcast |
CN105933793A (zh) * | 2016-05-16 | 2016-09-07 | 上海银天下科技有限公司 | 视频显示方法及装置 |
CN106487781B (zh) * | 2016-09-13 | 2020-12-22 | 腾讯科技(深圳)有限公司 | 基于直播的资源数据处理方法、装置和系统 |
CN107172501B (zh) * | 2017-03-30 | 2020-05-12 | 武汉斗鱼网络科技有限公司 | 一种直播房间推荐展示方法及系统 |
-
2018
- 2018-01-09 CN CN201810019177.4A patent/CN109391851B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317473A (zh) * | 2014-09-24 | 2015-01-28 | 广州华多网络科技有限公司 | 一种界面显示方法及客户端 |
CN104796737A (zh) * | 2015-04-28 | 2015-07-22 | 天脉聚源(北京)传媒科技有限公司 | 基于组的频道播放实现方法、系统及设备 |
CN104811773A (zh) * | 2015-04-28 | 2015-07-29 | 天脉聚源(北京)传媒科技有限公司 | 基于防盗链的频道播放实现方法、系统及设备 |
CN107086927A (zh) * | 2016-04-06 | 2017-08-22 | 腾讯科技(深圳)有限公司 | 用户音视频权限管理方法、装置和系统 |
CN106131602A (zh) * | 2016-07-20 | 2016-11-16 | 平安健康互联网股份有限公司 | 基于主播端的交互系统及其方法 |
CN106254951A (zh) * | 2016-09-27 | 2016-12-21 | 腾讯科技(深圳)有限公司 | 一种视频直播创建方法及其系统、接入设备、管理设备 |
CN106791898A (zh) * | 2016-12-12 | 2017-05-31 | 广州华多网络科技有限公司 | 一种直播视频加载方法和装置 |
CN107295354A (zh) * | 2017-05-15 | 2017-10-24 | 武汉斗鱼网络科技有限公司 | 一种网络直播中连麦直播建立方法及装置 |
CN107342978A (zh) * | 2017-05-27 | 2017-11-10 | 广州市百果园信息技术有限公司 | 直播间连麦控制方法、装置及相应的终端设备 |
CN107438200A (zh) * | 2017-09-08 | 2017-12-05 | 广州酷狗计算机科技有限公司 | 直播间礼物展示的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109391851A (zh) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109391851B (zh) | 视频直播方法、装置、计算机设备和存储介质 | |
US11717749B2 (en) | Cloud gaming device handover | |
KR102387161B1 (ko) | 비디오 스크린 프로젝션 방법과 장치, 컴퓨터 장비, 및 저장 매체 | |
CN108235042B (zh) | 一种多人网络直播方法、装置、加入装置、系统、服务器和计算机可读存储介质 | |
US20180337876A1 (en) | Subscription-Based Media Push Service | |
CN113518247B (zh) | 视频播放方法、相关设备及计算机可读存储介质 | |
CN106254951B (zh) | 一种视频直播创建方法及其系统、接入设备、管理设备 | |
EP3515083B1 (en) | Method and apparatus for performing synchronization operation on contents | |
CN112565802B (zh) | 直播交互方法、系统、服务器及存储介质 | |
CN111147362B (zh) | 多人即时通讯方法、系统、装置及电子设备 | |
CN108989836A (zh) | 一种多媒体数据流的处理方法及装置 | |
WO2023061060A1 (zh) | 音视频码流的调度方法、系统、介质及电子装置 | |
CN112738638A (zh) | 一种连麦直播方法、装置、设备、存储介质及产品 | |
US20230045876A1 (en) | Video Playing Method, Apparatus, and System, and Computer Storage Medium | |
CN111683281A (zh) | 视频播放方法、装置、电子设备及存储介质 | |
CN113132194A (zh) | 一种信息流转方法、装置、设备、服务器及存储介质 | |
CN112533012B (zh) | 直播间互动信息的传输方法、装置、设备和存储介质 | |
CN104093081A (zh) | 一种基于数字电视的在线即时聊天系统及实现方法 | |
EP3316546B1 (en) | Multimedia information live method and system, collecting device and standardization server | |
CN111405230B (zh) | 会议信息处理方法、装置、电子设备及存储介质 | |
CN111447458A (zh) | 基于内容解说的直播系统、方法、装置和直播服务器 | |
CN108632681B (zh) | 播放媒体流的方法、服务器及终端 | |
KR101957807B1 (ko) | 다인칭 시점의 sns 라이브 방송을 위한 오디오 중계 방법 및 시스템 | |
CN108668151B (zh) | 音视频交互方法及装置 | |
CN101299673B (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 |