CN108174231B - 一种实现直播群的方法、装置、电子设备和存储介质 - Google Patents

一种实现直播群的方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN108174231B
CN108174231B CN201711487791.5A CN201711487791A CN108174231B CN 108174231 B CN108174231 B CN 108174231B CN 201711487791 A CN201711487791 A CN 201711487791A CN 108174231 B CN108174231 B CN 108174231B
Authority
CN
China
Prior art keywords
group
live
members
server
code rate
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
Application number
CN201711487791.5A
Other languages
English (en)
Other versions
CN108174231A (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 Mijinghefeng Technology Co ltd
Original Assignee
Beijing Mijinghefeng 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 Mijinghefeng Technology Co ltd filed Critical Beijing Mijinghefeng Technology Co ltd
Priority to CN201711487791.5A priority Critical patent/CN108174231B/zh
Publication of CN108174231A publication Critical patent/CN108174231A/zh
Application granted granted Critical
Publication of CN108174231B publication Critical patent/CN108174231B/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
    • 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/25Management 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/266Channel 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/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/43Processing 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/44Processing 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/44008Processing 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 operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • 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/43Processing 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/44Processing 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/44016Processing 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种实现直播群的方法、装置、电子设备和计算机可读存储介质。该方法包括:当接收加入第一指定直播群的操作指令时,获取本地视频流;根据第一指定直播群的成员数量确定目标码率,将本地视频流的码率降至目标码率后发送给服务器;接收服务器返回的加入第一指定直播群的其他成员的视频流;将其他成员的视频流和降码率后的本地视频流整合在同一显示界面上进行显示播放。通过本技术方案,将本地视频流进行降码率处理后发送给服务器,在本地视频上传的过程中,占用的网络资源降低,同时服务器将本地视频发送给其他成员时,也会减少网络资源的消耗,提高视频直播的实时性,增强用户的使用体验。

Description

一种实现直播群的方法、装置、电子设备和存储介质
技术领域
本发明涉及计算机技术领域,具体涉及一种实现直播群的方法、装置、电子设备和计算机可读存储介质。
背景技术
现如今,越来越多的人参与到视频直播中,或作为主播,或作为观看用户。随着视频直播应用的功能的不断增多,出现了可以实现多人直播的场景,即在同一个视频直播间中,多个人作为一个直播群进行同时直播,该多个人可以相互沟通。在实际应用中,为了保证直播群中的一个成员可以观看到其他成员的视频直播,服务器需要会将其他成员的视频流发送给该用户的客户端,以及接收客户端发送的该用户的本地视频流。可见,在视频流的数据传输中需要占用很多的网络资源,容易造成多个人在一个直播群中的直播的实时性差,降低用户的使用体验。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的实现直播群的方法、装置、电子设备和计算机可读存储介质。
根据本发明的一个方面,提供了一种实现直播群的方法,其中,该方法包括:
当接收加入第一指定直播群的操作指令时,获取本地视频流;
根据第一指定直播群的成员数量确定目标码率,将本地视频流的码率降至所述目标码率后发送给服务器;
接收服务器返回的加入所述第一指定直播群的其他成员的视频流;
将其他成员的视频流和降码率后的本地视频流整合在同一显示界面上进行显示播放。
可选地,所述根据第一指定直播群的成员数量确定目标码率包括:
预设不同直播群成员数量与不同码率之间的对应关系表;
根据所述第一指定直播群的成员数量查询所述对应关系表,确定相应的目标码率。
可选地,该方法进一步包括:
当所述第一指定直播群的成员数量变化时,依据变化后的成员数量查询所述对应关系表,重新确定相应的目标码率,将本地视频流的码率调整至重新确定的码率后发送给服务器。
可选地,该方法进一步包括:
判断是否满足遮脸条件;
如果满足,则进一步对所述本地视频流中的人脸进行模糊处理或遮脸特效处理后再发送给服务器。
可选地,所述判断是否满足遮脸条件包括如下中的一种或多种:
判断用户是否设置了“不露脸”选项;
通过图像检测判断视频中的人脸是否被遮挡;
通过图像检测判断视频中是否存在人脸。
可选地,该方法进一步包括:
响应于旁观第二指定直播群的操作指令,向服务器发送包含所述第二指定直播群的标识信息的直播群旁观请求;
接收服务器根据所述直播群旁观请求返回的加入所述第二指定直播群的各成员的视频流;
将加入所述第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
根据本发明的另一方面,提供了一种实现直播群的装置,其中,该装置包括:
获取单元,适于当接收加入第一指定直播群的操作指令时,获取本地视频流;
处理单元,适于根据第一指定直播群的成员数量确定目标码率,将本地视频流的码率降至所述目标码率后发送给服务器;
接收单元,适于接收服务器返回的加入所述第一指定直播群的其他成员的视频流;
播放单元,适于将其他成员的视频流和降码率后的本地视频流整合在同一显示界面上进行显示播放。
可选地,
所述处理单元,适于预设不同直播群成员数量与不同码率之间的对应关系表;根据所述第一指定直播群的成员数量查询所述对应关系表,确定相应的目标码率。
可选地,所述处理单元,适于当所述第一指定直播群的成员数量变化时,依据变化后的成员数量查询所述对应关系表,重新确定相应的目标码率,将本地视频流的码率调整至重新确定的码率后发送给服务器。
可选地,所述处理单元,进一步适于判断是否满足遮脸条件,如果满足,则进一步对所述本地视频流中的人脸进行模糊处理或遮脸特效处理后再发送给服务器。
可选地,所述处理单元,适于在判断是否满足遮脸条件时,具体进行如下一种或多种判断:
判断用户是否设置了“不露脸”选项;
通过图像检测判断视频中的人脸是否被遮挡;
通过图像检测判断视频中是否存在人脸。
可选地,该装置进一步包括:
旁观请求单元,适于响应于旁观第二指定直播群的操作指令,向服务器发送包含所述第二指定直播群的标识信息的直播群旁观请求;接收服务器根据所述直播群旁观请求返回的加入所述第二指定直播群的各成员的视频流;将加入所述第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
根据本发明的又一方面,提供了一种电子设备,其中,该电子设备包括:
处理器;以及,
存储计算机可执行指令的存储器;所述可执行指令在被执行时使所述处理器执行根据前述的方法。
根据本发明的再一方面,提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现前述的方法。
根据本发明的技术方案,当接收加入第一指定直播群的操作指令时,获取本地视频流;根据第一指定直播群的成员数量确定目标码率,将本地视频流的码率降至所述目标码率后发送给服务器;接收服务器返回的加入第一指定直播群的其他成员的视频流;将其他成员的视频流和降码率后的本地视频流整合在同一显示界面上进行显示播放。通过本技术方案,将本地视频流进行降码率处理后发送给服务器,在本地视频上传的过程中,占用的网络资源降低,同时服务器将本地视频发送给其他成员时,也会减少网络资源的消耗,提高视频直播的实时性,增强用户的使用体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的实现直播群的方法的流程示意图;
图2示出了根据本发明一个实施例的实现直播群的装置的结构示意图;
图3示出了根据本发明一个实施例的电子设备的结构示意图;
图4示出了根据本发明一个实施例的计算机可读存储介质的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的实现直播群的方法的流程示意图。如图1所示,该方法包括:
步骤S110,当接收加入第一指定直播群的操作指令时,获取本地视频流。
当进行直播群直播时,用户加入到一个指定直播群中,需要将本地视频流发送给服务器,并接收服务器返回的该指定直播群中其他加入的成员的视频流,将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放。在本实施例中,当接收到用户加入第一指定直播群的操作指令时,获取本地视频流,以便去本地视频流进行处理。这里的本地视频流可以是移动终端的摄像头采集的。
步骤S120,根据第一指定直播群的成员数量确定目标码率,将本地视频流的码率降至目标码率后发送给服务器。
为了减少视频流传输时对网络资源的占用,在发送给服务器前,将获取的本地视频流进行降码率处理。
这里的码率即是比特率,是指每秒传送的比特(bit)数,单位为bps(Bit PerSecond),比特率越高,传送数据速度越快。视频中的比特率(码率)是指由模拟信号转换为数字信号后,单位时间内的二进制数据量。
这里的目标码率是视频进行降码处理后所达到的码率。
在本实施例中,降码处理是根据该第一指定直播群中的成员数量确定的,主要是因为降码处理后会影响视频播放的清晰度,直播群中的成员数量越多意味着在同一显示界面中显示的成员的视频流的数量越多,即每个成员的视频流占用的同一显示界面中的部分就越小,这样即使降低了一定的码率也不会影响用户的观看效果,即降码对用户是无感知的。但是如果,直播群中的成员数量小,目标码率就比较小,则会导致同一显示界面中的视频流的播放的不清晰,影响用户的观看效果,所以,在本实施例中,根据第一指定直播群的成员数量确定目标码率,然后将视频的码率降低至目标码率,可以减少占用的网路资源,提高视频流的传输速度,且不影响用户的观看效果。
步骤S130,接收服务器返回的加入第一指定直播群的其他成员的视频流。
步骤S140,将其他成员的视频流和降码率后的本地视频流整合在同一显示界面上进行显示播放。
通过本实施例,将本地视频流进行降码率处理后发送给服务器,在本地视频上传的过程中,占用的网络资源降低,同时服务器将本地视频发送给其他成员时,也会减少网络资源的消耗,提高视频直播的实时性,增强用户的使用体验。
在本实施例中,其他成员的视频流在发送给服务器时,同样也可以是经过降码率处理后的,本地视频流上传时的网络资源的占用降低,接收的其他成员的视频流的码率也是经过降低的,可以进一步提高视频直播的实时性,增强用户的使用体验。
需要说明的是,在直播群的显示播放时,是将其他成员的视频流和降码率后的本地视频流整合在同一显示界面上进行显示播放的,例如,将同一显示界面分割成若干部分,每个成员的视频流占用一个部分进行播放,在本实施例实施后,将降码率后的视频流进行播放时并不会影响用户的观看效果,即用户对降码率的处理并不会有感知。
在本发明的一个实施例中,步骤S120中的根据第一指定直播群的成员数量确定目标码率包括:预设不同直播群成员数量与不同码率之间的对应关系表;根据第一指定直播群的成员数量查询对应关系表,确定相应的目标码率。
在本实施例中,为了保证在进行降码处理后的视频流播放时,不影响用户的观看效果,将那率处理需要根据直播群中的成员数量进行处理,否则码率降低的太多会造成视频流播放时的不清晰。另外,这里的对应关系表可以是服务器下发给客户端侧的,以便在客户端侧进行降码率处理时查询该对应关系表。当服务器侧更新该对应关系表时,还可以将更新后的对应关系表实时下发给客户端侧,以便进行更新。
在本实施例中,查询对应关系表确定的目标码率可以理解为是降码率处理的视频达到的码率,目标码率确定后,就可以根据该确定的目标码率对本地视频流进行降码率处理。例如,该直播群中当前加入的成员是4个,根据对应关系表中的成员数量是4时对应的码率是400bps,本地视频流的码率是 600bps,对本地视频流进行降码率处理时,将码率从600bps降到400bps。
进一步地,在上述实施例中的基础上,图1所示的方法进一步包括:当第一指定直播群的成员数量变化时,依据变化后的成员数量查询对应关系表,重新确定相应的目标码率,将本地视频流的码率调整至重新确定的码率后发送给服务器。
也就是说,在本实施例中,目标码率应该是随着直播群中的成员数量的改变而改变的,也是为了避免在成员数量减少或者增加时,降码率的处理会影响观看效果。例如,在上述例子中,该直播群中当前加入的成员增加了2 个,变成6个,根据对应关系表中的成员数量是6时对应的码率是200bps,本地视频流的码率是600bps,对本地视频流进行降码率处理时,将码率从 600bps降到200bps,然后再将降码处理后的视频流发送给服务器。
在实际应用中,当用户作为一个直播群中的成员进行直播时,需要将自己的本地视频流发送给服务器,以便服务器将本地视频流发送给该直播群中的其他成员。如果用户不想让其他成员看到自己的脸部图像,则可以进行相应的处理,防止其他成员看到自己的脸。
在本发明的一个实施例中,图1所示的方法进一步包括:判断是否满足遮脸条件;如果满足,则进一步对本地视频流中的人脸进行模糊处理或遮脸特效处理后再发送给服务器。
在本实施例中,用户可以进行遮脸的选择,即一旦判断了满足遮脸的条件,就会对本地视频流中的人脸进行模糊处理或遮脸特效处理。
具体地,上述的判断是否满足遮脸条件包括如下中的一种或多种:判断用户是否设置了“不露脸”选项;通过图像检测判断视频中的人脸是否被遮挡;通过图像检测判断视频中是否存在人脸。
在本实施例中,用户在进行直播前可以在提供的选项中选择“不露脸”的选项,这样在进行直播时,首先根据人脸识别技术将本地视频流中的人脸识别出来后,将人脸进行模糊处理或者遮面特效处理后在发送给服务器。例如,将人脸进行模糊处理;或者,将人脸上叠加“萌萌兔”的面具特效,这样其他成员看到的效果就是人脸被模糊的视频流或者人脸处“萌萌兔”的面具的视频流。
在本实施例中,用户如果不愿意露脸,在进行直播时,就已经将自己的脸进行了遮挡,例如佩戴口罩或者用手进行遮挡,这说明用户是不想在直播中露脸的,根据图像检测,如果检测到用户的人脸是被遮挡的,这样满足遮脸条件,需要对本地视频流中的人脸进行模糊处理或遮脸特效处理,满足用户不露脸的需求。
在本实施例中,用户如果不愿意露脸,在进行直播时,可以将摄像头的镜头对准非人物的地方,例如天花板或地板,这说明用户是不想在直播中露脸的,这样也满足遮脸的条件,也就是说,实时对视频流进行图像检测,如果长时间检测不到人脸,突然在某一帧图像中检测到了人脸,说明用户原本不想露脸,但是在直播的过程中不小心将露脸了,就需要对人脸进行模糊或者遮脸特效处理。
为了公平,当满足遮脸条件后,则服务器返回的其他成员的视频流中的人脸也是经过模糊处理或者遮脸特效处理后的。这样,一旦一个用户将自己的脸遮挡,则该用户也无法看到其他成员的人脸,保证视频直播的公平性,增强用户的使用体验。
通常情况下,用户进入一个直播群时,只能作为该直播群中的一个主播加入,但是无法满足用户想要观看该直播群,但是并不想作为其中的一个主播的需求。在本发明的一个实施例中,图1所示的方法进一步包括:响应于旁观第二指定直播群的操作指令,向服务器发送包含第二指定直播群的标识信息的直播群旁观请求;接收服务器根据直播群旁观请求返回的加入第二指定直播群的各成员的视频流;将加入第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
在本实施例中,当用户选择加入一个指定直播群中时,用户可以选择正常的进入该直播群,即作为其中的一个主播进入该直播群。在本实施例中,提供给用户另一个选择,即选择作为旁观者的身份加入该指定直播群,当用户选择旁观第一指定直播群的操作指令时,向服务器发送直播群旁观请求,为了获知用户旁观的是哪个直播群,将用户加入的第一指定直播群的标识信息包含在直播群旁观请求中发送给服务器。当服务器接收到上述的直播群旁观请求后,会将该直播群中的各个成员的视频流返回。
在本实施例中,服务器是将直播群中的各成员的视频流分别返回的,例如,直播群中有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,则会接收到接收服务器返回的直播群已满允许旁观的响应消息,则该用户可以作为该直播群的一个旁观者进行观看。
图2示出了根据本发明一个实施例的实现直播群的装置的结构示意图。如图2所示,该实现直播群的装置200包括:
获取单元210,适于当接收加入第一指定直播群的操作指令时,获取本地视频流。
当进行直播群直播时,用户加入到一个指定直播群中,需要将本地视频流发送给服务器,并接收服务器返回的该指定直播群中其他加入的成员的视频流,将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放。在本实施例中,当接收到用户加入第一指定直播群的操作指令时,获取本地视频流,以便去本地视频流进行处理。这里的本地视频流可以是移动终端的摄像头采集的。
处理单元220,适于根据第一指定直播群的成员数量确定目标码率,将本地视频流的码率降至目标码率后发送给服务器。
为了减少视频流传输时对网络资源的占用,在发送给服务器前,将获取的本地视频流进行降码率处理。
这里的码率即是比特率,是指每秒传送的比特(bit)数,单位为bps(Bit PerSecond),比特率越高,传送数据速度越快。视频中的比特率(码率)是指由模拟信号转换为数字信号后,单位时间内的二进制数据量。
这里的目标码率是视频进行降码处理后所达到的码率。
在本实施例中,降码处理是根据该第一指定直播群中的成员数量确定的,主要是因为降码处理后会影响视频播放的清晰度,直播群中的成员数量越多意味着在同一显示界面中显示的成员的视频流的数量越多,即每个成员的视频流占用的同一显示界面中的部分就越小,这样即使降低了一定的码率也不会影响用户的观看效果,即降码对用户是无感知的。但是如果,直播群中的成员数量小,目标码率就比较小,则会导致同一显示界面中的视频流的播放的不清晰,影响用户的观看效果,所以,在本实施例中,根据第一指定直播群的成员数量确定目标码率,然后将视频的码率降低至目标码率,可以减少占用的网路资源,提高视频流的传输速度,且不影响用户的观看效果。
接收单元230,适于接收服务器返回的加入第一指定直播群的其他成员的视频流。
播放单元240,适于将其他成员的视频流和降码率后的本地视频流整合在同一显示界面上进行显示播放。
通过本实施例,将本地视频流进行降码率处理后发送给服务器,在本地视频上传的过程中,占用的网络资源降低,同时服务器将本地视频发送给其他成员时,也会减少网络资源的消耗,提高视频直播的实时性,增强用户的使用体验。
在本实施例中,其他成员的视频流在发送给服务器时,同样也可以是经过降码率处理后的,本地视频流上传时的网络资源的占用降低,接收的其他成员的视频流的码率也是经过降低的,可以进一步提高视频直播的实时性,增强用户的使用体验。
需要说明的是,在直播群的显示播放时,是将其他成员的视频流和降码率后的本地视频流整合在同一显示界面上进行显示播放的,例如,将同一显示界面分割成若干部分,每个成员的视频流占用一个部分进行播放,在本实施例实施后,将降码率后的视频流进行播放时并不会影响用户的观看效果,即用户对降码率的处理并不会有感知。
在本发明的一个实施例中,处理单元220,适于预设不同直播群成员数量与不同码率之间的对应关系表;根据第一指定直播群的成员数量查询对应关系表,确定相应的目标码率。
在本实施例中,为了保证在进行降码处理后的视频流播放时,不影响用户的观看效果,将那率处理需要根据直播群中的成员数量进行处理,否则码率降低的太多会造成视频流播放时的不清晰。另外,这里的对应关系表可以是服务器下发给客户端侧的,以便在客户端侧进行降码率处理时查询该对应关系表。当服务器侧更新该对应关系表时,还可以将更新后的对应关系表实时下发给客户端侧,以便进行更新。
在本实施例中,查询对应关系表确定的目标码率可以理解为是降码率处理的视频达到的码率,目标码率确定后,就可以根据该确定的目标码率对本地视频流进行降码率处理。例如,该直播群中当前加入的成员是4个,根据对应关系表中的成员数量是4时对应的码率是400bps,本地视频流的码率是 600bps,对本地视频流进行降码率处理时,将码率从600bps降到400bps。
进一步地,处理单元220,适于当第一指定直播群的成员数量变化时,依据变化后的成员数量查询对应关系表,重新确定相应的目标码率,将本地视频流的码率调整至重新确定的码率后发送给服务器。
也就是说,在本实施例中,目标码率应该是随着直播群中的成员数量的改变而改变的,也是为了避免在成员数量减少或者增加时,降码率的处理会影响观看效果。例如,在上述例子中,该直播群中当前加入的成员增加了2 个,变成6个,根据对应关系表中的成员数量是6时对应的码率是200bps,本地视频流的码率是600bps,对本地视频流进行降码率处理时,将码率从 600bps降到200bps,然后再将降码处理后的视频流发送给服务器。
在实际应用中,当用户作为一个直播群中的成员进行直播时,需要将自己的本地视频流发送给服务器,以便服务器将本地视频流发送给该直播群中的其他成员。如果用户不想让其他成员看到自己的脸部图像,则可以进行相应的处理,防止其他成员看到自己的脸。
在本发明的一个实施例中,
处理单元220,进一步适于判断是否满足遮脸条件,如果满足,则进一步对本地视频流中的人脸进行模糊处理或遮脸特效处理后再发送给服务器。
在本实施例中,用户可以进行遮脸的选择,即一旦判断了满足遮脸的条件,就会对本地视频流中的人脸进行模糊处理或遮脸特效处理。
具体地,处理单元220,适于在判断是否满足遮脸条件时,具体进行如下一种或多种判断:判断用户是否设置了“不露脸”选项;通过图像检测判断视频中的人脸是否被遮挡;通过图像检测判断视频中是否存在人脸。
在本实施例中,用户在进行直播前可以在提供的选项中选择“不露脸”的选项,这样在进行直播时,首先根据人脸识别技术将本地视频流中的人脸识别出来后,将人脸进行模糊处理或者遮面特效处理后在发送给服务器。例如,将人脸进行模糊处理;或者,将人脸上叠加“萌萌兔”的面具特效,这样其他成员看到的效果就是人脸被模糊的视频流或者人脸处“萌萌兔”的面具的视频流。
在本实施例中,用户如果不愿意露脸,在进行直播时,就已经将自己的脸进行了遮挡,例如佩戴口罩或者用手进行遮挡,这说明用户是不想在直播中露脸的,根据图像检测,如果检测到用户的人脸是被遮挡的,这样满足遮脸条件,需要对本地视频流中的人脸进行模糊处理或遮脸特效处理,满足用户不露脸的需求。
在本实施例中,用户如果不愿意露脸,在进行直播时,可以将摄像头的镜头对准非人物的地方,例如天花板或地板,这说明用户是不想在直播中露脸的,这样也满足遮脸的条件,也就是说,实时对视频流进行图像检测,如果长时间检测不到人脸,突然在某一帧图像中检测到了人脸,说明用户原本不想露脸,但是在直播的过程中不小心将露脸了,就需要对人脸进行模糊或者遮脸特效处理。
为了公平,当用户满足遮脸条件后,则服务器返回的其他成员的视频流中的人脸也是经过模糊处理或者遮脸特效处理后的。这样,一旦一个用户将自己的脸遮挡,则该用户也无法看到其他成员的人脸,保证视频直播的公平性,增强用户的使用体验。
通常情况下,用户进入一个直播群时,只能作为该直播群中的一个主播加入,但是无法满足用户想要观看该直播群,但是并不想作为其中的一个主播的需求。在本发明的一个实施例中,图2所示的装置进一步包括:
旁观请求单元,适于响应于旁观第二指定直播群的操作指令,向服务器发送包含第二指定直播群的标识信息的直播群旁观请求;接收服务器根据直播群旁观请求返回的加入第二指定直播群的各成员的视频流;将加入第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
在本实施例中,当用户选择加入一个指定直播群中时,用户可以选择正常的进入该直播群,即作为其中的一个主播进入该直播群。在本实施例中,提供给用户另一个选择,即选择作为旁观者的身份加入该指定直播群,当用户选择旁观第一指定直播群的操作指令时,向服务器发送直播群旁观请求,为了获知用户旁观的是哪个直播群,将用户加入的第一指定直播群的标识信息包含在直播群旁观请求中发送给服务器。当服务器接收到上述的直播群旁观请求后,会将该直播群中的各个成员的视频流返回。
在本实施例中,服务器是将直播群中的各成员的视频流分别返回的,例如,直播群中有6个人,则服务器返回的是6个视频流。为了便于用户进行旁观,当播放各成员的视频流时,将加入第一指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。例如,上述的6个视频流整合到同一显示界面上进行显示,例如,将同一显示界面平均分成6块,每块分别播放一个成员的视频流,用户旁观的效果即是在同一显示界面中看到6个成员的直播视频。需要说明的是,当直播群的成员数量从6变为4时,则将4个成员的视频流整合到同一显示界面上时,则可将同一显示界面平均分成4块,每块分别播放一个成员的视频流。
在本实施例中,因为该用户是作为旁观者进入该直播群的,则无法同正常加入该直播群的用户一样和其他成员精通沟通,且无法给其他成员展示自己的视频图像,所有在旁观者侧只能浏览到该直播群的成员的视频流。
需要说明的是,本实施例可以应用在任何一款可以实现视频直播的应用程序中。
在一个具体的例子中,用户使用花椒直播时,进入开趴(即直播群)的界面,该界面中显示正在进行直播的多个直播群,当用户想要进入第10直播群(该群中有4个人正在进行直播)进行旁观时,输入旁观第10直播群的操作指令,向服务器发送包含“10”的直播群旁观请求,服务器返回该第10 直播群中的4个成员的视频流,用户在花椒直播的同一显示界面中可以同时观看该4个成员的视频流。
可见,通过本实施例,当用户不想作为主播加入直播群时,可以作为旁观者进入该直播群进行直播观看,满足用户的需求,增强用户的使用体验。
通常情况下,同一视频直播间中可容纳的直播的人数是有限的,一旦一个视频直播间中直播群的人数达到上限,其他想要进入该直播间的用户则无法进入,降低用户的使用体验。在本发明的一个实施例中,旁观请求单元,适于响应于加入第二指定直播群的操作指令,判断已加入第二指定直播群的成员是否已达到预设上限;如果未达到预设上限,则获取本地视频流并将第二指定直播群的标识信息和本地视频流发送给服务器;接收服务器返回的加入第二指定直播群的其他成员的视频流;将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放;如果已达到预设上限,则向服务器发送包含第二指定直播群的标识信息的直播群旁观请求;接收服务器根据直播群旁观请求返回的加入第二指定直播群的各成员的视频流;将加入第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
在本实施例中,如果用户发送的是加入一个指定直播群的操作指令,则首先判断已加入第二指定直播群的成员是否已达到预设上限。如果没有达到预设上限,则发送指令的用户可以正常加入,但是如果达到预设上限,为了提高用户的使用体验,用户可以作为旁观者加入到该直播群中。
在本实施例中,如果没有达到预设上限,说明用户可以作为直播群的一个成员加入。因为使得直播群中的其他成员可以获取到该用户的视频流,则需要获取用户本地视频流,并将第二指定直播群的标识信息和本地视频流发送给服务器,以便服务器将该本地视频流发送给该直播群中的其他成员。同时为了浏览到其他成员的视屏,需要接收服务器返回的加入第二指定直播群的其他成员的视频流。同样的,该用户是作为直播群的一个成员加入的,在显示界面显示播放时,不仅要播放其他成员的视频,还要将自己本地的视频一通播放,所以在这里,显示播放时需要将其他成员的视频流和本地视频流整合在同一显示界面上进行显示播放。
需要说明的是,这里接收服务器返回的加入该直播群的成员的视频流,是指正在该直播群中直播的成员的视频流,例如,一个直播群,虽然预设上限是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,则会接收到接收服务器返回的直播群已满允许旁观的响应消息,则该用户可以作为该直播群的一个旁观者进行观看。
本发明还提供了一种电子设备,其中,该电子设备包括:
处理器;以及,
被安排成存储计算机可执行指令的存储器,可执行指令在被执行时使处理器执行根据图1所示的及其各实施例中的实现直播群的方法。
图3示出了根据本发明一个实施例的电子设备的功能结构示意图。如图 3所示,该电子设备300包括:
处理器310;以及被安排成存储计算机可执行指令(程序代码)的存储器320,在存储器320中,有存储程序代码的存储空间330,用于执行根据本发明的方法步骤的程序代码340存储在存储空间330中,该程序代码在被执行时使处理器310执行根据图1所示的及其各实施例中的实现直播群的方法。
图4示出了根据本发明一个实施例的一种计算机可读存储介质的结构示意图。如图4所示,该计算机可读存储介质400存储一个或多个程序(程序代码)410,一个或多个程序(程序代码)410当被处理器执行时,实现图1 所示的及其各实施例中的实现直播群的方法。
需要说明的是,图3所示的电子设备和图4所示的计算机可读存储介质的各实施例与图1所示的方法的各实施例对应相同,上文已有详细说明,在此不再赘述。
综上所述,根据本发明的技术方案,当接收加入第一指定直播群的操作指令时,获取本地视频流;根据第一指定直播群的成员数量确定目标码率,将本地视频流的码率降至目标码率后发送给服务器;接收服务器返回的加入第一指定直播群的其他成员的视频流;将其他成员的视频流和降码率后的本地视频流整合在同一显示界面上进行显示播放。通过本技术方案,将本地视频流进行降码率处理后发送给服务器,在本地视频上传的过程中,占用的网络资源降低,同时服务器将本地视频发送给其他成员时,也会减少网络资源的消耗,提高视频直播的实时性,增强用户的使用体验。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的实现直播群的装置、电子设备和计算机可读存储介质的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图3示出了根据本发明一个实施例的电子设备的结构示意图。该电子设备300传统上包括处理器310和被安排成存储计算机可执行指令(程序代码)的存储器320。存储器320可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器 320具有存储用于执行图1所示的以及各实施例中的任何方法步骤的程序代码340的存储空间330。例如,用于程序代码的存储空间330可以包括分别用于实现上面的方法中的各种步骤的各个程序代码340。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为例如图4所述的计算机可读存储介质400。该计算机可读存储介质400可以具有与图3的电子设备中的存储器320类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元存储有用于执行根据本发明的方法步骤的程序代码410,即可以由诸如310之类的处理器读取的程序代码,当这些程序代码由电子设备运行时,导致该电子设备执行上面所描述的方法中的各个步骤。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第二、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种实现直播群的方法,其中,该方法包括:
当接收加入第一指定直播群的操作指令时,获取本地视频流;
根据第一指定直播群的成员数量确定目标码率,将本地视频流的码率降至所述目标码率后发送给服务器;
接收服务器返回的加入所述第一指定直播群的其他成员的视频流;
将其他成员的视频流和降码率后的本地视频流整合在同一显示界面上进行显示播放。
A2、如A1所述的方法,其中,所述根据第一指定直播群的成员数量确定目标码率包括:
预设不同直播群成员数量与不同码率之间的对应关系表;
根据所述第一指定直播群的成员数量查询所述对应关系表,确定相应的目标码率。
A3、如A2所述的方法,其中,该方法进一步包括:
当所述第一指定直播群的成员数量变化时,依据变化后的成员数量查询所述对应关系表,重新确定相应的目标码率,将本地视频流的码率调整至重新确定的码率后发送给服务器。
A4、如A1-A3中任一项所述的方法,其中,该方法进一步包括:
判断是否满足遮脸条件;
如果满足,则进一步对所述本地视频流中的人脸进行模糊处理或遮脸特效处理后再发送给服务器。
A5、如A4所述的方法,其中,所述判断是否满足遮脸条件包括如下中的一种或多种:
判断用户是否设置了“不露脸”选项;
通过图像检测判断视频中的人脸是否被遮挡;
通过图像检测判断视频中是否存在人脸。
A6、如A1-A3中任一项所述的方法,其中,该方法进一步包括:
响应于旁观第二指定直播群的操作指令,向服务器发送包含所述第二指定直播群的标识信息的直播群旁观请求;
接收服务器根据所述直播群旁观请求返回的加入所述第二指定直播群的各成员的视频流;
将加入所述第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
本发明还公开了B7、一种实现直播群的装置,其中,该装置包括:
获取单元,适于当接收加入第一指定直播群的操作指令时,获取本地视频流;
处理单元,适于根据第一指定直播群的成员数量确定目标码率,将本地视频流的码率降至所述目标码率后发送给服务器;
接收单元,适于接收服务器返回的加入所述第一指定直播群的其他成员的视频流;
播放单元,适于将其他成员的视频流和降码率后的本地视频流整合在同一显示界面上进行显示播放。
B8、如B7所述的装置,其中,
所述处理单元,适于预设不同直播群成员数量与不同码率之间的对应关系表;根据所述第一指定直播群的成员数量查询所述对应关系表,确定相应的目标码率。
B9、如B8所述的装置,其中,
所述处理单元,适于当所述第一指定直播群的成员数量变化时,依据变化后的成员数量查询所述对应关系表,重新确定相应的目标码率,将本地视频流的码率调整至重新确定的码率后发送给服务器。
B10、如B7-B9中任一项所述的装置,其中,
所述处理单元,进一步适于判断是否满足遮脸条件,如果满足,则进一步对所述本地视频流中的人脸进行模糊处理或遮脸特效处理后再发送给服务器。
B11、如B10所述的装置,其中,
所述处理单元,适于在判断是否满足遮脸条件时,具体进行如下一种或多种判断:
判断用户是否设置了“不露脸”选项;
通过图像检测判断视频中的人脸是否被遮挡;
通过图像检测判断视频中是否存在人脸。
B12、如B7-B9中任一项所述的装置,其中,该装置进一步包括:
旁观请求单元,适于响应于旁观第二指定直播群的操作指令,向服务器发送包含所述第二指定直播群的标识信息的直播群旁观请求;接收服务器根据所述直播群旁观请求返回的加入所述第二指定直播群的各成员的视频流;将加入所述第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
本发明还公开了C13、一种电子设备,其中,该电子设备包括:
处理器;以及,
存储计算机可执行指令的存储器;所述可执行指令在被执行时使所述处理器执行根据A1~A6中任一项所述的方法。
本发明还公开了D14、一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现A1~A6中任一项所述的方法。

Claims (12)

1.一种实现直播群的方法,其中,该方法包括:
当接收加入第一指定直播群的操作指令时,获取本地视频流;
根据第一指定直播群的成员数量确定目标码率,将本地视频流的码率降至所述目标码率后发送给服务器;
接收服务器返回的加入所述第一指定直播群的其他成员的视频流;
将其他成员的视频流和降码率后的本地视频流整合在同一显示界面上进行显示播放;
该方法进一步包括:
响应于旁观第二指定直播群的操作指令,向服务器发送包含所述第二指定直播群的标识信息的直播群旁观请求;
接收服务器根据所述直播群旁观请求返回的加入所述第二指定直播群的各成员的视频流;
将加入所述第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
2.如权利要求1所述的方法,其中,所述根据第一指定直播群的成员数量确定目标码率包括:
预设不同直播群成员数量与不同码率之间的对应关系表;
根据所述第一指定直播群的成员数量查询所述对应关系表,确定相应的目标码率。
3.如权利要求2所述的方法,其中,该方法进一步包括:
当所述第一指定直播群的成员数量变化时,依据变化后的成员数量查询所述对应关系表,重新确定相应的目标码率,将本地视频流的码率调整至重新确定的码率后发送给服务器。
4.如权利要求1-3中任一项所述的方法,其中,该方法进一步包括:
判断是否满足遮脸条件;
如果满足,则进一步对所述本地视频流中的人脸进行模糊处理或遮脸特效处理后再发送给服务器。
5.如权利要求4所述的方法,其中,所述判断是否满足遮脸条件包括如下中的一种或多种:
判断用户是否设置了“不露脸”选项;
通过图像检测判断视频中的人脸是否被遮挡;
通过图像检测判断视频中是否存在人脸。
6.一种实现直播群的装置,其中,该装置包括:
获取单元,适于当接收加入第一指定直播群的操作指令时,获取本地视频流;
处理单元,适于根据第一指定直播群的成员数量确定目标码率,将本地视频流的码率降至所述目标码率后发送给服务器;
接收单元,适于接收服务器返回的加入所述第一指定直播群的其他成员的视频流;
播放单元,适于将其他成员的视频流和降码率后的本地视频流整合在同一显示界面上进行显示播放;
该装置进一步包括:
旁观请求单元,适于响应于旁观第二指定直播群的操作指令,向服务器发送包含所述第二指定直播群的标识信息的直播群旁观请求;接收服务器根据所述直播群旁观请求返回的加入所述第二指定直播群的各成员的视频流;将加入所述第二指定直播群的各成员的视频流整合在同一显示界面上进行显示播放。
7.如权利要求6所述的装置,其中,
所述处理单元,适于预设不同直播群成员数量与不同码率之间的对应关系表;根据所述第一指定直播群的成员数量查询所述对应关系表,确定相应的目标码率。
8.如权利要求7所述的装置,其中,
所述处理单元,适于当所述第一指定直播群的成员数量变化时,依据变化后的成员数量查询所述对应关系表,重新确定相应的目标码率,将本地视频流的码率调整至重新确定的码率后发送给服务器。
9.如权利要求6-8中任一项所述的装置,其中,
所述处理单元,进一步适于判断是否满足遮脸条件,如果满足,则进一步对所述本地视频流中的人脸进行模糊处理或遮脸特效处理后再发送给服务器。
10.如权利要求9所述的装置,其中,
所述处理单元,适于在判断是否满足遮脸条件时,具体进行如下一种或多种判断:
判断用户是否设置了“不露脸”选项;
通过图像检测判断视频中的人脸是否被遮挡;
通过图像检测判断视频中是否存在人脸。
11.一种电子设备,其中,该电子设备包括:
处理器;以及,
存储计算机可执行指令的存储器;所述可执行指令在被执行时使所述处理器执行根据权利要求1~5中任一项所述的方法。
12.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现权利要求1~5中任一项所述的方法。
CN201711487791.5A 2017-12-29 2017-12-29 一种实现直播群的方法、装置、电子设备和存储介质 Active CN108174231B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711487791.5A CN108174231B (zh) 2017-12-29 2017-12-29 一种实现直播群的方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711487791.5A CN108174231B (zh) 2017-12-29 2017-12-29 一种实现直播群的方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN108174231A CN108174231A (zh) 2018-06-15
CN108174231B true CN108174231B (zh) 2020-12-22

Family

ID=62516447

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711487791.5A Active CN108174231B (zh) 2017-12-29 2017-12-29 一种实现直播群的方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN108174231B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108810562B (zh) * 2018-06-21 2021-04-06 北京密境和风科技有限公司 网络表演的实现方法和装置
CN114827664B (zh) * 2022-04-27 2023-10-20 咪咕文化科技有限公司 多路直播混流方法、服务器、终端设备、系统及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103312804A (zh) * 2013-06-17 2013-09-18 华为技术有限公司 屏幕分享方法和相关设备及通信系统
EP2779567A2 (en) * 2013-03-15 2014-09-17 HBC Solutions, Inc. Generating a plurality of media data streams
CN104333730A (zh) * 2014-11-26 2015-02-04 北京奇艺世纪科技有限公司 一种视频通信方法及装置
CN106713945A (zh) * 2016-12-06 2017-05-24 广州华多网络科技有限公司 客户端连麦直播处理方法和装置、直播服务器及直播系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2779567A2 (en) * 2013-03-15 2014-09-17 HBC Solutions, Inc. Generating a plurality of media data streams
CN103312804A (zh) * 2013-06-17 2013-09-18 华为技术有限公司 屏幕分享方法和相关设备及通信系统
CN104333730A (zh) * 2014-11-26 2015-02-04 北京奇艺世纪科技有限公司 一种视频通信方法及装置
CN106713945A (zh) * 2016-12-06 2017-05-24 广州华多网络科技有限公司 客户端连麦直播处理方法和装置、直播服务器及直播系统

Also Published As

Publication number Publication date
CN108174231A (zh) 2018-06-15

Similar Documents

Publication Publication Date Title
JP6948624B2 (ja) 映像配信方法及びサーバ
US11482192B2 (en) Automated object selection and placement for augmented reality
JP6904954B2 (ja) ネットワークベースのイベント記録
JP5562764B2 (ja) オンラインレポーティング装置および方法
US10255749B2 (en) Systems, methods, and media for immersive roulette gaming
KR101983322B1 (ko) 관심 기반 비디오 스트림 선택 기법
WO2017088621A1 (zh) 一种实现网络直播的方法和服务器
US20180012630A1 (en) Selective content insertion into areas of media objects
CN111246232A (zh) 直播互动方法、装置、电子设备及存储介质
CN106303354B (zh) 一种脸部特效推荐方法及电子设备
CN105898583B (zh) 一种图像推荐方法及电子设备
CN109104641A (zh) 一种多主播直播间赠送虚拟礼物的方法及装置
CN112714327B (zh) 基于直播应用程序的互动方法、装置、设备及存储介质
CN110602518A (zh) 直播推荐方法、装置、电子设备及可读存储介质
WO2019114330A1 (zh) 一种视频播放方法、装置和终端设备
CN110876079B (zh) 视频处理方法、装置和设备
CN116235505B (zh) 在消息收发系统内将广告插入视频中
CN106604147A (zh) 一种视频处理方法及装置
CN108174231B (zh) 一种实现直播群的方法、装置、电子设备和存储介质
US20200104030A1 (en) User interface elements for content selection in 360 video narrative presentations
CN114245228A (zh) 页面链接投放方法、装置及电子设备
JP6748323B1 (ja) 動画配信装置、動画配信方法、および、動画配信プログラム
CN116325765A (zh) 在消息收发系统内针对视频选择广告
CN112804578A (zh) 氛围特效生成方法、装置、电子设备和存储介质
CN110336957B (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