CN108235044A - 一种实现多人直播的方法、装置和服务器 - Google Patents
一种实现多人直播的方法、装置和服务器 Download PDFInfo
- Publication number
- CN108235044A CN108235044A CN201711479591.5A CN201711479591A CN108235044A CN 108235044 A CN108235044 A CN 108235044A CN 201711479591 A CN201711479591 A CN 201711479591A CN 108235044 A CN108235044 A CN 108235044A
- Authority
- CN
- China
- Prior art keywords
- live streaming
- streaming group
- group
- server
- specified
- 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.)
- Pending
Links
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, manipulating MPEG-4 scene graphs
- H04N21/23424—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
-
- 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, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44016—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
-
- 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, rendering scenes according to MPEG-4 scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
-
- 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44213—Monitoring of end-user related data
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Social Psychology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种实现多人直播的方法、装置、服务器、电子设备和计算机可读存储介质。该方法包括:响应于旁观第一指定直播群的操作指令,向服务器发送包含第一指定直播群的标识信息的直播群旁观请求;接收服务器根据直播群旁观请求返回的加入第一指定直播群的各成员的视频流;将加入第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。通过本技术方案,当用户不想作为主播加入直播群时,可以作为旁观者进入该直播群进行直播观看,满足用户的需求,增强用户的使用体验。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种实现多人直播的方法、装置、服务器、电子设备和计算机可读存储介质。
背景技术
现如今,越来越多的人参与到视频直播中,或作为主播,或作为观看用户。随着视频直播应用的功能的不断增多,出现了可以实现多人直播的场景,即在同一个视频直播间中,多个人作为一个直播群进行同时直播,该多个人可以相互沟通。通常情况下,用户进入一个直播群时,只能作为该直播群中的一个主播加入,但是无法满足用户想要观看该直播群,但是并不想作为其中的一个主播的需求。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的实现多人直播的方法、装置、服务器、电子设备和计算机可读存储介质。
依据本发明的一个方面,提供了一种实现多人直播的方法,其中,该方法包括:
响应于旁观第一指定直播群的操作指令,向服务器发送包含所述第一指定直播群的标识信息的直播群旁观请求;
接收服务器根据所述直播群旁观请求返回的加入所述第一指定直播群的各成员的视频流;
将加入所述第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
可选地,该方法进一步包括:
响应于加入第二指定直播群的操作指令,判断已加入所述第二指定直播群的成员是否已达到预设上限;
如果未达到预设上限,则获取本地视频流并将第二指定直播群的标识信息和本地视频流发送给服务器;接收服务器返回的加入所述第二指定直播群的其他成员的视频流;将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放;
如果已达到预设上限,则向服务器发送包含所述第二指定直播群的标识信息的直播群旁观请求;接收服务器根据所述直播群旁观请求返回的加入所述第二指定直播群的各成员的视频流;将加入所述第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
可选地,如果已达到预设上限,并在所述将加入所述第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放的步骤之后,该方法进一步包括:
当接收到服务器发送的所述第二指定直播群有空位的通知时,获取本地视频流,将本地视频流发送给服务器;
接收服务器返回的仍在所述第二指定直播群的其他成员的视频流;将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放。
可选地,所述判断已加入所述第二指定直播群的成员是否已达到预设上限包括:
向服务器发送包含所述第二指定直播群的标识的直播群加入请求;
接收服务器返回的允许加入直播群的响应消息,或接收服务器返回的直播群已满允许旁观的响应消息。
可选地,将本地视频流发送给服务器包括:
判断是否满足遮脸条件;
如果满足,则对所述本地视频流中的人脸进行模糊处理,或对所述本地视频流中的人脸进行遮面特效处理后再发送给服务器。
可选地,所述判断是否满足遮脸条件包括如下中的一种或多种:
判断用户是否设置了“不露脸”选项;
通过图像检测判断视频中的人脸是否被遮挡;
通过图像检测判断视频中是否存在人脸。
根据本发明的另一方面,提供了一种实现多人直播的方法,其中,该方法包括:
接收客户端发送的包含第一指定直播群的标识信息的直播群旁观请求;
根据所述直播群旁观请求将加入所述第一指定直播群的各成员的视频流返回给所述客户端,使得客户端将加入所述第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
可选地,该方法进一步包括:
接收客户端发送的包含所述第二指定直播群的标识的直播群加入请求;
判断已加入所述第二指定直播群的成员是否已达到预设上限;
如果未达到预设上限,向客户端返回允许加入直播群的响应消息;将已加入所述第二指定直播群的其他成员的视频流发送给所述客户端,接收所述客户端发送视频流并将该视频流发送给已加入所述第二指定直播群的其他成员;
如果已达到预设上限,向客户端返回直播群已满允许旁观的响应消息;接收客户端发送的包含所述第二指定直播群的标识信息的直播群旁观请求;根据所述直播群旁观请求向客户端返回加入所述第二指定直播群的各成员的视频流。
可选地,如果已达到预设上限,根据所述直播群旁观请求向客户端返回加入所述第二指定直播群的各成员的视频流之后,该方法进一步包括:
当监测到有成员退出所述第二指定直播群时,向所述客户端发送所述第二指定直播群有空位的通知;
接收所述客户端发送视频流,并将该视频流发送给仍在所述第二指定直播群的其他成员。
可选地,该方法进一步包括:
判断所述客户端发送的视频流中的人脸是否被模糊处理或遮面特效处理;
如果是,则将加入所述第二指定直播群的其他成员的视频流中的人脸也进行模糊处理或遮面特效处理后再发送给所述客户端。
根据本发明的又一方面,提供了一种实现多人直播的装置,其中,该装置包括:
旁观请求发送单元,适于响应于旁观第一指定直播群的操作指令,向服务器发送包含所述第一指定直播群的标识信息的直播群旁观请求;
接收单元,适于接收服务器根据所述直播群旁观请求返回的加入所述第一指定直播群的各成员的视频流;
播放单元,适于将加入所述第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
可选地,该装置进一步包括:
判断单元,适于响应于加入第二指定直播群的操作指令,判断已加入所述第二指定直播群的成员是否已达到预设上限;
如果未达到预设上限,则获取本地视频流并将第二指定直播群的标识信息和本地视频流发送给服务器;接收服务器返回的加入所述第二指定直播群的其他成员的视频流;将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放;
如果已达到预设上限,则向服务器发送包含所述第二指定直播群的标识信息的直播群旁观请求;接收服务器根据所述直播群旁观请求返回的加入所述第二指定直播群的各成员的视频流;将加入所述第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
可选地,
所述判断单元,适于如果已达到预设上限,并在所述将加入所述第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放的步骤之后,当接收到服务器发送的所述第二指定直播群有空位的通知时,获取本地视频流,将本地视频流发送给服务器;接收服务器返回的仍在所述第二指定直播群的其他成员的视频流;将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放。
可选地,
所述判断单元,适于向服务器发送包含所述第二指定直播群的标识的直播群加入请求;接收服务器返回的允许加入直播群的响应消息,或接收服务器返回的直播群已满允许旁观的响应消息。
可选地,
所述判断单元,适于判断是否满足遮脸条件;如果满足,则对所述本地视频流中的人脸进行模糊处理,或对所述本地视频流中的人脸进行遮面特效处理后再发送给服务器。
可选地,所述判断单元,适于在判断是否满足遮脸条件时,具体进行如下一种或多种判断:
判断用户是否设置了“不露脸”选项;
通过图像检测判断视频中的人脸是否被遮挡;
通过图像检测判断视频中是否存在人脸。
根据本发明的再一方面,提供了一种实现多人直播的服务器,其中,该服务器包括:
接收单元,适于接收客户端发送的包含第一指定直播群的标识信息的直播群旁观请求;
视频流返回单元,适于根据所述直播群旁观请求将加入所述第一指定直播群的各成员的视频流返回给所述客户端,使得客户端将加入所述第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
可选地,该服务器进一步包括:
判断单元,适于接收客户端发送的包含所述第二指定直播群的标识的直播群加入请求;
判断已加入所述第二指定直播群的成员是否已达到预设上限;
如果未达到预设上限,向客户端返回允许加入直播群的响应消息;将已加入所述第二指定直播群的其他成员的视频流发送给所述客户端,接收所述客户端发送视频流并将该视频流发送给已加入所述第二指定直播群的其他成员;
如果已达到预设上限,向客户端返回直播群已满允许旁观的响应消息;接收客户端发送的包含所述第二指定直播群的标识信息的直播群旁观请求;根据所述直播群旁观请求向客户端返回加入所述第二指定直播群的各成员的视频流。
可选地,所述判断单元,适于如果已达到预设上限,根据所述直播群旁观请求向客户端返回加入所述第二指定直播群的各成员的视频流之后,当监测到有成员退出所述第二指定直播群时,向所述客户端发送所述第二指定直播群有空位的通知;接收所述客户端发送视频流,并将该视频流发送给仍在所述第二指定直播群的其他成员。
可选地,
所述判断单元,适于判断所述客户端发送的视频流中的人脸是否被模糊处理或遮面特效处理;如果是,则将加入所述第二指定直播群的其他成员的视频流中的人脸也进行模糊处理或遮面特效处理后再发送给所述客户端。
根据本发明的再一方面,提供了一种电子设备,其中,该电子设备包括:
处理器;以及,
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行根据前述的方法,或者执行根据前述的另一方法。
根据本发明的再一方面,提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现前述的方法,或者实现前述的另一方法。
根据本发明的技术方案,响应于旁观第一指定直播群的操作指令,向服务器发送包含第一指定直播群的标识信息的直播群旁观请求;接收服务器根据直播群旁观请求返回的加入第一指定直播群的各成员的视频流;将加入第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。通过本技术方案,当用户不想作为主播加入直播群时,可以作为旁观者进入该直播群进行直播观看,满足用户的需求,增强用户的使用体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的实现多人直播的方法的流程示意图;
图2示出了根据本发明另一个实施例的实现多人直播的方法的流程示意图;
图3示出了根据本发明一个实施例的实现多人直播的装置的结构示意图;
图4示出了根据本发明一个实施例的实现多人直播的服务器的结构示意图;
图5示出了根据本发明一个实施例的电子设备的结构示意图;
图6示出了根据本发明一个实施例的计算机可读存储介质的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的实现多人直播的方法的流程示意图,从客户端侧对本方案进行说明。如图1所示,该方法包括:
步骤S110,响应于旁观第一指定直播群的操作指令,向服务器发送包含第一指定直播群的标识信息的直播群旁观请求。
当用户选择加入一个指定直播群中时,用户可以选择正常的进入该直播群,即作为其中的一个主播进入该直播群。在本实施例中,提供给用户另一个选择,即选择作为旁观者的身份加入该指定直播群,当用户选择旁观第一指定直播群的操作指令时,向服务器发送直播群旁观请求,为了获知用户旁观的是哪个直播群,将用户加入的第一指定直播群的标识信息包含在直播群旁观请求中发送给服务器。
步骤S120,接收服务器根据直播群旁观请求返回的加入第一指定直播群的各成员的视频流。
当服务器接收到上述的直播群旁观请求后,会将该直播群中的各个成员的视频流返回。
步骤S130,将加入第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
在本实施例中,服务器是将直播群中的各成员的视频流分别返回的,例如,直播群中有6个人,则服务器返回的是6个视频流。为了便于用户进行旁观,当播放各成员的视频流时,将加入第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。例如,上述的6个视频流整合到同一显示界面上进行显示,例如,将同一显示界面平均分成6块,每块分别播放一个成员的视频流,用户旁观的效果即是在同一显示界面中看到6个成员的直播视频。需要说明的是,当直播群的成员数量从6变为4时,则将4个成员的视频流整合到同一显示界面上时,则可将同一显示界面平均分成4块,每块分别播放一个成员的视频流。
在本实施例中,因为该用户是作为旁观者进入该直播群的,则无法同正常加入该直播群的用户一样和其他成员精通沟通,且无法给其他成员展示自己的视频图像,所有在旁观者侧只能浏览到该直播群的成员的视频流。
需要说明的是,本实施例可以应用在任何一款可以实现视频直播的应用程序中。
在一个具体的例子中,用户使用花椒直播时,进入开趴(即直播群)的界面,该界面中显示正在进行直播的多个直播群,当用户想要进入第10直播群(该群中有4个人正在进行直播)进行旁观时,输入旁观第10直播群的操作指令,向服务器发送包含“10”的直播群旁观请求,服务器返回该第10直播群中的4个成员的视频流,用户在花椒直播的同一显示界面中可以同时观看该4个成员的视频流。
可见,通过本实施例,当用户不想作为主播加入直播群时,可以作为旁观者进入该直播群进行直播观看,满足用户的需求,增强用户的使用体验。
通常情况下,同一视频直播间中可容纳的直播的人数是有限的,一旦一个视频直播间中直播群的人数达到上限,其他想要进入该直播间的用户则无法进入,降低用户的使用体验。
在本发明的一个实施例中,图1所示的方法进一步包括:响应于加入第二指定直播群的操作指令,判断已加入第二指定直播群的成员是否已达到预设上限;如果未达到预设上限,则获取本地视频流并将第二指定直播群的标识信息和本地视频流发送给服务器;接收服务器返回的加入第二指定直播群的其他成员的视频流;将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放;如果已达到预设上限,则向服务器发送包含第二指定直播群的标识信息的直播群旁观请求;接收服务器根据直播群旁观请求返回的加入第二指定直播群的各成员的视频流;将加入第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
在本实施例中,如果用户发送的是加入一个指定直播群的操作指令,则首先判断已加入第二指定直播群的成员是否已达到预设上限。如果没有达到预设上限,则发送指令的用户可以正常加入,但是如果达到预设上限,为了提高用户的使用体验,用户可以作为旁观者加入到该直播群中。
在本实施例中,如果没有达到预设上限,说明用户可以作为直播群的一个成员加入。因为使得直播群中的其他成员可以获取到该用户的视频流,则需要获取用户本地视频流,并将第二指定直播群的标识信息和本地视频流发送给服务器,以便服务器将该本地视频流发送给该直播群中的其他成员。同时为了浏览到其他成员的视屏,需要接收服务器返回的加入第二指定直播群的其他成员的视频流。同样的,该用户是作为直播群的一个成员加入的,在显示界面显示播放时,不仅要播放其他成员的视频,还要将自己本地的视频一通播放,所以在这里,显示播放时需要将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放。
需要说明的是,这里接收服务器返回的加入该直播群的成员的视频流,是指正在该直播群中直播的成员的视频流,例如,一个直播群,虽然预设上限是6,但是该直播群中只有4个成员,则服务器返回该4个成员的视频流,然后将该4个成员的视频流和本地视频流整合在同一显示界面上进行显示播放。
在本实施例中,如果到达预设上限,说明该直播群已经满员,但是用户可以作为一个旁观者进行观看,因此,可以向服务器发送包含第二指定直播群的标识信息的直播群旁观请求;接收服务器根据直播群旁观请求返回的加入第二指定直播群的各成员的视频流;将加入第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
例如,用户输入进入第20直播群时,首先判断该第20直播群是否已经达到预设上限6,如果该直播群中只有4个人,则将该用户的本地视频流以及“20”发送给服务器,接收服务器返回的其他在该直播群的其他4个成员的视频流,将其他4个成员和用户本地视频流整合后在同一显示界面上显示;如果直播群中已经又6个人了,则向服务器发送包含“20”的直播群旁观请求;接收服务器根据直播群旁观请求返回的该第20直播群的6个成员的视频流;将该6个成员的视频流整合在同一显示界面上进行显示播放。
需要说明的是,当达到预设上限时,可以先显示提示信息,以便用户选择是否作为旁观者进入该直播群,如果用户确认,则再向服务器发送直播群旁观请求。如果用户没有确认或者拒绝作为旁观者,则返回上一层界面,例如,各直播群的展示界面。
所以,通过本实施例,即使直播群的人数达到上限,当其他用户想要进入该直播群时,也可以提示用户作为旁观者进行该直播群的直播浏览,提高用户的使用体验。
如果达到预设上限时,并且用户已经作为旁观者进入该直播群,如果该直播群中有人退出,则作为旁观者的该用户可以作为主播进入该直播群。
进一步地,如果已达到预设上限,并在将加入第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放的步骤之后,图1所示的方法进一步包括:当接收到服务器发送的第二指定直播群有空位的通知时,获取本地视频流,将本地视频流发送给服务器;接收服务器返回的仍在第二指定直播群的其他成员的视频流;将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放。
当第二指定直播群中有人退出后,说明该直播群中的成员没有达到预设上限,则正在旁观的用户可以作为一个直播群的成员加入了,所以,在本实施例中,当接收到服务器发送的第二指定直播群有空位的通知时,获取本地视频流,将本地视频流发送给服务器,以便服务器将本地视频流发送给仍在的其他成员;接收服务器返回的仍在第二指定直播群的其他成员的视频流;将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放,这样,之前旁观的用户可以作为直播群的成员进行直播显示,进一步提高用户的使用体验。
在本发明的一个实施例中,如果旁观者有多个时,一旦服务器检测到该直播群中有空位时,将有空位的通知发送给最先作为旁观者进入该直播群的用户。
所以,在服务器接收到一个直播群旁观请求时,需要将接收到该请求的时间记录下来,以便进行排序等位。
例如,在第10直播群中,有三个旁观者,旁观者1,开始旁观时间是10点;旁观者2,开始旁观时间是10点10分,旁观者3,开始旁观时间是10点30分,当该第10直播群中有一个成员推出后,将有空位的通知发送给旁观者1,因为旁观者1是最早进入该直播群进行旁观的。
在判断直播群的成员是否已达到预设上限时,可以通过服务器侧进行判断。在本发明的一个实施例中,上述的判断已加入第二指定直播群的成员是否已达到预设上限包括:向服务器发送包含第二指定直播群的标识的直播群加入请求;接收服务器返回的允许加入直播群的响应消息,或接收服务器返回的直播群已满允许旁观的响应消息。
也就是说,当用户发送加入第二指定直播群的操作指令时,向服务器发送包含第二指定直播群的标识的直播群加入请求;如果服务器侧判断该第二指定直播群还没有达到预设上限,则会接收到服务器返回的允许加入直播群的响应消息,如果服务器侧判断该第二指定直播群已经达到预设上限,则会接收到接收服务器返回的直播群已满允许旁观的响应消息。
例如,当用户发送加入第21直播群的操作指令时,首先向服务器发送包含“21”的直播群加入请求;如果服务器侧判断该第二指定直播群还没有达到预设上限6,则会接收到服务器返回的允许加入直播群的响应消息,那么该用户就可以作为该直播群的一个成员进行直播;如果服务器侧判断该第二指定直播群已经达到预设上限6,则会接收到接收服务器返回的直播群已满允许旁观的响应消息,则该用户可以作为该直播群的一个旁观者进行观看。
在实际应用中,当用户作为一个直播群中的成员进行直播时,需要将自己的本地视频流发送给服务器,以便服务器将本地视频流发送给该直播群中的其他成员。如果用户不想让其他成员看到自己的脸部图像,则可以进行相应的处理,防止其他成员看到自己的脸。
进一步地,上述的将本地视频流发送给服务器包括:判断是否满足遮脸条件;如果满足,则对本地视频流中的人脸进行模糊处理,或对本地视频流中的人脸进行遮面特效处理后再发送给服务器。
在本实施例中,用户可以进行遮脸的选择,即一旦判断了满足遮脸的条件,就会对本地视频流中的人脸进行模糊处理或遮脸特效处理。
具体地,上述的判断是否满足遮脸条件包括如下中的一种或多种:判断用户是否设置了“不露脸”选项;通过图像检测判断视频中的人脸是否被遮挡;通过图像检测判断视频中是否存在人脸。
在本实施例中,用户在进行直播前可以在提供的选项中选择“不露脸”的选项,这样在进行直播时,首先根据人脸识别技术将本地视频流中的人脸识别出来后,将人脸进行模糊处理或者遮面特效处理后在发送给服务器。例如,将人脸进行模糊处理;或者,将人脸上叠加“萌萌兔”的面具特效,这样其他成员看到的效果就是人脸被模糊的视频流或者人脸处“萌萌兔”的面具的视频流。
在本实施例中,用户如果不愿意露脸,在进行直播时,就已经将自己的脸进行了遮挡,例如佩戴口罩或者用手进行遮挡,这说明用户是不想在直播中露脸的,根据图像检测,如果检测到用户的人脸是被遮挡的,这样满足遮脸条件,需要对本地视频流中的人脸进行模糊处理或遮脸特效处理,满足用户不露脸的需求。
在本实施例中,用户如果不愿意露脸,在进行直播时,可以将摄像头的镜头对准非人物的地方,例如天花板或地板,这说明用户是不想在直播中露脸的,这样也满足遮脸的条件,也就是说,实时对视频流进行图像检测,如果长时间检测不到人脸,突然在某一帧图像中检测到了人脸,说明用户原本不想露脸,但是在直播的过程中不小心将露脸了,就需要对人脸进行模糊或者遮脸特效处理。
在实际应用中,为了保证直播群中的一个成员可以观看到其他成员的视频直播,服务器需要会将其他成员的视频流发送给该用户的客户端,以及接收客户端发送的该用户的本地视频流。可见,在视频流的数据传输中需要占用很多的网络资源,容易造成多个人在一个直播群中的直播的实时性差,降低用户的使用体验。
在本发明的一个实施例中,图1所述的方法进一步包括:当接收加入第一指定直播群的操作指令时,获取本地视频流;根据第一指定直播群的成员数量确定目标码率,将本地视频流的码率降至目标码率后发送给服务器;接收服务器返回的加入所述第一指定直播群的其他成员的视频流;将其他成员的视频流和降码率后的本地视频流整合在同一显示界面上进行显示播放。
当进行直播群直播时,用户加入到一个指定直播群中,需要将本地视频流发送给服务器,并接收服务器返回的该指定直播群中其他加入的成员的视频流,将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放。在本实施例中,当接收到用户加入第一指定直播群的操作指令时,获取本地视频流,以便去本地视频流进行处理。这里的本地视频流可以是移动终端的摄像头采集的。
为了减少视频流传输时对网络资源的占用,在发送给服务器前,将获取的本地视频流进行降码率处理。这里的码率即是比特率,是指每秒传送的比特(bit)数,单位为bps(Bit Per Second),比特率越高,传送数据速度越快。视频中的比特率(码率)是指由模拟信号转换为数字信号后,单位时间内的二进制数据量。这里的目标码率是视频进行降码处理后所达到的码率。在本实施例中,降码处理是根据该第一指定直播群中的成员数量确定的,主要是因为降码处理后会影响视频播放的清晰度,直播群中的成员数量越多意味着在同一显示界面中显示的成员的视频流的数量越多,即每个成员的视频流占用的同一显示界面中的部分就越小,这样即使降低了一定的码率也不会影响用户的观看效果,即降码对用户是无感知的。但是如果,直播群中的成员数量小,目标码率就比较小,则会导致同一显示界面中的视频流的播放的不清晰,影响用户的观看效果,所以,在本实施例中,根据第一指定直播群的成员数量确定目标码率,然后将视频的码率降低至目标码率,可以减少占用的网路资源,提高视频流的传输速度,且不影响用户的观看效果。
通过本实施例,将本地视频流进行降码率处理后发送给服务器,在本地视频上传的过程中,占用的网络资源降低,同时服务器将本地视频发送给其他成员时,也会减少网络资源的消耗,提高视频直播的实时性,增强用户的使用体验。
在本实施例中,其他成员的视频流在发送给服务器时,同样也可以是经过降码率处理后的,本地视频流上传时的网络资源的占用降低,接收的其他成员的视频流的码率也是经过降低的,可以进一步提高视频直播的实时性,增强用户的使用体验。
需要说明的是,在直播群的显示播放时,是将其他成员的视频流和降码率后的本地视频流整合在同一显示界面上进行显示播放的,例如,将同一显示界面分割成若干部分,每个成员的视频流占用一个部分进行播放,在本实施例实施后,将降码率后的视频流进行播放时并不会影响用户的观看效果,即用户对降码率的处理并不会有感知。
在本发明的一个实施例中,上述的根据第一指定直播群的成员数量确定目标码率包括:预设不同直播群成员数量与不同码率之间的对应关系表;根据第一指定直播群的成员数量查询对应关系表,确定相应的目标码率。
在本实施例中,为了保证在进行降码处理后的视频流播放时,不影响用户的观看效果,将那率处理需要根据直播群中的成员数量进行处理,否则码率降低的太多会造成视频流播放时的不清晰。另外,这里的对应关系表可以是服务器下发给客户端侧的,以便在客户端侧进行降码率处理时查询该对应关系表。当服务器侧更新该对应关系表时,还可以将更新后的对应关系表实时下发给客户端侧,以便进行更新。
在本实施例中,查询对应关系表确定的目标码率可以理解为是降码率处理的视频达到的码率,目标码率确定后,就可以根据该确定的目标码率对本地视频流进行降码率处理。例如,该直播群中当前加入的成员是4个,根据对应关系表中的成员数量是4时对应的码率是400bps,本地视频流的码率是600bps,对本地视频流进行降码率处理时,将码率从600bps降到400bps。
进一步地,在上述实施例中的基础上,上述方法进一步包括:当第一指定直播群的成员数量变化时,依据变化后的成员数量查询对应关系表,重新确定相应的目标码率,将本地视频流的码率调整至重新确定的码率后发送给服务器。
也就是说,在本实施例中,目标码率应该是随着直播群中的成员数量的改变而改变的,也是为了避免在成员数量减少或者增加时,降码率的处理会影响观看效果。例如,在上述例子中,该直播群中当前加入的成员增加了2个,变成6个,根据对应关系表中的成员数量是6时对应的码率是200bps,本地视频流的码率是600bps,对本地视频流进行降码率处理时,将码率从600bps降到200bps,然后再将降码处理后的视频流发送给服务器。
图2示出了根据本发明另一个实施例的实现多人直播的方法的流程示意图,从服务器侧对本方案进行说明。如图2所示,该方法包括:
步骤S210,接收客户端发送的包含第一指定直播群的标识信息的直播群旁观请求。
客户端发送的直播群旁观请求中直播群的标识信息,这样,服务器就会根据该标识信息,将与该标识信息对应的直播群的各成员的视频流返回给客户端。
步骤S220,根据直播群旁观请求将加入第一指定直播群的各成员的视频流返回给客户端,使得客户端将加入第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
通过本技术方案,当用户不想作为主播加入直播群时,可以作为旁观者进入该直播群进行直播观看,满足用户的需求,增强用户的使用体验。
在本发明的一个实施例中,图2所述的方法进一步包括:接收客户端发送的包含第二指定直播群的标识的直播群加入请求;判断已加入第二指定直播群的成员是否已达到预设上限;如果未达到预设上限,向客户端返回允许加入直播群的响应消息;将已加入第二指定直播群的其他成员的视频流发送给客户端,接收客户端发送视频流并将该视频流发送给已加入第二指定直播群的其他成员;如果已达到预设上限,向客户端返回直播群已满允许旁观的响应消息;接收客户端发送的包含第二指定直播群的标识信息的直播群旁观请求;根据直播群旁观请求向客户端返回加入第二指定直播群的各成员的视频流。
在本实施例中,为了保证在用户能够顺利进入第二指定直播群中,在服务器接收到直播群加入请求时,根据该请求中的直播群标识,首先判断对应的直播群是否已经达到预设上限,如果未达到预设上限,则说明用户可以作为成员加入,接收客户端的本地视频流,将其他成员的视频流发送给该客户端,同时将该客户端的本地视频流发送给其他成员的客户端;如果达到预设上限,则用户可以作为旁观者观看直播。
在客户端侧接收到直播群已满的消息时,用户可以选择是否作为旁观者观看,如果是,则服务器会返回该直播群中的各成员的视频流,如果否,则返回至上一页面,例如各直播群展示页面。
进一步地,如果已达到预设上限,根据直播群旁观请求向客户端返回加入第二指定直播群的各成员的视频流之后,图2所示的方法进一步包括:当监测到有成员退出第二指定直播群时,向客户端发送第二指定直播群有空位的通知;接收客户端发送视频流,并将该视频流发送给仍在第二指定直播群的其他成员。
在本实施例中服务器侧实时监测直播群中的成员情况,一旦有人退出了,则该直播群中有空位了,如果该直播群有旁观者在,则将有空位的通知发送给旁观者,该旁观者可以作为直播成员加入该直播群。接收客户端发送视频流,并将该视频流发送给仍在第二指定直播群的其他成员。
优选地,如果第二指定直播群中有多个旁观者时,根据该多个旁观者开始进行旁观的时间顺序进行排序,将有空位的通知发送给最先开始旁观的客户端。
所以,在本实施例中,当服务器接收直播群旁观请求时,将接收到的时间进行记录,以便进行旁观者的排序等位。
在实际应用中,当用户作为一个直播群中的成员进行直播时,需要将自己的本地视频流发送给服务器,以便服务器将本地视频流发送给该直播群中的其他成员。如果用户不想让其他成员看到自己的脸部图像,则可以进行相应的处理,防止其他成员看到自己的脸。但是,如果该用户将自己的脸遮挡,其他成员则看不到该用户的脸,为了公平,该用户也不应该看到其他成员的脸。
在本发明的一个实施例中,图2所示的方法进一步包括:判断客户端发送的视频流中的人脸是否被模糊处理或遮面特效处理;如果是,则将加入第二指定直播群的其他成员的视频流中的人脸也进行模糊处理或遮面特效处理后再发送给客户端。
在本实施例中,一旦一个用户将自己的脸遮挡,则该用户也无法看到其他成员的人脸,保证视频直播的公平性,增强用户的使用体验。
图3示出了根据本发明一个实施例的实现多人直播的装置的结构示意图。如图3所示,该实现多人直播的装置300包括:
旁观请求发送单元310,适于响应于旁观第一指定直播群的操作指令,向服务器发送包含第一指定直播群的标识信息的直播群旁观请求。
当用户选择加入一个指定直播群中时,用户可以选择正常的进入该直播群,即作为其中的一个主播进入该直播群。在本实施例中,提供给用户另一个选择,即选择作为旁观者的身份加入该指定直播群,当用户选择旁观第一指定直播群的操作指令时,向服务器发送直播群旁观请求,为了获知用户旁观的是哪个直播群,将用户加入的第一指定直播群的标识信息包含在直播群旁观请求中发送给服务器。
接收单元320,适于接收服务器根据直播群旁观请求返回的加入第一指定直播群的各成员的视频流。
当服务器接收到上述的直播群旁观请求后,会将该直播群中的各个成员的视频流返回。
播放单元330,适于将加入第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
在本实施例中,服务器是将直播群中的各成员的视频流分别返回的,例如,直播群中有6个人,则服务器返回的是6个视频流。为了便于用户进行旁观,当播放各成员的视频流时,将加入第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。例如,上述的6个视频流整合到同一显示界面上进行显示,例如,将同一显示界面平均分成6块,每块分别播放一个成员的视频流,用户旁观的效果即是在同一显示界面中看到6个成员的直播视频。需要说明的是,当直播群的成员数量从6变为4时,则将4个成员的视频流整合到同一显示界面上时,则可将同一显示界面平均分成4块,每块分别播放一个成员的视频流。
在本实施例中,因为该用户是作为旁观者进入该直播群的,则无法同正常加入该直播群的用户一样和其他成员精通沟通,且无法给其他成员展示自己的视频图像,所有在旁观者侧只能浏览到该直播群的成员的视频流。
需要说明的是,本实施例可以应用在任何一款可以实现视频直播的应用程序中。
在一个具体的例子中,用户使用花椒直播时,进入开趴(即直播群)的界面,该界面中显示正在进行直播的多个直播群,当用户想要进入第10直播群(该群中有4个人正在进行直播)进行旁观时,输入旁观第10直播群的操作指令,向服务器发送包含“10”的直播群旁观请求,服务器返回该第10直播群中的4个成员的视频流,用户在花椒直播的同一显示界面中可以同时观看该4个成员的视频流。
可见,通过本实施例,当用户不想作为主播加入直播群时,可以作为旁观者进入该直播群进行直播观看,满足用户的需求,增强用户的使用体验。
通常情况下,同一视频直播间中可容纳的直播的人数是有限的,一旦一个视频直播间中直播群的人数达到上限,其他想要进入该直播间的用户则无法进入,降低用户的使用体验。在本发明的一个实施例中,图3所示的装置进一步包括:
判断单元,适于响应于加入第二指定直播群的操作指令,判断已加入第二指定直播群的成员是否已达到预设上限;如果未达到预设上限,则获取本地视频流并将第二指定直播群的标识信息和本地视频流发送给服务器;接收服务器返回的加入第二指定直播群的其他成员的视频流;将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放;如果已达到预设上限,则向服务器发送包含第二指定直播群的标识信息的直播群旁观请求;接收服务器根据直播群旁观请求返回的加入第二指定直播群的各成员的视频流;将加入第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
在本实施例中,如果用户发送的是加入一个指定直播群的操作指令,则首先判断已加入第二指定直播群的成员是否已达到预设上限。如果没有达到预设上限,则发送指令的用户可以正常加入,但是如果达到预设上限,为了提高用户的使用体验,用户可以作为旁观者加入到该直播群中。
在本实施例中,如果没有达到预设上限,说明用户可以作为直播群的一个成员加入。因为使得直播群中的其他成员可以获取到该用户的视频流,则需要获取用户本地视频流,并将第二指定直播群的标识信息和本地视频流发送给服务器,以便服务器将该本地视频流发送给该直播群中的其他成员。同时为了浏览到其他成员的视屏,需要接收服务器返回的加入第二指定直播群的其他成员的视频流。同样的,该用户是作为直播群的一个成员加入的,在显示界面显示播放时,不仅要播放其他成员的视频,还要将自己本地的视频一通播放,所以在这里,显示播放时需要将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放。
需要说明的是,这里接收服务器返回的加入该直播群的成员的视频流,是指正在该直播群中直播的成员的视频流,例如,一个直播群,虽然预设上限是6,但是该直播群中只有4个成员,则服务器返回该4个成员的视频流,然后将该4个成员的视频流和本地视频流整合在同一显示界面上进行显示播放。
在本实施例中,如果到达预设上限,说明该直播群已经满员,但是用户可以作为一个旁观者进行观看,因此,可以向服务器发送包含第二指定直播群的标识信息的直播群旁观请求;接收服务器根据直播群旁观请求返回的加入第二指定直播群的各成员的视频流;将加入第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
例如,用户输入进入第20直播群时,首先判断该第20直播群是否已经达到预设上限6,如果该直播群中只有4个人,则将该用户的本地视频流以及“20”发送给服务器,接收服务器返回的其他在该直播群的其他4个成员的视频流,将其他4个成员和用户本地视频流整合后在同一显示界面上显示;如果直播群中已经又6个人了,则向服务器发送包含“20”的直播群旁观请求;接收服务器根据直播群旁观请求返回的该第20直播群的6个成员的视频流;将该6个成员的视频流整合在同一显示界面上进行显示播放。
需要说明的是,当达到预设上限时,可以先显示提示信息,以便用户选择是否作为旁观者进入该直播群,如果用户确认,则再向服务器发送直播群旁观请求。如果用户没有确认或者拒绝作为旁观者,则返回上一层界面,例如,各直播群的展示界面。
所以,通过本实施例,即使直播群的人数达到上限,当其他用户想要进入该直播群时,也可以提示用户作为旁观者进行该直播群的直播浏览,提高用户的使用体验。
如果达到预设上限时,并且用户已经作为旁观者进入该直播群,如果该直播群中有人退出,则作为旁观者的该用户可以作为主播进入该直播群。
进一步地,判断单元,适于如果已达到预设上限,并在将加入第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放的步骤之后,当接收到服务器发送的第二指定直播群有空位的通知时,获取本地视频流,将本地视频流发送给服务器;接收服务器返回的仍在第二指定直播群的其他成员的视频流;将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放。
当第二指定直播群中有人退出后,说明该直播群中的成员没有达到预设上限,则正在旁观的用户可以作为一个直播群的成员加入了,所以,在本实施例中,当接收到服务器发送的第二指定直播群有空位的通知时,获取本地视频流,将本地视频流发送给服务器,以便服务器将本地视频流发送给仍在的其他成员;接收服务器返回的仍在第二指定直播群的其他成员的视频流;将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放,这样,之前旁观的用户可以作为直播群的成员进行直播显示,进一步提高用户的使用体验。
在本发明的一个实施例中,如果旁观者有多个时,一旦服务器检测到该直播群中有空位时,将有空位的通知发送给最先作为旁观者进入该直播群的用户。
所以,在服务器接收到一个直播群旁观请求时,需要将接收到该请求的时间记录下来,以便进行排序等位。
例如,在第10直播群中,有三个旁观者,旁观者1,开始旁观时间是10点;旁观者2,开始旁观时间是10点10分,旁观者3,开始旁观时间是10点30分,当该第10直播群中有一个成员推出后,将有空位的通知发送给旁观者1,因为旁观者1是最早进入该直播群进行旁观的。
在判断直播群的成员是否已达到预设上限时,可以通过服务器侧进行判断。进一步地,判断单元,适于向服务器发送包含第二指定直播群的标识的直播群加入请求;接收服务器返回的允许加入直播群的响应消息,或接收服务器返回的直播群已满允许旁观的响应消息。
也就是说,当用户发送加入第二指定直播群的操作指令时,向服务器发送包含第二指定直播群的标识的直播群加入请求;如果服务器侧判断该第二指定直播群还没有达到预设上限,则会接收到服务器返回的允许加入直播群的响应消息,如果服务器侧判断该第二指定直播群已经达到预设上限,则会接收到接收服务器返回的直播群已满允许旁观的响应消息。
例如,当用户发送加入第21直播群的操作指令时,首先向服务器发送包含“21”的直播群加入请求;如果服务器侧判断该第二指定直播群还没有达到预设上限6,则会接收到服务器返回的允许加入直播群的响应消息,那么该用户就可以作为该直播群的一个成员进行直播;如果服务器侧判断该第二指定直播群已经达到预设上限6,则会接收到接收服务器返回的直播群已满允许旁观的响应消息,则该用户可以作为该直播群的一个旁观者进行观看。
在实际应用中,当用户作为一个直播群中的成员进行直播时,需要将自己的本地视频流发送给服务器,以便服务器将本地视频流发送给该直播群中的其他成员。如果用户不想让其他成员看到自己的脸部图像,则可以进行相应的处理,防止其他成员看到自己的脸。
在本发明一个实施例中,判断单元,适于判断是否满足遮脸条件;如果满足,则对本地视频流中的人脸进行模糊处理,或对本地视频流中的人脸进行遮面特效处理后再发送给服务器。
在本实施例中,用户可以进行遮脸的选择,即一旦判断了满足遮脸的条件,就会对本地视频流中的人脸进行模糊处理或遮脸特效处理。
具体地,上述的判断单元,适于在判断是否满足遮脸条件时,具体进行如下一种或多种判断:
判断用户是否设置了“不露脸”选项;
通过图像检测判断视频中的人脸是否被遮挡;
通过图像检测判断视频中是否存在人脸。
在本实施例中,用户在进行直播前可以在提供的选项中选择“不露脸”的选项,这样在进行直播时,首先根据人脸识别技术将本地视频流中的人脸识别出来后,将人脸进行模糊处理或者遮面特效处理后在发送给服务器。例如,将人脸进行模糊处理;或者,将人脸上叠加“萌萌兔”的面具特效,这样其他成员看到的效果就是人脸被模糊的视频流或者人脸处“萌萌兔”的面具的视频流。
在本实施例中,用户如果不愿意露脸,在进行直播时,就已经将自己的脸进行了遮挡,例如佩戴口罩或者用手进行遮挡,这说明用户是不想在直播中露脸的,根据图像检测,如果检测到用户的人脸是被遮挡的,这样满足遮脸条件,需要对本地视频流中的人脸进行模糊处理或遮脸特效处理,满足用户不露脸的需求。
在本实施例中,用户如果不愿意露脸,在进行直播时,可以将摄像头的镜头对准非人物的地方,例如天花板或地板,这说明用户是不想在直播中露脸的,这样也满足遮脸的条件,也就是说,实时对视频流进行图像检测,如果长时间检测不到人脸,突然在某一帧图像中检测到了人脸,说明用户原本不想露脸,但是在直播的过程中不小心将露脸了,就需要对人脸进行模糊或者遮脸特效处理。
在实际应用中,为了保证直播群中的一个成员可以观看到其他成员的视频直播,服务器需要会将其他成员的视频流发送给该用户的客户端,以及接收客户端发送的该用户的本地视频流。可见,在视频流的数据传输中需要占用很多的网络资源,容易造成多个人在一个直播群中的直播的实时性差,降低用户的使用体验。
在本发明的一个实施例中,图3所述的装置进一步包括:降码率处理单元,适于当接收加入第一指定直播群的操作指令时,获取本地视频流;根据第一指定直播群的成员数量确定目标码率,将本地视频流的码率降至目标码率后发送给服务器;对本地视频流进行降码率处理后发送给服务器;将其他成员的视频流和降码率后的本地视频流整合在同一显示界面上进行显示播放。
当进行直播群直播时,用户加入到一个指定直播群中,需要将本地视频流发送给服务器,并接收服务器返回的该指定直播群中其他加入的成员的视频流,将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放。在本实施例中,当接收到用户加入第一指定直播群的操作指令时,获取本地视频流,以便去本地视频流进行处理。这里的本地视频流可以是移动终端的摄像头采集的。
为了减少视频流传输时对网络资源的占用,在发送给服务器前,将获取的本地视频流进行降码率处理。
这里的码率即是比特率,是指每秒传送的比特(bit)数,单位为bps(Bit PerSecond),比特率越高,传送数据速度越快。视频中的比特率(码率)是指由模拟信号转换为数字信号后,单位时间内的二进制数据量。
这里的目标码率是视频进行降码处理后所达到的码率。
在本实施例中,降码处理是根据该第一指定直播群中的成员数量确定的,主要是因为降码处理后会影响视频播放的清晰度,直播群中的成员数量越多意味着在同一显示界面中显示的成员的视频流的数量越多,即每个成员的视频流占用的同一显示界面中的部分就越小,这样即使降低了一定的码率也不会影响用户的观看效果,即降码对用户是无感知的。但是如果,直播群中的成员数量小,目标码率就比较小,则会导致同一显示界面中的视频流的播放的不清晰,影响用户的观看效果,所以,在本实施例中,根据第一指定直播群的成员数量确定目标码率,然后将视频的码率降低至目标码率,可以减少占用的网路资源,提高视频流的传输速度,且不影响用户的观看效果。
通过本实施例,将本地视频流进行降码率处理后发送给服务器,在本地视频上传的过程中,占用的网络资源降低,同时服务器将本地视频发送给其他成员时,也会减少网络资源的消耗,提高视频直播的实时性,增强用户的使用体验。
在本实施例中,其他成员的视频流在发送给服务器时,同样也可以是经过降码率处理后的,本地视频流上传时的网络资源的占用降低,接收的其他成员的视频流的码率也是经过降低的,可以进一步提高视频直播的实时性,增强用户的使用体验。
需要说明的是,在直播群的显示播放时,是将其他成员的视频流和降码率后的本地视频流整合在同一显示界面上进行显示播放的,例如,将同一显示界面分割成若干部分,每个成员的视频流占用一个部分进行播放,在本实施例实施后,将降码率后的视频流进行播放时并不会影响用户的观看效果,即用户对降码率的处理并不会有感知。
在本发明的一个实施例中,降码率处理单元,适于预设不同直播群成员数量与不同码率之间的对应关系表;根据第一指定直播群的成员数量查询对应关系表,确定相应的目标码率;根据所确定的码率对本地视频流进行降码率处理。
在本实施例中,为了保证在进行降码处理后的视频流播放时,不影响用户的观看效果,将那率处理需要根据直播群中的成员数量进行处理,否则码率降低的太多会造成视频流播放时的不清晰。另外,这里的对应关系表可以是服务器下发给客户端侧的,以便在客户端侧进行降码率处理时查询该对应关系表。当服务器侧更新该对应关系表时,还可以将更新后的对应关系表实时下发给客户端侧,以便进行更新。
在本实施例中,查询对应关系表确定的目标码率可以理解为是降码率处理的视频达到的目标码率,目标码率确定后,就可以根据该确定的目标码率对本地视频流进行降码率处理。例如,该直播群中当前加入的成员是4个,根据对应关系表中的成员数量是4时对应的码率是400bps,本地视频流的码率是600bps,对本地视频流进行降码率处理时,将码率从600bps降到400bps。
进一步地,降码率处理单元,适于当第一指定直播群的成员数量变化时,依据变化后的成员数量查询对应关系表,重新确定相应的目标码率,将本地视频流的码率调整至重新确定的码率后发送给服务器。
也就是说,在本实施例中,目标码率应该是随着直播群中的成员数量的改变而改变的,也是为了避免在成员数量减少或者增加时,降码率的处理会影响观看效果。例如,在上述例子中,该直播群中当前加入的成员增加了2个,变成6个,根据对应关系表中的成员数量是6时对应的码率是200bps,本地视频流的码率是600bps,对本地视频流进行降码率处理时,将码率从600bps降到200bps,然后再将降码处理后的视频流发送给服务器。
在实际应用中,当用户作为一个直播群中的成员进行直播时,需要将自己的本地视频流发送给服务器,以便服务器将本地视频流发送给该直播群中的其他成员。如果用户不想让其他成员看到自己的脸部图像,则可以进行相应的处理,防止其他成员看到自己的脸。
图4示出了根据本发明一个实施例的实现多人直播的服务器的结构示意图。如图4所示,该实现多人直播的服务器400包括:
接收单元410,适于接收客户端发送的包含第一指定直播群的标识信息的直播群旁观请求。
客户端发送的直播群旁观请求中直播群的标识信息,这样,服务器就会根据该标识信息,将与该标识信息对应的直播群的各成员的视频流返回给客户端。
视频流返回单元420,适于根据直播群旁观请求将加入第一指定直播群的各成员的视频流返回给客户端,使得客户端将加入第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
通过本技术方案,当用户不想作为主播加入直播群时,可以作为旁观者进入该直播群进行直播观看,满足用户的需求,增强用户的使用体验。
在本发明的一个实施例中,图4所示的服务器进一步包括:
判断单元,适于接收客户端发送的包含第二指定直播群的标识的直播群加入请求;判断已加入第二指定直播群的成员是否已达到预设上限;如果未达到预设上限,向客户端返回允许加入直播群的响应消息;将已加入第二指定直播群的其他成员的视频流发送给客户端,接收客户端发送视频流并将该视频流发送给已加入第二指定直播群的其他成员;如果已达到预设上限,向客户端返回直播群已满允许旁观的响应消息;接收客户端发送的包含第二指定直播群的标识信息的直播群旁观请求;根据直播群旁观请求向客户端返回加入第二指定直播群的各成员的视频流。
在本实施例中,为了保证在用户能够顺利进入第二指定直播群中,在服务器接收到直播群加入请求时,根据该请求中的直播群标识,首先判断对应的直播群是否已经达到预设上限,如果未达到预设上限,则说明用户可以作为成员加入,接收客户端的本地视频流,将其他成员的视频流发送给该客户端,同时将该客户端的本地视频流发送给其他成员的客户端;如果达到预设上限,则用户可以作为旁观者观看直播。
在客户端侧接收到直播群已满的消息时,用户可以选择是否作为旁观者观看,如果是,则服务器会返回该直播群中的各成员的视频流,如果否,则返回至上一页面,例如各直播群展示页面。
进一步地,判断单元,适于如果已达到预设上限,根据直播群旁观请求向客户端返回加入第二指定直播群的各成员的视频流之后,当监测到有成员退出第二指定直播群时,向客户端发送第二指定直播群有空位的通知;接收客户端发送视频流,并将该视频流发送给仍在第二指定直播群的其他成员。
在本实施例中服务器侧实时监测直播群中的成员情况,一旦有人退出了,则该直播群中有空位了,如果该直播群有旁观者在,则将有空位的通知发送给旁观者,该旁观者可以作为直播成员加入该直播群。接收客户端发送视频流,并将该视频流发送给仍在第二指定直播群的其他成员。
优选地,如果第二指定直播群中有多个旁观者时,根据该多个旁观者开始进行旁观的时间顺序进行排序,将有空位的通知发送给最先开始旁观的客户端。
所以,在本实施例中,当服务器接收直播群旁观请求时,将接收到的时间进行记录,以便进行旁观者的排序等位。
在实际应用中,当用户作为一个直播群中的成员进行直播时,需要将自己的本地视频流发送给服务器,以便服务器将本地视频流发送给该直播群中的其他成员。如果用户不想让其他成员看到自己的脸部图像,则可以进行相应的处理,防止其他成员看到自己的脸。但是,如果该用户将自己的脸遮挡,其他成员则看不到该用户的脸,为了公平,该用户也不应该看到其他成员的脸。
进一步地,判断单元,适于判断客户端发送的视频流中的人脸是否被模糊处理或遮面特效处理;如果是,则将加入第二指定直播群的其他成员的视频流中的人脸也进行模糊处理或遮面特效处理后再发送给客户端。
在本实施例中,一旦一个用户将自己的脸遮挡,则该用户也无法看到其他成员的人脸,保证视频直播的公平性,增强用户的使用体验。
本发明还提供了一种电子设备,其中,该电子设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,可执行指令在被执行时使处理器执行根据图1所示的及其各实施例中的实现多人直播的方法,或者执行根据图2所示的及其各实施例中的实现多人直播的方法。
图5示出了根据本发明一个实施例的电子设备的功能结构示意图。如图5所示,该电子设备500包括:
处理器510;以及被安排成存储计算机可执行指令(程序代码)的存储器520,在存储器520中,有存储程序代码的存储空间530,用于执行根据本发明的方法步骤的程序代码540存储在存储空间530中,该程序代码在被执行时使处理器510执行根据图1所示的及其各实施例中的实现多人直播的方法,或者执行根据图2所示的及其各实施例中的实现多人直播的方法。
图6示出了根据本发明一个实施例的一种计算机可读存储介质的结构示意图。如图6所示,该计算机可读存储介质600存储一个或多个程序(程序代码)610,一个或多个程序(程序代码)610当被处理器执行时,实现图1所示的及其各实施例中的实现多人直播的方法,或者实现图2所示的及其各实施例中的实现多人直播的方法。
需要说明的是,图5所示的电子设备和图6所示的计算机可读存储介质的各实施例与图1所示的方法的各实施例或者图2所述的方法的各实施例对应相同,上文已有详细说明,在此不再赘述。
综上所述,根据本发明的技术方案,响应于旁观第一指定直播群的操作指令,向服务器发送包含第一指定直播群的标识信息的直播群旁观请求;接收服务器根据直播群旁观请求返回的加入第一指定直播群的各成员的视频流;将加入第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。通过本技术方案,当用户不想作为主播加入直播群时,可以作为旁观者进入该直播群进行直播观看,满足用户的需求,增强用户的使用体验。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的实现多人直播的装置、服务器、电子设备和计算机可读存储介质中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图5示出了根据本发明一个实施例的电子设备的结构示意图。该电子设备300传统上包括处理器510和被安排成存储计算机可执行指令(程序代码)的存储器520。存储器520可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器520具有存储用于执行图1所示的以及各实施例中的任何方法步骤或者执行图2所示的以及各实施例中的任何方法步骤的程序代码540的存储空间530。例如,用于程序代码的存储空间530可以包括分别用于实现上面的方法中的各种步骤的各个程序代码540。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为例如图6所述的计算机可读存储介质600。该计算机可读存储介质600可以具有与图5的电子设备中的存储器520类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元存储有用于执行根据本发明的方法步骤的程序代码610,即可以由诸如510之类的处理器读取的程序代码,当这些程序代码由电子设备运行时,导致该电子设备执行上面所描述的方法中的各个步骤。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种实现多人直播的方法,其中,该方法包括:
响应于旁观第一指定直播群的操作指令,向服务器发送包含所述第一指定直播群的标识信息的直播群旁观请求;
接收服务器根据所述直播群旁观请求返回的加入所述第一指定直播群的各成员的视频流;
将加入所述第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
A2、如A1所述的方法,其中,该方法进一步包括:
响应于加入第二指定直播群的操作指令,判断已加入所述第二指定直播群的成员是否已达到预设上限;
如果未达到预设上限,则获取本地视频流并将第二指定直播群的标识信息和本地视频流发送给服务器;接收服务器返回的加入所述第二指定直播群的其他成员的视频流;将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放;
如果已达到预设上限,则向服务器发送包含所述第二指定直播群的标识信息的直播群旁观请求;接收服务器根据所述直播群旁观请求返回的加入所述第二指定直播群的各成员的视频流;将加入所述第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
A3、如A2所述的方法,其中,如果已达到预设上限,并在所述将加入所述第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放的步骤之后,该方法进一步包括:
当接收到服务器发送的所述第二指定直播群有空位的通知时,获取本地视频流,将本地视频流发送给服务器;
接收服务器返回的仍在所述第二指定直播群的其他成员的视频流;将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放。
A4、如A2所述的方法,其中,所述判断已加入所述第二指定直播群的成员是否已达到预设上限包括:
向服务器发送包含所述第二指定直播群的标识的直播群加入请求;
接收服务器返回的允许加入直播群的响应消息,或接收服务器返回的直播群已满允许旁观的响应消息。
A5、如A2或A3所述的方法,其中,将本地视频流发送给服务器包括:
判断是否满足遮脸条件;
如果满足,则对所述本地视频流中的人脸进行模糊处理,或对所述本地视频流中的人脸进行遮面特效处理后再发送给服务器。
A6、如A5所述的方法,其中,所述判断是否满足遮脸条件包括如下中的一种或多种:
判断用户是否设置了“不露脸”选项;
通过图像检测判断视频中的人脸是否被遮挡;
通过图像检测判断视频中是否存在人脸。
本发明还公开了B7、一种实现多人直播的方法,其中,该方法包括:
接收客户端发送的包含第一指定直播群的标识信息的直播群旁观请求;
根据所述直播群旁观请求将加入所述第一指定直播群的各成员的视频流返回给所述客户端,使得客户端将加入所述第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
B8、如B7所述的方法,其中,该方法进一步包括:
接收客户端发送的包含所述第二指定直播群的标识的直播群加入请求;
判断已加入所述第二指定直播群的成员是否已达到预设上限;
如果未达到预设上限,向客户端返回允许加入直播群的响应消息;将已加入所述第二指定直播群的其他成员的视频流发送给所述客户端,接收所述客户端发送视频流并将该视频流发送给已加入所述第二指定直播群的其他成员;
如果已达到预设上限,向客户端返回直播群已满允许旁观的响应消息;接收客户端发送的包含所述第二指定直播群的标识信息的直播群旁观请求;根据所述直播群旁观请求向客户端返回加入所述第二指定直播群的各成员的视频流。
B9、如B8所述的方法,其中,如果已达到预设上限,根据所述直播群旁观请求向客户端返回加入所述第二指定直播群的各成员的视频流之后,该方法进一步包括:
当监测到有成员退出所述第二指定直播群时,向所述客户端发送所述第二指定直播群有空位的通知;
接收所述客户端发送视频流,并将该视频流发送给仍在所述第二指定直播群的其他成员。
B10、如B8或B9所述的方法,其中,该方法进一步包括:
判断所述客户端发送的视频流中的人脸是否被模糊处理或遮面特效处理;
如果是,则将加入所述第二指定直播群的其他成员的视频流中的人脸也进行模糊处理或遮面特效处理后再发送给所述客户端。
本发明还公开了C11、一种实现多人直播的装置,其中,该装置包括:
旁观请求发送单元,适于响应于旁观第一指定直播群的操作指令,向服务器发送包含所述第一指定直播群的标识信息的直播群旁观请求;
接收单元,适于接收服务器根据所述直播群旁观请求返回的加入所述第一指定直播群的各成员的视频流;
播放单元,适于将加入所述第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
C12、如C11所述的装置,其中,该装置进一步包括:
判断单元,适于响应于加入第二指定直播群的操作指令,判断已加入所述第二指定直播群的成员是否已达到预设上限;
如果未达到预设上限,则获取本地视频流并将第二指定直播群的标识信息和本地视频流发送给服务器;接收服务器返回的加入所述第二指定直播群的其他成员的视频流;将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放;
如果已达到预设上限,则向服务器发送包含所述第二指定直播群的标识信息的直播群旁观请求;接收服务器根据所述直播群旁观请求返回的加入所述第二指定直播群的各成员的视频流;将加入所述第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
C13、如C12所述的装置,其中,
所述判断单元,适于如果已达到预设上限,并在所述将加入所述第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放的步骤之后,当接收到服务器发送的所述第二指定直播群有空位的通知时,获取本地视频流,将本地视频流发送给服务器;接收服务器返回的仍在所述第二指定直播群的其他成员的视频流;将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放。
C14、如C12所述的装置,其中,
所述判断单元,适于向服务器发送包含所述第二指定直播群的标识的直播群加入请求;接收服务器返回的允许加入直播群的响应消息,或接收服务器返回的直播群已满允许旁观的响应消息。
C15、如C12或C13所述的装置,其中,
所述判断单元,适于判断是否满足遮脸条件;如果满足,则对所述本地视频流中的人脸进行模糊处理,或对所述本地视频流中的人脸进行遮面特效处理后再发送给服务器。
C16、如C10所述的装置,其中,
所述判断单元,适于在判断是否满足遮脸条件时,具体进行如下一种或多种判断:
判断用户是否设置了“不露脸”选项;
通过图像检测判断视频中的人脸是否被遮挡;
通过图像检测判断视频中是否存在人脸。
本发明还公开了D17、一种实现多人直播的服务器,其中,该服务器包括:
接收单元,适于接收客户端发送的包含第一指定直播群的标识信息的直播群旁观请求;
视频流返回单元,适于根据所述直播群旁观请求将加入所述第一指定直播群的各成员的视频流返回给所述客户端,使得客户端将加入所述第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
D18、如D17所述的服务器,其中,该服务器进一步包括:
判断单元,适于接收客户端发送的包含所述第二指定直播群的标识的直播群加入请求;
判断已加入所述第二指定直播群的成员是否已达到预设上限;
如果未达到预设上限,向客户端返回允许加入直播群的响应消息;将已加入所述第二指定直播群的其他成员的视频流发送给所述客户端,接收所述客户端发送视频流并将该视频流发送给已加入所述第二指定直播群的其他成员;
如果已达到预设上限,向客户端返回直播群已满允许旁观的响应消息;接收客户端发送的包含所述第二指定直播群的标识信息的直播群旁观请求;根据所述直播群旁观请求向客户端返回加入所述第二指定直播群的各成员的视频流。
D19、如D18所述的服务器,其中,所述判断单元,适于如果已达到预设上限,根据所述直播群旁观请求向客户端返回加入所述第二指定直播群的各成员的视频流之后,当监测到有成员退出所述第二指定直播群时,向所述客户端发送所述第二指定直播群有空位的通知;接收所述客户端发送视频流,并将该视频流发送给仍在所述第二指定直播群的其他成员。
D20、如D18或D19所述的服务器,其中,
所述判断单元,适于判断所述客户端发送的视频流中的人脸是否被模糊处理或遮面特效处理;如果是,则将加入所述第二指定直播群的其他成员的视频流中的人脸也进行模糊处理或遮面特效处理后再发送给所述客户端。
本发明还公开了E21、一种电子设备,其中,该电子设备包括:
处理器;以及,
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行根据A1~A6中任一项所述的方法,或者执行根据B7~B10中任一项所述的方法。
本发明还公开了F22、一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现A1~A6中任一项所述的方法,或者实现B7~B10中任一项所述的方法。
Claims (10)
1.一种实现多人直播的方法,其中,该方法包括:
响应于旁观第一指定直播群的操作指令,向服务器发送包含所述第一指定直播群的标识信息的直播群旁观请求;
接收服务器根据所述直播群旁观请求返回的加入所述第一指定直播群的各成员的视频流;
将加入所述第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
2.如权利要求1所述的方法,其中,该方法进一步包括:
响应于加入第二指定直播群的操作指令,判断已加入所述第二指定直播群的成员是否已达到预设上限;
如果未达到预设上限,则获取本地视频流并将第二指定直播群的标识信息和本地视频流发送给服务器;接收服务器返回的加入所述第二指定直播群的其他成员的视频流;将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放;
如果已达到预设上限,则向服务器发送包含所述第二指定直播群的标识信息的直播群旁观请求;接收服务器根据所述直播群旁观请求返回的加入所述第二指定直播群的各成员的视频流;将加入所述第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
3.如权利要求2所述的方法,其中,如果已达到预设上限,并在所述将加入所述第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放的步骤之后,该方法进一步包括:
当接收到服务器发送的所述第二指定直播群有空位的通知时,获取本地视频流,将本地视频流发送给服务器;
接收服务器返回的仍在所述第二指定直播群的其他成员的视频流;将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放。
4.如权利要求2所述的方法,其中,所述判断已加入所述第二指定直播群的成员是否已达到预设上限包括:
向服务器发送包含所述第二指定直播群的标识的直播群加入请求;
接收服务器返回的允许加入直播群的响应消息,或接收服务器返回的直播群已满允许旁观的响应消息。
5.如权利要求2或3所述的方法,其中,将本地视频流发送给服务器包括:
判断是否满足遮脸条件;
如果满足,则对所述本地视频流中的人脸进行模糊处理,或对所述本地视频流中的人脸进行遮面特效处理后再发送给服务器。
6.一种实现多人直播的方法,其中,该方法包括:
接收客户端发送的包含第一指定直播群的标识信息的直播群旁观请求;
根据所述直播群旁观请求将加入所述第一指定直播群的各成员的视频流返回给所述客户端,使得客户端将加入所述第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
7.一种实现多人直播的装置,其中,该装置包括:
旁观请求发送单元,适于响应于旁观第一指定直播群的操作指令,向服务器发送包含所述第一指定直播群的标识信息的直播群旁观请求;
接收单元,适于接收服务器根据所述直播群旁观请求返回的加入所述第一指定直播群的各成员的视频流;
播放单元,适于将加入所述第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
8.一种实现多人直播的服务器,其中,该服务器包括:
接收单元,适于接收客户端发送的包含第一指定直播群的标识信息的直播群旁观请求;
视频流返回单元,适于根据所述直播群旁观请求将加入所述第一指定直播群的各成员的视频流返回给所述客户端,使得客户端将加入所述第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
9.一种电子设备,其中,该电子设备包括:
处理器;以及,
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行根据权利要求1~5中任一项所述的方法,或者执行根据权利要求6中任一项所述的方法。
10.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现权利要求1~5中任一项所述的方法,或者实现权利要求6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711479591.5A CN108235044A (zh) | 2017-12-29 | 2017-12-29 | 一种实现多人直播的方法、装置和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711479591.5A CN108235044A (zh) | 2017-12-29 | 2017-12-29 | 一种实现多人直播的方法、装置和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108235044A true CN108235044A (zh) | 2018-06-29 |
Family
ID=62647051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711479591.5A Pending CN108235044A (zh) | 2017-12-29 | 2017-12-29 | 一种实现多人直播的方法、装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108235044A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021114708A1 (zh) * | 2019-12-09 | 2021-06-17 | 上海幻电信息科技有限公司 | 多人视频直播业务实现方法、装置、计算机设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010008427A1 (en) * | 2000-01-19 | 2001-07-19 | Seo Bum Joo | Apparatus and method for supporting picture-in-picture type time shifting |
CN1694410A (zh) * | 2004-04-30 | 2005-11-09 | 微软公司 | 用于控制分布式多方会议的方法 |
US9100540B1 (en) * | 2013-03-14 | 2015-08-04 | Ca, Inc. | Multi-person video conference with focus detection |
CN105491393A (zh) * | 2015-12-02 | 2016-04-13 | 北京暴风科技股份有限公司 | 多人视频直播业务的实现方法 |
CN105657326A (zh) * | 2016-03-02 | 2016-06-08 | 掌赢信息科技(上海)有限公司 | 一种群视频通话方法、装置及系统 |
CN106954100A (zh) * | 2017-03-13 | 2017-07-14 | 网宿科技股份有限公司 | 直播方法及系统、连麦管理服务器 |
-
2017
- 2017-12-29 CN CN201711479591.5A patent/CN108235044A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010008427A1 (en) * | 2000-01-19 | 2001-07-19 | Seo Bum Joo | Apparatus and method for supporting picture-in-picture type time shifting |
CN1694410A (zh) * | 2004-04-30 | 2005-11-09 | 微软公司 | 用于控制分布式多方会议的方法 |
US9100540B1 (en) * | 2013-03-14 | 2015-08-04 | Ca, Inc. | Multi-person video conference with focus detection |
CN105491393A (zh) * | 2015-12-02 | 2016-04-13 | 北京暴风科技股份有限公司 | 多人视频直播业务的实现方法 |
CN105657326A (zh) * | 2016-03-02 | 2016-06-08 | 掌赢信息科技(上海)有限公司 | 一种群视频通话方法、装置及系统 |
CN106954100A (zh) * | 2017-03-13 | 2017-07-14 | 网宿科技股份有限公司 | 直播方法及系统、连麦管理服务器 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021114708A1 (zh) * | 2019-12-09 | 2021-06-17 | 上海幻电信息科技有限公司 | 多人视频直播业务实现方法、装置、计算机设备 |
CN113038287A (zh) * | 2019-12-09 | 2021-06-25 | 上海幻电信息科技有限公司 | 多人视频直播业务实现方法、装置、计算机设备 |
CN113038287B (zh) * | 2019-12-09 | 2022-04-01 | 上海幻电信息科技有限公司 | 多人视频直播业务实现方法、装置、计算机设备 |
US11889132B2 (en) | 2019-12-09 | 2024-01-30 | Shanghai Hode Information Technology Co., Ltd. | Method and apparatus for implementing multi-person video live-streaming service, and computer device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106792242B (zh) | 用于推送信息的方法和装置 | |
CN105516748A (zh) | 一种实现网络直播的方法和服务器 | |
CN110602518A (zh) | 直播推荐方法、装置、电子设备及可读存储介质 | |
CN111641859B (zh) | 显示信息方法和装置、计算机可读的存储介质及电子装置 | |
CN106604046A (zh) | 视频直播方法及装置 | |
CN108174302B (zh) | 一种直播应用中活动功能玩法的更新方法及装置 | |
CN106998486A (zh) | 视频播放方法和装置 | |
CN105208088B (zh) | 评价指数确定方法和装置 | |
CN104135692B (zh) | 视频信息的加载显示方法和加载显示装置 | |
MX2013007672A (es) | Asistencia de captura de codigos de matriz al señalar lectores de codigos de matriz. | |
CN105916042A (zh) | 虚拟物品赠送方法、用户终端、网络直播平台和系统 | |
CN113178015A (zh) | 房源的交互方法、装置、电子设备及存储介质 | |
CN102546608A (zh) | 用于同步播放媒体信息的方法、装置、设备和系统 | |
US20150135019A1 (en) | Automated testing of application programs from an application program ecosystem | |
CN103546774A (zh) | 一种实现无缝访问媒体文件的方法及系统 | |
CN110536144A (zh) | 一种直播处理方法、装置及存储介质 | |
US20150217187A1 (en) | Methods and systems for algorithmically selected trivia gaming content | |
JP2005236973A (ja) | 映像配信装置 | |
CN111107434A (zh) | 信息推荐方法及装置 | |
CN113613027A (zh) | 直播间推荐方法、装置及计算机设备 | |
KR101633901B1 (ko) | 소셜 네트워크를 이용한 라이브 방송서비스 제공 방법 | |
CN108174231A (zh) | 一种实现直播群的方法和装置 | |
CN113312237B (zh) | 信息反馈方法、装置、电子设备及存储介质 | |
JP4514778B2 (ja) | 映像配信装置 | |
CN108235044A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180629 |