CN109495762B - 数据流处理方法、装置及存储介质、终端设备 - Google Patents
数据流处理方法、装置及存储介质、终端设备 Download PDFInfo
- Publication number
- CN109495762B CN109495762B CN201811174121.2A CN201811174121A CN109495762B CN 109495762 B CN109495762 B CN 109495762B CN 201811174121 A CN201811174121 A CN 201811174121A CN 109495762 B CN109495762 B CN 109495762B
- Authority
- CN
- China
- Prior art keywords
- value
- frame
- microphone
- user
- current user
- 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
- 238000003672 processing method Methods 0.000 title abstract description 24
- 241000209140 Triticum Species 0.000 claims abstract description 92
- 235000021307 Triticum Nutrition 0.000 claims abstract description 92
- 238000000034 method Methods 0.000 claims abstract description 52
- 238000012545 processing Methods 0.000 claims abstract description 36
- 230000015654 memory Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 17
- 230000006870 function Effects 0.000 description 10
- 230000002829 reductive effect Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000001413 cellular effect Effects 0.000 description 5
- 238000005034 decoration Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000036961 partial effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000000007 visual 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/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/233—Processing of audio elementary streams
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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/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/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供一种数据流处理方法、装置及存储介质、终端设备,所述方法包括:确认当前用户接入连麦会话窗口;获取所述连麦会话窗口的连麦用户的人数;若所述连麦用户的人数达到预设人数,获取所述连麦用户的连续的帧图像,对所述帧图像进行帧差运算,得到帧差结果值;根据所述帧差结果值控制连麦会话的数据流。上述多人连麦的数据流处理方法可根据连麦用户的人数,控制连麦用户的数据流,从而能够解决多人连麦过程流量消耗与音视频卡顿等数据流的问题。
Description
技术领域
本发明涉及连麦技术领域,具体而言,本发明涉及一种数据流处理方法、装置及存储介质、终端设备。
背景技术
随着互联网技术逐渐成熟以及终端硬件设备的不断完善,电脑以及手机等小型终端设备的成本也随之下降,因此降低了直播的门槛。现阶段随着智能手机的普及,智能手机的高清摄像头以及高速手机联网技术,如4G,wifi等网络技术,使得移动端直播讯速发展。
直播中比较受用户欢迎的互动方式就是连麦,连麦的原理如图1所示。如今一对一的连麦技术已经比较成熟,但是多人连麦的技术还有所欠缺。由于受到手机性能以及下行网速的影响,随着连麦人数的增加,多人连麦过程中容易造成连麦画面的卡顿与大量流量的消耗。造成连麦画面的卡顿的因素主要有:网络,视频,音频,适配,渲染等。音频,视频,适配制约与需求,渲染等与终端设备的性能相关,而连麦画面的卡顿更多的是因为连麦网络。
现有的解决多人连麦卡顿的方案主要:第一,降低推流和拉流的码率。第二,根据不同的人数采用降低的动态码率。第三,通过服务器合流后再转发。其中,降低推流和拉流的码率与根据不同的人数采用降低的动态码率本质上都是一样的,通过降低码率来达到降低流量消耗和网络卡顿,但对于多人连麦的情况下,网络下行的压力依然很大,而且如果将码率设置很低,对连麦画面质量影响很大,导致连麦画面模糊。通过服务器合流后再转发能够做到与一对一连麦效果一样,可以既保证画质又可以保证下行码率网络低延时,但是对于需要对单独流做窗口显示与操作的直播场景不适用。
发明内容
本发明提出一种多人连麦的数据流处理方法、装置及存储介质、终端设备,以解决多人连麦过程流量消耗与音视频卡顿等引起的数据流的问题。
本发明提供以下方案:
一种多人连麦的数据流处理方法,所述方法包括:确认当前用户接入连麦会话窗口;获取所述连麦会话窗口的连麦用户的人数;若所述连麦用户的人数达到预设人数,获取所述连麦用户的连续的帧图像,对所述帧图像进行帧差运算,得到帧差结果值;根据所述帧差结果值控制连麦会话的数据流。
在其中一个实施例中,所述获取所述连麦会话窗口的连麦用户的人数之后,还包括:若所述连麦用户的人数未达到所述预设人数,通过动态码率的方式调整所述连麦会话的数据流。
在其中一个实施例中,所述获取所述连麦用户的连续的帧图像,包括:获取所述当前用户的连续的帧图像;所述数据流包括视频流和音频流;所述根据所述帧差结果值控制连麦会话的数据流,包括:当所述帧差结果值大于第一阈值时,推送所述当前用户的视频流和音频流;当所述帧差结果值小于或等于第一阈值时,推送所述当前用户的音频流。
在其中一个实施例中,所述获取所述连麦用户的连续的帧图像,包括:获取所述连麦会话窗口中所述当前用户以外的任一连麦用户的连续的帧图像;所述数据流包括视频流和音频流;所述根据所述帧差结果值控制连麦会话的数据流,包括:获取所述当前用户以外的任一连麦用户推流时的标志位;所述推流时的标志位为连麦用户推送所述数据流时,标志连麦用户在所述连麦会话窗口的显示位置的标号;当所述帧差结果值大于第二阈值时,根据所述标志位拉取所述当前用户以外的任一连麦用户的视频流和音频流;当所述帧差结果值小于或等于第二阈值时,根据所述标志位拉取所述当前用户以外的任一连麦用户的音频流。
在其中一个实施例中,所述获取所述连麦用户的连续的帧图像,对所述帧图像进行帧差运算,得到帧差结果值,根据所述帧差结果值控制连麦会话的数据流,包括:将所述帧图像划分为上部分图像、中部分图像以及下部分图像;分别对所述上部分图像、中部分图像以及下部分图像进行帧差运算,得到每个部分的帧差结果值;根据所述每个部分的帧差结果值控制连麦会话的数据流。
在其中一个实施例中,所述获取所述连麦用户的连续的帧图像,包括:获取所述连麦用户的连续的三个帧图像,得到根据时间前后顺序排列的第一帧图像、第二帧图像以及第三帧图像;所述分别对所述上部分图像、中部分图像以及下部分图像进行帧差运算,得到每个部分的帧差结果值,根据所述每个部分的帧差结果值控制连麦会话的数据流,包括:利用差分法分别对所述第二帧图像与所述第一帧图像的所述上部分图像、中部分图像以及下部分图像进行帧差运算,依序得到第一差值,第二差值以及第三差值;利用差分法,分别对所述第三帧图像与所述第二帧图像的所述上部分图像、中部分图像以及下部分图像进行帧差运算,依序得到第四差值,第五差值以及第六差值;对所述第一差值和所述第四差值进行与运算,得到第一运算值;对所述第二差值和所述第五差值进行与运算,得到第二运算值;对所述第三差值和所述第六差值进行与运算,得到第三运算值;根据所述第一运算值、所述第二运算值以及所述第三运算值,控制连麦会话的数据流。
在其中一个实施例中,所述数据流包括视频流和音频流;所述根据所述第一运算值、所述第二运算值以及所述第三运算值,控制连麦会话的数据流,包括:分别判断所述第一运算值、所述第二运算值和所述第三运算值是否大于第三阈值;若所述第一运算值、所述第二运算值和所述第三运算值中,任一运算值大于所述第三阈值,则推送所述当前用户的视频流和音频流,或拉取所述当前用户以外的任一连麦用户的视频流和音频流;若所述第一运算值、所述第二运算值和所述第三运算值中,三个运算值均小于或等于所述第三阈值,则推送所述当前用户的音频流,或拉取所述当前用户以外的任一连麦用户的音频流。
在其中一个实施例中,所述获取所述连麦用户的连续的帧图像,对所述帧图像进行帧差运算,得到帧差结果值,包括:获取所述连麦用户的连续的帧图像,将该帧图像进行转灰度图处理,得到灰度帧图像;对所述灰度帧图像进行帧差运算,得到所述帧差结果值。
一种多人连麦的数据流处理装置,所述装置包括;确认模块,用于确认当前用户接入连麦会话窗口;获取模块,用于获取所述连麦会话窗口的连麦用户的人数;运算模块,用于若所述连麦用户的人数达到预设人数,获取所述连麦用户的连续的帧图像,对所述帧图像进行帧差运算,得到帧差结果值;控制模块,用于根据所述帧差结果值控制连麦会话的数据流。
一种存储介质,其上存储有计算机程序;所述计算机程序适于由处理器加载并执行上述任一实施例所述的多人连麦的数据流处理方法。
一种终端设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任一实施例所述的多人连麦的数据流处理方法。
上述实施例提供的多人连麦的数据流处理方法,当用户进入连麦会话窗口时,获取并判断连麦会话窗口的连麦用户的人数。当连麦用户的人数达到预设人数时,即达到系统确认的多人连麦条件时,获取连麦会话窗口中连麦用户的连续的帧图像,进行帧差运算,根据帧差运算的结果值对连麦会话的数据流进行控制。此处的连麦会话的数据流可以是当前用户对应的数据流,也可以其以外的任一连麦用户的数据流。因此,上述多人连麦的数据流处理方法可根据连麦用户的人数,控制连麦用户的数据流,从而能够解决多人连麦过程流量消耗与音视频卡顿等数据流的问题。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明一个实施例的直播中连麦原理的连接示意图;
图2为本发明一个实施例的直播中多人连麦的实现场景示意图;
图3为本发明一个实施例的直播中多人连麦时客户端显示界面示意图;
图4为本发明一个实施例的一种多人连麦的数据流处理方法的流程示意图;
图5为本发明另一个实施例的一种多人连麦的数据流处理方法的流程示意图;
图6为本发明再一个实施例的一种多人连麦的数据流处理方法的流程示意图;
图7为本发明一个实施例的一种多人连麦的数据流处理方法的总体流程示意图;
图8为本发明一个实施例的采用帧差法对当前用户推流的画面进行检测的流程示意图;
图9为本发明一个实施例的将帧图像划分为上中下三部分的界面示意图;
图10为本发明一个实施例的判断帧图像的上中下三部分是否变动的方法流程示意图;
图11为本发明一个实施例的一种多人连麦的数据流处理装置的结构示意图;
图12为本发明一个实施例的终端设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式,这里使用的“第一”、“第二”仅用于区别同一技术特征,并不对该技术特征的顺序和数量等加以限定。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本发明提供一种多人连麦的数据流处理方法。以下先对多人连麦的应用环境进行先导性说明:
在直播领域,简单的单个主播直播已经不能满足观众的需求。随着直播技术的发展,直播软件为多个主播之间提供了连麦技术。多人连麦的实现场景如图2所示。连麦用户包括第一连麦用户101、第二连麦用户103以及第三连麦用户105等。连麦用户对应终端安装有连麦客户端。连麦用户采用的终端可以是移动智能手机、PAD以及笔记本电脑等。每个连麦客户端采集连麦用户的音频以及视频等数据流,并将该数据流上传到直播云平台服务器200。同时,观众端300可从直播云平台服务器200拉流以观看到连麦端中每个连麦用户的音频及视频。图2中观众端300只是做示例说明,观众端300的用户数量不限,并且观众端300用户对应的终端形式也不做限制,可以是移动智能手机、PAD、笔记本电脑以及台式电脑等。
本发明提供的多人连麦的数据流处理方法适用于连麦用户的用户客户端。需要说明的是,连麦用户的客户端,除了向直播云平台服务器200上传本客户端中当前连麦用户的音频和视频等数据流之外,也即是除了向直播云平台服务器200进行推流之外,还用于向直播云平台服务器200进行拉流,以拉取其他连麦用户的音频和视频等数据流。连麦用户的客户端以及观众的客户端,其展示的多个连麦用户直播界面如图3所示。图3示例性给出9人连麦的直播界面图。如图3所示,直播界面窗口包括主显示区域和副显示区域。一般地,主显示区域展示首麦主播,副显示区域展示多个其他连麦用户。首麦主播邀请或接受其他用户的连麦邀请,以构成多人连麦的直播。副显示区域包括多个连麦用户,每个连麦用户显示在直播界面的小窗口,显示位置包括一麦、二麦、三麦、四麦、五麦、六麦、七麦以及八麦。一麦、二麦、三麦、四麦、五麦、六麦、七麦以及八麦分别表示每个连麦用户在直播界面的显示位置。其中,副显示区域可以根据需要切换到主显示区域,每个连麦用户的音频流和视频流可独立操作,每个窗口(首麦的大窗口以及副显示区域的小窗口)都可独立操作。
以下基于上述应用场景对本申请所述的多人连麦的数据流处理方法进行详细说明:
本发明提供一种多人连麦的数据流处理方法,应用与直播中主播客户端,以控制连麦过程中音频和视频等数据流的流通,以解决多人连麦时可能出现的卡顿以及流量消耗问题。如图4所示,该多人连麦的数据流处理方法,包括以下步骤:
S100,确认当前用户接入连麦会话窗口。
在本实施例中,当前用户发起邀请其他连麦用户进入连麦会话窗口的请求时,或者当前用户响应其他连麦用户发起的进入连麦会话窗口的请求时,直播云平台服务器响应用户请求,将当前用户加入到所述连麦会话窗口。在直播过程中,当前用户的直播客户端实时检测当前用户的直播状态,确定当前用户是否接入连麦会话窗口。若是,则执行步骤S200。
S200,获取所述连麦会话窗口的连麦用户的人数。
在本实施例中,当前用户的直播客户端确认当前用户接入连麦会话窗口之后,读取连麦会话窗口中已经连麦用户的人数。具体地,当前用户的直播客户端实时读取连麦会话窗口的连麦用户人数,也可以是周期性读取连麦会话窗口的连麦人数,或者以监听的方式确定连麦会话窗口的连麦用户的人数,以解决连麦会话窗口中不定时加入连麦用户导致连麦会话窗口的连麦用户人数变动的问题。
S300,若所述连麦用户的人数达到预设人数,获取所述连麦用户的连续的帧图像,对所述帧图像进行帧差运算,得到帧差结果值。
在本实施例中,当前用户的直播客户端针对连麦会话窗口的连麦用户人数预先设置所述预设人数,当连麦会话窗口的连麦用户人数超过该预设人数时,执行步骤S300。其中,该预设人数可以是根据历史数据确定出当所述连麦人数达到该预设人数时,造成连麦画面的卡顿和大量流量的消耗。当所述连麦用户的人数达到该预设人数,所述直播客户端获取连麦会话窗口中的连麦用户的连续的帧图像,并对该连续的帧图像进行帧差运算,以得到帧差结果值。此处的连麦用户的连续的帧图像可以是所述当前用户的连续的帧图像,也可以是连麦会话窗口中其他连麦用户的连续的帧图像。其中,连续的帧图像指的是连续两张帧图像,也可以是连续两张以上的帧图像。帧差运算可以是传统的图像处理算法中的帧间差分运算。
在一实施例中,所述预设人数可通过以下方式确定:获取连麦会话窗口的连麦用户对应的数据流;确定该数据流出现卡顿现象时,获取连麦会话窗口的连麦用户的人数,将该人数作为所述预设人数。
在该实施例中,当前用户的直播客户端可以是实时通过上述确定所述预设人数的方式,实时调整预置的所述预设人数。也可以是,根据连麦会话窗口历史数据,从该历史数据中通过上述确定所述预设人数的方式,确定出固定的所述预设人数。
在一实施例中,步骤S300,包括:获取所述连麦用户的连续的帧图像,将该帧图像进行转灰度图处理,得到灰度帧图像;对所述灰度帧图像进行帧差运算,得到所述帧差结果值。
在该实施例中,由于当前用户使用的终端的性能的限制,如移动智能手机由于其硬件设备的问题,相比服务器以及大型终端,其性能相对较差,对于数据处理负载容易过重。因此,所述当前直播客户端将获取到的帧图像先进行转灰度图处理,再对灰度帧图像进行帧差运算,以得到所述帧差结果值,从而减少帧差运算过程处理器的计算量,提高处理器的处理效率。
S400,根据所述帧差结果值控制连麦会话的数据流。
在本实施例中,所述直播客户端获取到连麦用户连续帧图像的帧差结果值之后,根据该帧差结果值控制连麦会话的数据流。具体地,若获取的连麦用户的连续帧图像为所述当前用户的连续帧图像,则所述直播客户端根据帧差结果值控制所述当前用户的数据流。若获取的连麦用户的连续帧图像为所述当前用户以外的任一连麦用户的连续帧图像,则所述直播客户端根据帧差结果值控制该任一连麦用户的数据流。其中,数据流包括音频流和视频流。
此处,所述控制连麦会话的数据流可以是,控制所述直播客户端推送或者拉取连麦会话中的连麦用户对应的音频流和视频流。若获取的连麦用户的连续帧图像为所述当前用户的连续帧图像,则所述直播客户端根据帧差结果值向直播云平台服务器推送所述当前用户的音频流和/或视频流。若获取的连麦用户的连续帧图像为所述当前用户以外的任一连麦用户的连续帧图像,则所述直播客户端根据帧差结果值向直播云平台服务器拉取该任一连麦用户的音频流和/或视频流。
上述多人连麦的数据流处理方法,当用户进入连麦会话窗口时,获取并判断连麦会话窗口的连麦用户的人数。当连麦用户的人数达到预设人数时,即达到系统确认的多人连麦条件时,获取连麦会话窗口中连麦用户的连续的帧图像,进行帧差运算,根据帧差运算的结果值对连麦会话的数据流进行控制。此处的连麦会话的数据流可以是当前用户对应的数据流,也可以其以外的任一连麦用户的数据流。因此,上述多人连麦的数据流处理方法可根据连麦用户的人数,控制连麦用户的数据流,从而能够解决多人连麦过程流量消耗与音视频卡顿等数据流的问题。
在一实施例中,步骤S200之后,还包括:若所述连麦用户的人数未达到所述预设人数,通过动态码率的方式调整所述连麦会话的数据流。
在该实施例中,若所述当前直播客户端确定出连麦会话窗口中的连麦用户人数未达到设置的预设人数,则通过设定动态码率调整所述当前直播客户端的推流以及拉流时的码率,以保证连麦过程流量的消耗以及视频的流畅性。
在一实施例中,如图5所示,步骤S300中“获取所述连麦用户的连续的帧图像”包括:获取所述当前用户的连续的帧图像。也即是,步骤S300,包括:
S310:若所述连麦用户的人数达到预设人数,获取所述当前用户的连续的帧图像,对所述当前用户的连续的帧图像进行帧差运算,得到帧差结果值。
此时,所述数据流包括视频流和音频流。步骤S400,包括:
S410,当所述帧差结果值大于第一阈值时,推送所述当前用户的视频流和音频流。
S420,当所述帧差结果值小于或等于第一阈值时,推送所述当前用户的音频流。
在该实施例中,所述当前直播客户端获取的目标帧图像为当前用户的连续帧图像,并对当前连续帧图像进行帧差运算,以得到帧差结果值。当该帧差结果值大于第一阈值时,判断当前用户的显示画面变动较大,此时需向直播云平台服务器推送当前用户的视频流和音频流。当该帧差结果值小于第一阈值时,判断当前用户的显示画面变动较小,此时可向直播云平台服务器推送当前用户的音频流,因此可降低多人连麦过程的网络流量,也可避免网络过程的卡顿现象。此处,第一阈值为所述当前直播客户端预先设置,当帧差结果值大于该第一阈值时,可判断当前用户处于变动状态。当帧差结果值小于或等于该第一阈值时,可判断当前用户变动较少或处于静止状态,此时可忽略当前用户的变动,默认为当前用户处于静止状态。
在一实施例中,如图6所示,步骤S300中“获取所述连麦用户的连续的帧图像”包括:获取所述连麦会话窗口中所述当前用户以外的任一连麦用户的连续的帧图像。也即是,步骤S300,包括:
S320:若所述连麦用户的人数达到预设人数,获取所述连麦会话窗口中所述当前用户以外的任一连麦用户的连续的帧图像,对当前用户以外的任一连麦用户的连续的帧图像进行帧差运算,得到帧差结果值。
此时,所述数据流包括视频流和音频流。步骤S400,包括:
S430,获取所述当前用户以外的任一连麦用户推流时的标志位;所述推流时的标志位为连麦用户推送所述数据流时,标志连麦用户在所述连麦会话窗口的显示位置的标号。
S440,当所述帧差结果值大于第二阈值时,根据所述标志位拉取所述当前用户以外的任一连麦用户的视频流和音频流。
S450,当所述帧差结果值小于或等于第二阈值时,根据所述标志位拉取所述当前用户以外的任一连麦用户的音频流。
在该实施例中,当前用户以外的任一连麦用户在向所述直播云平台服务器进行推流后,该服务器针对该任一连麦用户在所述连麦会话窗口中的显示位置设置有展示位置,因此该任一连麦用户的推流上设置有所述标志位,用于标志该任一连麦用户在连麦会话窗口中的显示位置。当任一连麦用户的连续的帧图像的帧差结果值大于第二阈值时,所述当前直播客户端根据任一连麦用户推流时的标志位向所述直播云平台服务器拉取该任一连麦用户的视频流和音频流。当任一连麦用户的连续的帧图像的帧差结果值小于第二阈值时,所述当前直播客户端根据任一连麦用户推流时的标志位向所述直播云平台服务器拉取该任一连麦用户的音频流。因此可降低多人连麦过程的网络流量,也可避免网络过程的卡顿现象。此处,第二阈值为所述当前直播客户端预先设置,当帧差结果值大于该第二阈值时,可判断该任一连麦用户处于变动状态。当帧差结果值小于或等于该第二阈值时,可判断该任一连麦用户变动较少或处于静止状态,此时可忽略该任一连麦用户的变动,默认为该任一连麦用户处于静止状态。
在一实施例中,步骤S300及步骤S400,包括:将所述帧图像划分为上部分图像、中部分图像以及下部分图像;分别对所述上部分图像、中部分图像以及下部分图像进行帧差运算,得到每个部分的帧差结果值;根据所述每个部分的帧差结果值控制连麦会话的数据流。
在该实施例中,所述当前直播客户端将获得的每张帧图像划分为上部分图像、中部分图像以及下部分图像。进而,分别将连续的帧图像中的上部分图像进行帧差处理,中部分图像进行帧差处理,下部分图像进行帧差处理,得到每部分的帧差处理结果值,并根据每部分的帧差处理结果值控制连麦会话的数据流。
在该实施例的一个实施方式中,所述获取所述连麦用户的连续的帧图像,包括:获取所述连麦用户的连续的三个帧图像,得到根据时间前后顺序排列的第一帧图像、第二帧图像以及第三帧图像。所述分别对所述上部分图像、中部分图像以及下部分图像进行帧差运算,得到每个部分的帧差结果值,根据所述每个部分的帧差结果值控制连麦会话的数据流,包括:利用差分法分别对所述第二帧图像与所述第一帧图像的所述上部分图像、中部分图像以及下部分图像进行帧差运算,依序得到第一差值,第二差值以及第三差值;利用差分法分别对所述第三帧图像与所述第二帧图像的所述上部分图像、中部分图像以及下部分图像进行帧差运算,依序得到第四差值,第五差值以及第六差值;对所述第一差值和所述第四差值进行与运算,得到第一运算值;对所述第二差值和所述第五差值进行与运算,得到第二运算值;对所述第三差值和所述第六差值进行与运算,得到第三运算值;根据所述第一运算值、所述第二运算值以及所述第三运算值,控制连麦会话的数据流。
在该实施方式中,所述当前直播客户端获取连麦用户的连续三个帧图像,利用差分法分别对连续的两个帧图像的上部分图像、中部分图像以及下部分图像进行帧差运算,得到第一差值,第二差值、第三差值、第四差值、第五差值以及第六差值。进一步地,再分别将帧图像的上部分图像、中部分图像以及下部分图像对应的差值进行与运算,得到第一运算值、第二运算值以及第三运算值,从而根据第一运算值、第二运算值以及第三运算值控制连麦会话的数据流。
进一步地,在该实施方式的一个实施例中,所述数据流包括视频流和音频流;所述根据所述第一运算值、所述第二运算值以及所述第三运算值,控制连麦会话的数据流,包括:分别判断所述第一运算值、所述第二运算值和所述第三运算值是否大于第三阈值;若所述第一运算值、所述第二运算值和所述第三运算值中,任一运算值大于所述第三阈值,则推送所述当前用户的视频流和音频流,或拉取所述当前用户以外的任一连麦用户的视频流和音频流;若所述第一运算值、所述第二运算值和所述第三运算值中,三个运算值均小于或等于所述第三阈值,则推送所述当前用户的音频流,或拉取所述当前用户以外的任一连麦用户的音频流。
在该实施例中,所述当前直播客户端针对连续帧图像中每个部分的与运算之后的结果值设置第三阈值。当帧图像的上部分图像、中部分图像以及下部分图像对应的与运算的结果值中任一结果值大于该第三阈值时,确定连麦用户处于变动状态,此时所述当前直播客户端推送所述当前用户的视频流和音频流,或拉取所述当前用户以外的任一连麦用户的视频流和音频流。反之,所述当前直播客户端则推送所述当前用户的音频流,或拉取所述当前用户以外的任一连麦用户的音频流。具体地,所述当前直播客户端根据步骤S300中获取的连续帧图像对应的连麦用户确定执行控制连麦用户的数据流的对象。
为了进一步说明上述实施例所述的多人连麦的数据流处理方法,以下给出一具体实施应用场景,以详述本申请所述的多人连麦的数据流处理方法:
在一实施应用场景中,实施所述多人连麦的数据流处理方法的总体流程图如图7所示。当前用户打开直播软件,初始化直播APP(Application,计算机应用程序),即初始化直播客户端。直播客户端自动打开摄像头,当前用户可预览当前直播窗口的视频图像。当当前用户进入多人互动房间,即接入连麦会话窗口时,判断连麦会话窗口的用户人数,以使用不同的码率控制连麦的数据流。在本应用场景中,多人连麦人数设定上限为9人连麦。接下来的流程,将采用上述实施例所述的多人连麦的数据流处理方法,具体如下:
1.根据人数判定推流拉流的码率:
若连麦会话窗口的用户人数低于5个时,直播客户端可根据设定的动态码率来调整推流以及拉流的码率,保证连麦过程流量的消耗以及连麦视频的流畅性。
若连麦会话窗口的用户人数大于4个时:假设根据设定的降低的码率为m,人数为n时,则总的每秒的流量数是s=m*n(bps),若码率为500bps,人数是9,则总流量数是4500bps,对于当前用户终端,如手机,流量消耗很大。因此,由于在多人连麦(此处指连麦人数大于4个)中,假设在副显示窗口的数据流由于显示的画面比较小,其码率不太高,在保证音频流的流畅的同时,很多副显示窗口的画面有时几乎不发生变化。因此,本发明采用帧差法对当前用户推流的画面进行检测。检测的流程如图8所示:
首先,转灰度图:由于当前用户的终端,如手机,性能有限,因此当前用户的直播客户端对采集到的RGB格式的图像转成灰度图,以减少图像处理的计算量。具体转灰度图的方式可以是,Gray=R*0.299+G*0.587+B*0.114。其中,Gray表示灰度图的像素;R、G、B分别表示红色亮度值、绿色亮度值以及蓝色亮度值。
其次,对灰度图的帧图像进行分段,并提取3段图像:由于在当前用户的终端,如手机,多人视频连麦中,性能比较容易达到瓶颈,因此直播客户端在推流时进行整个图像的帧差性能与效率也可优化。由于在小屏幕中,提取上中下3段部分的图像已经可以涵盖整个图像的信息。因此,本实施方式提取图像的上中下三部分的图像,提取上中下3部分图像的示意图如图9所示。
进一步地,对上述上中下三部分图像进行帧差运算:帧差法的核心思想为,在背景相对固定的视频序列中,相邻帧之间的背景位置是相对固定的,而运动的前景目标会导致相邻帧相对位置发生变化。本发明采用将上中下三部分图像的灰度值进行逐一的相减,如果反差很大,则说明图像的变化比较大,直播客户端要进行推流和拉流,如果帧差的反差在指定的阈值中,则不需要推视频流,只保持音频流即可。这样可以达到节省流量的目的,也为在网络延时中减少了视频帧的卡顿问题。具体地,假设在采集的视频序列中连续三帧的上中下三部分的图像为Iti-1(i,j),Iti(i,j),Iti+1(i,j);Ici-1(i,j),Ici(i,j),Ici+1(i,j);Ibi-1(i,j),Ibi(i,j),Ibi+1(i,j);运用差分法得到的两两相减图像为ΔIti,ΔIci,ΔIbi,ΔIti+1,ΔIci+1,ΔIbi+1,然后对结果求与运算:
进一步地,通过与上一次流程的帧差做对比,若上中下三部分都在指定的阈值内,则认为目标没有动。如果上中下三部分其中一部分大于指定的阈值,则判断目标动了,需要更新画面,执行推流拉流操作。具体流程参见图10所示。
上述应用场景中给出了具体的直播客户端推流的实施例,依次可类推直播客户端的拉流的实施方式。
因此,本发明通过在多人连麦中采用帧差法,假设背景与前景不动的情况下,可以有效的节省网络流量,以及解决网络流量消耗而导致的卡顿问题。
本发明还提供一种多人连麦的数据流处理装置。如图11所示,该多人连麦的数据流处理装置包括确认模块10、获取模块20、运算模块30以及控制模块40。
确认模块10用于确认当前用户接入连麦会话窗口。在本实施例中,当前用户发起邀请其他连麦用户进入连麦会话窗口的请求时,或者当前用户响应其他连麦用户发起的进入连麦会话窗口的请求时,直播云平台服务器响应用户请求,将当前用户加入到所述连麦会话窗口。在直播过程中,当前用户的直播客户端实时检测当前用户的直播状态,确定当前用户是否接入连麦会话窗口。若是,则执行获取模块20中的相关步骤。
获取模块20用于获取所述连麦会话窗口的连麦用户的人数。在本实施例中,当前用户的直播客户端确认当前用户接入连麦会话窗口之后,读取连麦会话窗口中已经连麦用户的人数。具体地,当前用户的直播客户端实时读取连麦会话窗口的连麦用户人数,也可以是周期性读取连麦会话窗口的连麦人数,或者以监听的方式确定连麦会话窗口的连麦用户的人数,以解决连麦会话窗口中不定时加入连麦用户导致连麦会话窗口的连麦用户人数变动的问题。
运算模块30用于若所述连麦用户的人数达到预设人数,获取所述连麦用户的连续的帧图像,对所述帧图像进行帧差运算,得到帧差结果值。在本实施例中,当前用户的直播客户端针对连麦会话窗口的连麦用户人数预先设置所述预设人数,当连麦会话窗口的连麦用户人数超过该预设人数时,执行运算模块30中的相关步骤。其中,该预设人数可以是根据历史数据确定出当所述连麦人数达到该预设人数时,造成连麦画面的卡顿和大量流量的消耗。当所述连麦用户的人数达到该预设人数,所述直播客户端获取连麦会话窗口中的连麦用户的连续的帧图像,并对该连续的帧图像进行帧差运算,以得到帧差结果值。此处的连麦用户的连续的帧图像可以是所述当前用户的连续的帧图像,也可以是连麦会话窗口中其他连麦用户的连续的帧图像。其中,连续的帧图像指的是连续两张帧图像,也可以是连续两张以上的帧图像。帧差运算可以是传统的图像处理算法中的帧间差分运算。
在一实施例中,所述预设人数可通过以下方式确定:获取连麦会话窗口的连麦用户对应的数据流;确定该数据流出现卡顿现象时,获取连麦会话窗口的连麦用户的人数,将该人数作为所述预设人数。
在该实施例中,当前用户的直播客户端可以是实时通过上述确定所述预设人数的方式,实时调整预置的所述预设人数。也可以是,根据连麦会话窗口历史数据,从该历史数据中通过上述确定所述预设人数的方式,确定出固定的所述预设人数。
控制模块40用于根据所述帧差结果值控制连麦会话的数据流。在本实施例中,所述直播客户端获取到连麦用户连续帧图像的帧差结果值之后,根据该帧差结果值控制连麦会话的数据流。具体地,若获取的连麦用户的连续帧图像为所述当前用户的连续帧图像,则所述直播客户端根据帧差结果值控制所述当前用户的数据流。若获取的连麦用户的连续帧图像为所述当前用户以外的任一连麦用户的连续帧图像,则所述直播客户端根据帧差结果值控制该任一连麦用户的数据流。其中,数据流包括音频流和视频流。
此处,所述控制连麦会话的数据流可以是,控制所述直播客户端推送或者拉取连麦会话中的连麦用户对应的音频流和视频流。若获取的连麦用户的连续帧图像为所述当前用户的连续帧图像,则所述直播客户端根据帧差结果值向直播云平台服务器推送所述当前用户的音频流和/或视频流。若获取的连麦用户的连续帧图像为所述当前用户以外的任一连麦用户的连续帧图像,则所述直播客户端根据帧差结果值向直播云平台服务器拉取该任一连麦用户的音频流和/或视频流。
在其他实施例中,本发明提供的多人连麦的数据流处理装置中的各个模块还用于执行本发明所述的多人连麦的数据流处理方法中,对应各个步骤执行的操作,在此不再做详细的说明。
本发明还提供一种存储介质。该存储介质上存储有计算机程序;所述计算机程序被处理器执行时,实现上述任一实施例所述的多人连麦的数据流处理方法。该存储介质可以是存储器。例如,内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储介质包括但不限于这些类型的存储器。本发明所公开的存储器只作为例子而非作为限定。
本发明还提供一种终端设备。该终端设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例所述的多人连麦的数据流处理方法。
如图12所示是与本发明实施例提供的终端设备的部分结构的框图,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端设备可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以终端设备为手机为例:
参考图12,手机包括:基带处理模块1210、存储器1220、输入单元1230、显示单元1240、传感器1250、音频电路1260、无线保真(wireless fidelity,WiFi)模块1270、处理器1280、以及电源1290等部件。本领域技术人员可以理解,图12中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
基带处理模块1210可用于合成即将发射的基带信号,或对接收到的基带信号进行解码。具体地说,就是发射时把音频信号编译成用来发射的基带码;接收时,把收到的基带码解译为音频信号。同时,也负责地址信息(手机号、网站地址)、文字信息(短讯文字、网站文字)、图片信息(彩信)的编译。
存储器1220可用于存储软件程序以及模块,处理器1280通过运行存储在存储器1220的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1220可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1230可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1230可包括触控面板以及其他输入设备。触控面板,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1280,并能接收处理器1280发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板。除了触控面板,输入单元还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1240可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1240可包括显示面板,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板。进一步的,触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器1280以确定触摸事件的类型,随后处理器1280根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图12中,触控面板与显示面板是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板与显示面板集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1250,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在手机移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1260、扬声器,传声器可提供用户与手机之间的音频接口。音频电路1260可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路1260接收后转换为音频数据,再将音频数据输出处理器1280处理后,经RF电路1210以发送给比如另一手机,或者将音频数据输出至存储器1220以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1270可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图12示出了WiFi模块1270,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1280是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1220内的软件程序和/或模块,以及调用存储在存储器1220内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1280可包括一个或多个处理单元;优选的,处理器1280可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1280中。
手机还包括给各个部件供电的电源1290(比如电池),优选的,电源可以通过电源管理系统与处理器1280逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括存储器、磁盘或光盘等。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
应该理解的是,在本发明各实施例中的各功能单元可集成在一个处理模块中,也可以各个单元单独物理存在,也可以两个或两个以上单元集成于一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种多人连麦的数据流处理方法,其特征在于,所述方法包括:
确认当前用户接入连麦会话窗口;
获取所述连麦会话窗口的连麦用户的人数;
若所述连麦用户的人数达到预设人数,获取所述连麦用户的连续的帧图像,对所述帧图像进行帧差运算,得到帧差结果值;
根据所述帧差结果值控制连麦会话的数据流,包括:
若获取的连麦用户的连续帧图像为所述当前用户的连续帧图像,则根据帧差结果值控制所述当前用户的数据流,其中,当所述帧差结果值大于第一阈值时,推送所述当前用户的视频流和音频流,当所述帧差结果值小于或等于第一阈值时,推送所述当前用户的音频流;
若获取的连麦用户的连续帧图像为所述当前用户以外的任一连麦用户的连续帧图像,则根据帧差结果值控制该任一连麦用户的数据流,其中,当所述帧差结果值大于第二阈值时,根据标志位拉取所述当前用户以外的任一连麦用户的视频流和音频流,当所述帧差结果值小于或等于第二阈值时,根据所述标志位拉取所述当前用户以外的任一连麦用户的音频流。
2.根据权利要求1所述的方法,其特征在于,所述获取所述连麦会话窗口的连麦用户的人数之后,还包括:
若所述连麦用户的人数未达到所述预设人数,通过动态码率的方式调整所述连麦会话的数据流。
3.根据权利要求1所述的方法,其特征在于,所述根据所述帧差结果值控制连麦会话的数据流,还包括:
获取所述当前用户以外的任一连麦用户推流时的标志位;所述推流时的标志位为连麦用户推送所述数据流时,标志连麦用户在所述连麦会话窗口的显示位置的标号。
4.根据权利要求1所述的方法,其特征在于,所述获取所述连麦用户的连续的帧图像,对所述帧图像进行帧差运算,得到帧差结果值,根据所述帧差结果值控制连麦会话的数据流,包括:
将所述帧图像划分为上部分图像、中部分图像以及下部分图像;
分别对所述上部分图像、中部分图像以及下部分图像进行帧差运算,得到每个部分的帧差结果值;
根据所述每个部分的帧差结果值控制连麦会话的数据流。
5.根据权利要求4所述的方法,其特征在于,所述获取所述连麦用户的连续的帧图像,包括:获取所述连麦用户的连续的三个帧图像,得到根据时间前后顺序排列的第一帧图像、第二帧图像以及第三帧图像;
所述分别对所述上部分图像、中部分图像以及下部分图像进行帧差运算,得到每个部分的帧差结果值,根据所述每个部分的帧差结果值控制连麦会话的数据流,包括:
利用差分法分别对所述第二帧图像与所述第一帧图像的所述上部分图像、中部分图像以及下部分图像进行帧差运算,依序得到第一差值,第二差值以及第三差值;
利用差分法,分别对所述第三帧图像与所述第二帧图像的所述上部分图像、中部分图像以及下部分图像进行帧差运算,依序得到第四差值,第五差值以及第六差值;
对所述第一差值和所述第四差值进行与运算,得到第一运算值;对所述第二差值和所述第五差值进行与运算,得到第二运算值;对所述第三差值和所述第六差值进行与运算,得到第三运算值;
根据所述第一运算值、所述第二运算值以及所述第三运算值,控制连麦会话的数据流。
6.根据权利要求5所述的方法,其特征在于,所述数据流包括视频流和音频流;所述根据所述第一运算值、所述第二运算值以及所述第三运算值,控制连麦会话的数据流,包括:
分别判断所述第一运算值、所述第二运算值和所述第三运算值是否大于第三阈值;
若所述第一运算值、所述第二运算值和所述第三运算值中,任一运算值大于所述第三阈值,则推送所述当前用户的视频流和音频流,或拉取所述当前用户以外的任一连麦用户的视频流和音频流;
若所述第一运算值、所述第二运算值和所述第三运算值中,三个运算值均小于或等于所述第三阈值,则推送所述当前用户的音频流,或拉取所述当前用户以外的任一连麦用户的音频流。
7.根据权利要求1所述的方法,其特征在于,所述获取所述连麦用户的连续的帧图像,对所述帧图像进行帧差运算,得到帧差结果值,包括:
获取所述连麦用户的连续的帧图像,将该帧图像进行转灰度图处理,得到灰度帧图像;
对所述灰度帧图像进行帧差运算,得到所述帧差结果值。
8.一种多人连麦的数据流处理装置,其特征在于,所述装置包括;
确认模块,用于确认当前用户接入连麦会话窗口;
获取模块,用于获取所述连麦会话窗口的连麦用户的人数;
运算模块,用于若所述连麦用户的人数达到预设人数,获取所述连麦用户的连续的帧图像,对所述帧图像进行帧差运算,得到帧差结果值;
控制模块,用于根据所述帧差结果值控制连麦会话的数据流,包括:
若获取的连麦用户的连续帧图像为所述当前用户的连续帧图像,则根据帧差结果值控制所述当前用户的数据流,其中,当所述帧差结果值大于第一阈值时,推送所述当前用户的视频流和音频流,当所述帧差结果值小于或等于第一阈值时,推送所述当前用户的音频流;
若获取的连麦用户的连续帧图像为所述当前用户以外的任一连麦用户的连续帧图像,则根据帧差结果值控制该任一连麦用户的数据流,其中,当所述帧差结果值大于第二阈值时,根据标志位拉取所述当前用户以外的任一连麦用户的视频流和音频流,当所述帧差结果值小于或等于第二阈值时,根据所述标志位拉取所述当前用户以外的任一连麦用户的音频流。
9.一种存储介质,其特征在于,其上存储有计算机程序;所述计算机程序适于由处理器加载并执行上述权利要求1至7中任一项所述的多人连麦的数据流处理方法。
10.一种终端设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的多人连麦的数据流处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811174121.2A CN109495762B (zh) | 2018-10-09 | 2018-10-09 | 数据流处理方法、装置及存储介质、终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811174121.2A CN109495762B (zh) | 2018-10-09 | 2018-10-09 | 数据流处理方法、装置及存储介质、终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109495762A CN109495762A (zh) | 2019-03-19 |
CN109495762B true CN109495762B (zh) | 2021-05-11 |
Family
ID=65690210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811174121.2A Active CN109495762B (zh) | 2018-10-09 | 2018-10-09 | 数据流处理方法、装置及存储介质、终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109495762B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112153404B (zh) * | 2020-09-23 | 2022-09-09 | 北京达佳互联信息技术有限公司 | 码率调整方法、检测方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000295623A (ja) * | 1999-04-06 | 2000-10-20 | Sharp Corp | 画像伝送装置 |
CN102098481A (zh) * | 2009-12-10 | 2011-06-15 | 乐金电子(中国)研究开发中心有限公司 | 一种可视电话的语音优先方法及系统 |
CN106789555A (zh) * | 2016-11-25 | 2017-05-31 | 努比亚技术有限公司 | 视频数据传输方法及装置 |
CN106791899A (zh) * | 2016-12-13 | 2017-05-31 | 飞狐信息技术(天津)有限公司 | 直播中减少观众端画面卡顿的方法及装置以及客户端 |
CN107396198A (zh) * | 2017-07-24 | 2017-11-24 | 维沃移动通信有限公司 | 一种视频通话方法及移动终端 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7130472B2 (en) * | 2002-01-21 | 2006-10-31 | Canon Kabushiki Kaisha | Image distribution apparatus, communication terminal apparatus, and control method thereof |
-
2018
- 2018-10-09 CN CN201811174121.2A patent/CN109495762B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000295623A (ja) * | 1999-04-06 | 2000-10-20 | Sharp Corp | 画像伝送装置 |
CN102098481A (zh) * | 2009-12-10 | 2011-06-15 | 乐金电子(中国)研究开发中心有限公司 | 一种可视电话的语音优先方法及系统 |
CN106789555A (zh) * | 2016-11-25 | 2017-05-31 | 努比亚技术有限公司 | 视频数据传输方法及装置 |
CN106791899A (zh) * | 2016-12-13 | 2017-05-31 | 飞狐信息技术(天津)有限公司 | 直播中减少观众端画面卡顿的方法及装置以及客户端 |
CN107396198A (zh) * | 2017-07-24 | 2017-11-24 | 维沃移动通信有限公司 | 一种视频通话方法及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN109495762A (zh) | 2019-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109919087B (zh) | 一种视频分类的方法、模型训练的方法及装置 | |
WO2019137248A1 (zh) | 视频插帧方法、存储介质以及终端 | |
WO2021036542A1 (zh) | 录屏方法及移动终端 | |
US10574933B2 (en) | System and method for converting live action alpha-numeric text to re-rendered and embedded pixel information for video overlay | |
CN112203100B (zh) | 降低上下行带宽需求的传输方法及系统 | |
US20230013753A1 (en) | Image shooting method and electronic device | |
WO2021254429A1 (zh) | 视频录制方法、装置、电子设备及存储介质 | |
CN105190511A (zh) | 图像处理方法、图像处理装置和图像处理程序 | |
US20070075969A1 (en) | Method for controlling display of image according to movement of mobile terminal | |
CN107948562B (zh) | 视频录制方法和视频录制终端 | |
CN109697008B (zh) | 一种内容分享方法、终端及计算机可读存储介质 | |
US20120169828A1 (en) | Video telephony method and apparatus of mobile terminal | |
CN111597370B (zh) | 一种拍摄方法及电子设备 | |
CN112330692B (zh) | 一种抠图方法、装置、设备和存储介质 | |
CN112019929A (zh) | 一种音量调节方法和装置 | |
EP4287611A1 (en) | Filming control method and apparatus, and electronic device | |
US20150256789A1 (en) | Method, apparatus and terminal for playing multimedia content | |
CN109495762B (zh) | 数据流处理方法、装置及存储介质、终端设备 | |
CN109474833B (zh) | 一种网络直播的方法、相关装置和系统 | |
US20230368338A1 (en) | Image display method and apparatus, and electronic device | |
CN111432154B (zh) | 视频播放方法、视频处理方法及电子设备 | |
CN113596231A (zh) | 一种投屏显示控制方法、设备及计算机可读存储介质 | |
CN109544441B (zh) | 图像处理方法及装置、直播中的肤色处理方法及装置 | |
CN109819188B (zh) | 视频的处理方法和终端设备 | |
CN108305218B (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 |