CN115914761A - 多人连麦方法及装置 - Google Patents
多人连麦方法及装置 Download PDFInfo
- Publication number
- CN115914761A CN115914761A CN202211620184.2A CN202211620184A CN115914761A CN 115914761 A CN115914761 A CN 115914761A CN 202211620184 A CN202211620184 A CN 202211620184A CN 115914761 A CN115914761 A CN 115914761A
- Authority
- CN
- China
- Prior art keywords
- audio
- sub
- track
- user
- stream
- 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
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本申请提供多人连麦方法及装置,其中多人连麦方法包括:获取至少两个连麦用户对应的音频流;为每个音频流创建对应的子音轨,通过子音轨传输音频流对应的低码率音频流,并存储子音轨和连麦用户的对应关系;基于各个连麦用户对应的音频流以及各个子音轨的低码率音频流,生成混合流;向用户端推送混合流,其中,混合流中子音轨的低码率音频流用于指示用户端基于对应关系,确定并标识各个连麦用户当前时间的音频属性。如此,通过为各个连麦用户创建对应的子音轨,传输各个连麦用户的音频流对应的低码率音频流,实现了向用户端传递各个连麦用户的音频流的同时,向用户端传递对应的音频属性,避免了音频属性存在时延,保证了连麦用户的使用体验。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种多人连麦方法。本申请同时涉及一种多人连麦装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
随着计算机和互联网技术的快速发展,线上业务随之急速发展,越来越多的用户可以在线上进行交互,满足日常生活、学习和工作需求等,如为了满足人们在观看直播时的互动需求,主播可以与其他主播或者观众进行连麦互动,以提高直播效果;又如,多个用户可以连麦参与线上会议,便于随时随地展开会议,降低会议成本等。
现有技术中,多人连麦场景下,用户端播放的是多人音视频混合后的混流,此时可以将音频的音频属性保存在服务端,用户端接收到多个连麦用户的混流时,与服务端建立信令通道,获取对应的音频属性,从而渲染出不同的效果。
然而,上述方法中,音频属性是通过与服务端建立信令通道,轮询请求或服务端推送来获取,而音频流的分发通常是经过内容分发网络CDN,用户端获取到的音频属性与音频流时间上无法做到完全一致,音频属性存在时延,从而导致音频属性和音频流无法完全同步,影响连麦用户的使用体验。
发明内容
有鉴于此,本申请实施例提供了一种多人连麦方法。本申请同时涉及一种多人连麦装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的音频属性存在时延,导致音频属性和音频流无法完全同步的技术问题。
根据本申请实施例的第一方面,提供了一种多人连麦方法,应用于内容分发网络,包括:
获取至少两个连麦用户对应的音频流;
为每个音频流创建对应的子音轨,通过子音轨传输音频流对应的低码率音频流,并存储子音轨和连麦用户的对应关系;
基于各个连麦用户对应的音频流以及各个子音轨的低码率音频流,生成混合流;
向用户端推送混合流,其中,混合流中子音轨的低码率音频流用于指示用户端基于对应关系,确定并标识各个连麦用户当前时间的音频属性。
根据本申请实施例的第二方面,提供了一种多人连麦方法,应用于用户端,包括:
接收内容分发网络推送的混合流,从混合流中获取各个子音轨的低码率音频流;
基于各个子音轨的低码率音频流,确定各个子音轨当前时间的音频属性;
获取子音轨和连麦用户的对应关系,基于各个子音轨当前时间的音频属性,确定各个连麦用户当前时间的音频属性,并在当前时间的连麦界面中标识各个连麦用户对应的音频属性。
根据本申请实施例的第三方面,提供了一种内容分发网络,包括:
第一获取模块,被配置为获取至少两个连麦用户对应的音频流;
创建模块,被配置为为每个音频流创建对应的子音轨,通过子音轨传输音频流对应的低码率音频流,并存储子音轨和连麦用户的对应关系;
生成模块,被配置为基于各个连麦用户对应的音频流以及各个子音轨的低码率音频流,生成混合流;
推送模块,被配置为向用户端推送混合流,其中,混合流中子音轨的低码率音频流用于指示用户端基于对应关系,确定并标识各个连麦用户当前时间的音频属性。
根据本申请实施例的第四方面,提供了一种用户端,包括:
第二获取模块,被配置为接收内容分发网络推送的混合流,从混合流中获取各个子音轨的低码率音频流;
确定模块,被配置为基于各个子音轨的低码率音频流,确定各个子音轨当前时间的音频属性;
标识模块,被配置为获取子音轨和连麦用户的对应关系,基于各个子音轨当前时间的音频属性,确定各个连麦用户当前时间的音频属性,并在当前时间的连麦界面中标识各个连麦用户对应的音频属性。
根据本申请实施例的第五方面,提供了一种多人连麦系统,多人连麦系统包括内容分发网络和用户端;
内容分发网络,被配置为获取至少两个连麦用户对应的音频流;为每个音频流创建对应的子音轨,通过子音轨传输音频流对应的低码率音频流,并存储子音轨和连麦用户的对应关系;基于各个连麦用户对应的音频流以及各个子音轨的低码率音频流,生成混合流;向用户端推送混合流;
用户端,被配置为接收内容分发网络推送的混合流,从混合流中获取各个子音轨的低码率音频流;基于各个子音轨的低码率音频流,确定各个子音轨当前时间的音频属性;获取子音轨和连麦用户的对应关系,基于各个子音轨当前时间的音频属性,确定各个连麦用户当前时间的音频属性,并在当前时间的连麦界面中标识各个连麦用户对应的音频属性。
根据本申请实施例的第六方面,提供了一种计算设备,包括:
存储器和处理器;
存储器用于存储计算机可执行指令,处理器用于执行计算机可执行指令,以实现任意上述的多人连麦方法的操作步骤。
根据本申请实施例的第七方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现任意上述的多人连麦方法的步骤。
本申请实施例提供的多人连麦方法,内容分发网络可以获取至少两个连麦用户对应的音频流;为每个音频流创建对应的子音轨,通过子音轨传输音频流对应的低码率音频流,并存储子音轨和连麦用户的对应关系;基于各个连麦用户对应的音频流以及各个子音轨的低码率音频流,生成混合流;向用户端推送混合流,其中,混合流中子音轨的低码率音频流用于指示用户端基于对应关系,确定并标识各个连麦用户当前时间的音频属性。
这种情况下,内容分发网络针对每个音频流,可以生成对应的低码率音频流,并创建对应的子音轨,通过该子音轨传输该低码率音频流,然后基于各个连麦用户对应的音频流以及各个子音轨的低码率音频流,生成混合流,该混合流中除了包含需要播放的各个连麦用户对应的音频流,即实际音频内容之外,还包含了各个子音轨的低码率音频流,该低码率音频流用于确定音频属性,使得用户端接收到混合流后,直接解析混合流,即可同时获取到需要播放的音频流,以及各个子音轨的低码率音频流,从而基于各个子音轨的低码率音频流,计算确定出各个连麦用户当前时间的音频属性,并进行标识。如此,通过为各个连麦用户创建对应的子音轨,传输各个连麦用户的音频流对应的低码率音频流,实现了向用户端传递各个连麦用户的音频流的同时,向用户端传递对应的音频属性,避免了音频属性存在时延,用户端获取到的音频属性与音频流完全同步,保证了当前连麦界面中标识的当前发言的连麦用户,与当前实际发言的连麦用户同步,从而保证了连麦用户的使用体验。
附图说明
图1是本申请一实施例提供的一种双人连麦的处理过程示意图;
图2是本申请一实施例提供的一种多人连麦方法的流程图;
图3a是本申请一实施例提供的另一种多人连麦方法的流程图;
图3b是本申请一实施例提供的一种连麦界面的示意图;
图4是本申请一实施例提供的一种应用于直播中双人连麦场景的多人连麦方法的处理过程示意图;
图5是本申请一实施例提供的一种内容分发网络的结构示意图;
图6是本申请一实施例提供的一种用户端的结构示意图;
图7是本申请一实施例提供的一种多人连麦系统的结构示意图;
图8是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本申请一个或多个实施例涉及的名词术语进行解释。
主播:发起直播的用户,观众会从主播的直播间看到其直播的画面和声音。
连麦用户:与发起者进行连麦互动的用户,在会议场景下,各个参与连麦的参会者可以看到连麦画面,并听到参会者的发言;在直播场景下,连麦用户可以是指与主播进行连麦互动的用户,连麦时其他观众在直播间也能看到/听到该直播间的画面和声音,连麦用户可能是其他主播,也可能是直播间的普通观众,可能是一个人,也可能是多个人。
流:音视频流,通常同时包含视频画面和音频声音,也可能仅包含视频画面或仅包含音频声音。
直播流:分发到直播间,从而观众能实际看到的流;非连麦状态下,和主播流相同,即主播直播的画面/声音;连麦状态下,则是混流后的流,同时包含了主播和连麦用户的画面/声音。
混流:将主播和连麦用户的多路音视频流混合到一起变成一路音视频流,从而作为直播流分发至直播间,供观众观看。
DBFS:Decibels relative to full scale,数字音频系统中常用的一种音量表示方法,取值范围通常为-96~0dBFS,0代表最大音量。
音轨:就是在音序器软件中看到的一条一条的平行“轨道”,每条音轨分别定义了该条音轨的属性,如音轨的音色、音色库、通道数、输入/输出端口、音量等。
需要说明的是,多人连麦时,用户端听多人说话混流后的流,一般只能知道有人在说话,无法知道到底是谁在说话,更加不知道说话的音量大小,因而可以在混流时,将音频对应的音频属性(音量、说话人的标识等)保存在服务端;在最终用户端呈现时,用户端从服务端获取到该音频属性,在播放音频流时,渲染出不同的效果,比如喇叭图标、音柱、头像特效等。
示例的,以直播场景为例,图1是本申请一实施例提供的一种双人连麦的处理过程示意图,如图1所示,主播向内容分发网络的混流模块推送主播流,连麦用户向内容分发网络的混流模块推送连麦用户流,混流模块对主播流和连麦用户流进行混合,生成直播流,同时确定该主播流和连麦用户流对应的音频属性,将该音频属性存储至服务端。内容分发网络将直播流推送至直播间,以供用户观看或收听,直播间从服务端查询对应的音频属性,结合该音频属性在连麦界面中渲染对应的讲话人和音量等信息。
由上可知,该获取音频属性的方法,是通过与服务端建立信令通道,轮询请求或服务端推送来获取;而音频流的分发通常是经过内容分发网络(Content Delivery Network,CDN)。通常来讲,音频流经过内容分发网络分发的延时典型值大约在3~10秒,而通过信令通道获取信令的延时典型值通常在百毫秒~一两秒;于是,用户端获取到的音频属性与音频流时间上无法做到完全一致,从而存在无法完全同步的问题,比如一个人已经在说话了,显示的刚好还是之前一个人的说话的图标。
因而,本申请实施例中提供了一种多人连麦方法,在混流时生成多音轨,除了主音轨(第一音轨)为混流后的实际音频内容,保持高质量高码率外,其他是针对每个参与连麦的用户分配的子音轨,传输对应的低质量低码率音频流,仅用于播放器侧确定音频属性。将各个连麦用户对应的音频流以及各个子音轨的低码率音频流,打包生成混合流,分发至用户端,使得用户端接收到混合流时,直接解析混合流即可同时获取到需要播放的音频流,以及各个子音轨的低码率音频流,基于该低码率音频流可以确定出各个连麦用户当前时间的音频属性,获取音频属性与音频流完全同步,从而保证观众听到的声音与看到的声音图标/音柱等呈现完全同步,提高了用户体验。
在本申请中,提供了一种多人连麦方法,本申请同时涉及一种多人连麦装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图2示出了根据本申请一实施例提供的一种多人连麦方法的流程图,应用于内容分发网络,具体包括以下步骤202-208:
步骤202:获取至少两个连麦用户对应的音频流。
具体的,连麦用户为需要进行互动的用户,包括连麦发起用户和连麦参与用户。线上会议场景下,连麦用户为参与线上会议的各个参会者;直播场景下,连麦用户为发起连麦的主播,以及参与连麦的观众或其他主播。另外,至少两个连麦用户对应的音频流为后续用户端需要播放的音频数据。
实际应用中,本申请实施例提供的多人连麦方法可以应用在纯音频连麦场景下,也可以应用在音视频连麦场景下。纯音频连麦场景下,连麦用户对应的音频流即为连麦用户推送的多媒体流;音视频连麦场景下,连麦用户对应的音频流为连麦用户推送的多媒体流中的音频流。
需要说明的是,各个连麦用户的音频流均可以推送至内容分发网络,由内容分发网络进行混合,获得混合流后推送给各个用户端播放,该用户端可以是参与连麦的连麦用户的客户端,也可以是观看连麦的观看用户的客户端。
示例的,以直播场景下连麦用户为2个为例,发起连麦的主播端采集连麦主播的声音数据,生成音频流,推送至内容分发网络的混流模块;连麦用户端采集连麦用户的声音数据,生成音频流,推送至内容分发网络的混流模块,至此内容分发网络可以获取到该两个连麦用户对应的音频流,以便后续对该各个连麦用户的音频流进行处理。
步骤204:为每个音频流创建对应的子音轨,通过子音轨传输音频流对应的低码率音频流,并存储子音轨和连麦用户的对应关系。
实际应用中,内容分发网络的混流模块中可以新增有子音轨生成子模块,该子音轨生成子模块负责针对每路输入的音频流,创建一个对应的子音轨,并生成该路音频流对应的低码率音频流,通过该子音轨传输该低码率音频流。其中,各个输入的音频流需要混合后推送至用户端播放,而每个音频流对应的低码率音频流仅用于传递对应音频流的音频属性,该音频属性用于指示当前发言的连麦用户。其中,音频对应有多种音频属性,例如音频的发出者,即音频对应的连麦用户的用户标识,音频的音量信息等,该音量信息可以使用常见的任意表示方式,比如数字音频系统中常用的dBFS,即以0dB作为最大值,-96dB作为最小值,也可以使用0~100这样更加直观简单的数字表达。
需要说明的是,混流模块每接收到一路音频流,即可为该路音频流创建一个对应的子音轨,并将子音轨和连麦用户的用户标识一一对应保存起来,以供后续用户端查询。通过该子音轨传输该路音频流对应的低码率音频流,该低码率音频流可以用于用户端确定对应子音轨的音频属性,从而确定出对应的连麦用户的音频属性。也即是说,通过各个子音轨的低码率音频流,可以向用户端传递连麦用户当前时间的音频属性,如当前时间是哪个连麦用户在讲话,音量为多大,保证了音频流和音频属性的同步。
本实施例一个可选的实施方式中,为每个音频流创建对应的子音轨,通过子音轨传输音频流对应的低码率音频流,具体实现过程可以如下:
针对第一音频流,将第一音频流重编码为第二音频流,其中,第二音频流的码率低于第一音频流,第一音频流为任一连麦用户对应的音频流;
创建目标子音轨,并通过目标子音轨传输第二音频流,其中,目标子音轨与第一音频流的连麦用户对应。
需要说明的是,由于子音轨中传输的数据仅用于用户端确定音频属性,并不需要播放给用户,因而可以针对第一音频流,将第一音频流重编码为码率较低的第二音频流,即第二音频流的码率可以远低于第一音频流,第二音频流只需能够确定出对应的音频属性,如音量信息即可。依次类推,各个连麦用户对应的音频流均可以作为第一音频流,生成对应的低码率音频流,并创建对应的子音轨传输该低码率音频流。
实际应用中,将第一音频流重编码为第二音频流时,可以先确定出第二音频流的目标码率,该目标码率可以为小于第一音频流的原码率的任意数值,该目标码率越小,可以节省越多的带宽。
示例的,以主播场景为例,假设混流模块接收到了发起连麦的主播推送的192kbps的音频流,混流模块中的子音轨生成子模块可以将192kbps的音频流重编码为8kbps的音频流,以节约184kbps的带宽,创建一个对应的子音轨,通过该子音轨传输该8kbps的音频流。并且,可以将发起连麦的主播的用户标识,与该子音轨的音轨标识对应存储,以指示连麦用户和子音轨之间的对应关系。
本申请实施例中,可以将第一音频流重编码为低质量低码率的第二音频流,该第二音频流即为低码率音频流,通过子音轨传递该低码率音频流,在向用户端同步传递音频属性的情况下,尽可能节省了带宽。
本实施例一个可选的实施方式中,存储子音轨和连麦用户的对应关系,具体实现过程可以如下:
将各个子音轨按照创建顺序排列;
基于各个子音轨的排列顺序,存储子音轨和连麦用户的对应关系。
需要说明的是,为了不在子音轨传输的低码率音频流中增加额外的标识信息,可以将各个子音轨按照创建顺序排列,基于各个子音轨的排列顺序,存储子音轨和连麦用户的对应关系。如此,直接通过各个子音轨的排列顺序标识各个子音轨,简单方便,无需额外引入其他标识信息,节省了带宽。
本实施例一个可选的实施方式中,基于各个子音轨的排列顺序,存储子音轨和连麦用户的对应关系,具体实现过程可以如下:
针对第一子音轨,将第一子音轨在各个子音轨中的排列顺序作为第一子音轨的音轨标识,其中,第一子音轨为各个子音轨中的任一个;
确定第一子音轨对应的目标音频流,并确定目标音频流对应的连麦用户标识;
将第一子音轨的音轨标识和连麦用户标识对应存储。
实际应用中,将第一子音轨在各个子音轨中的排列顺序作为第一子音轨的音轨标识,确定第一子音轨对应的目标音频流的推送用户的连麦用户标识,将该第一子音轨的音轨标识和该连麦用户标识对应存储。依次类推,各个子音轨均可以作为第一子音轨,确定出对应的连麦用户标识,一一存储各个子音轨的音轨标识和对应的连麦用户标识。
另外,连麦过程中,每新加入一个连麦用户,为其新创建一个对应的子音轨,并更新子音轨和连麦用户的对应关系。
示例的,针对发起连麦的连麦用户1,创建对应的子音轨,该子音轨排列顺序为1;针对第一个加入连麦的连麦用户2,创建对应的子音轨,该子音轨排列顺序为2;针对第二个加入连麦的连麦用户3,创建对应的子音轨,该子音轨排列顺序为3;……;依次类推,获得如下表1所示的子音轨和连麦用户的对应关系表。
表1子音轨和连麦用户的对应关系表
子音轨 | 连麦用户 |
第1个子音轨 | 连麦用户1 |
第2个子音轨 | 连麦用户2 |
第3个子音轨 | 连麦用户3 |
…… | …… |
另外,实际应用中,主音轨中的原始音频流,以及各个子音轨的低码率音频流后续需要混合为混合流,推送给用户端,因而用户端接收到的混合流包括主音轨和各个子音轨,可以将主音轨的音轨标识始终设置为0,各个子音轨基于创建顺序从1开始排列,从而基于各个音轨的排列顺序标识各个音轨,以供用户端识别区分。
本申请实施例中,直接通过各个子音轨的创建顺序标识各个子音轨,以将各个子音轨和连麦用户对应存储,简单方便,无需额外引入其他标识信息,节省了带宽。
本实施例一个可选的实施方式中,存储子音轨和连麦用户的对应关系,具体实现过程还可以为:
为各个子音轨分配音轨标识;
针对第一子音轨,确定第一子音轨对应的目标音频流,并确定目标音频流对应的连麦用户标识,其中,第一子音轨为各个子音轨中的任一个;
将第一子音轨的音轨标识和连麦用户标识对应存储。
实际应用中,混合模块中的子音轨生成子模块可以为生成的各个子音轨分配对应的音轨标识,然后确定第一子音轨对应的目标音频流的推送用户的连麦用户标识,将该第一子音轨的音轨标识和该连麦用户标识对应存储。依次类推,各个子音轨均可以作为第一子音轨,确定出对应的连麦用户标识,一一存储各个子音轨的音轨标识和对应的连麦用户标识。
需要说明的是,由于音轨标识是子音轨生成子模块随机分配的,因而在通过子音轨传输对应的低码率音频流时,需要将音轨标识携带在该低码率音频流中,使得后续用户端接收到混合流时,可以确定出低码率音频流由哪个子音轨传输,从而确定出对应的连麦用户。
示例的,针对发起连麦的连麦用户1,创建对应的子音轨,为该子音轨分配音轨标识X1;针对第一个加入连麦的连麦用户2,创建对应的子音轨,为该子音轨分配音轨标识X2;针对第二个加入连麦的连麦用户3,创建对应的子音轨,为该子音轨分配音轨标识X3;……;依次类推,获得如下表2所示的子音轨和连麦用户的对应关系表。
表2子音轨和连麦用户的对应关系表
子音轨 | 连麦用户 |
X1 | 连麦用户1 |
X2 | 连麦用户2 |
X3 | 连麦用户3 |
…… | …… |
本申请实施例中,混合模块中的子音轨生成子模块可以为生成的各个子音轨分配对应的音轨标识,以将各个子音轨和连麦用户对应存储,创建的各个子音轨无需按序排列,可以随机排列,灵活性较高,可以适应不同的应用场景。
本实施例一个可选的实施方式中,存储子音轨和连麦用户的对应关系,具体实现过程可以如下:
将子音轨和连麦用户的对应关系上报至配置中心服务。
需要说明的是,由于子音轨和连麦用户的对应关系只有在新增连麦用户的情况下才会更新,变化较少,因而混合模块中的子音轨生成子模块将子音轨和连麦用户一一对应存储,获得子音轨和连麦用户的对应关系后,子音轨生成子模块可以将该子音轨和连麦用户的对应关系上报至配置中心服务,后续用户端在需要时,再从配置中心服务中获取,子音轨和连麦用户的对应关系无需携带在混合流中实时传递给用户端,节省了带宽。
步骤206:基于各个连麦用户对应的音频流以及各个子音轨的低码率音频流,生成混合流。
需要说明的是,各个连麦用户对应的音频流是后续用户端需要播放的实际音频内容,而各个子音轨的低码率音频流则用于传输对应音频流的音频属性,因而可以基于各个连麦用户对应的音频流以及各个子音轨的低码率音频流,生成混合流,使得该混合流中可以同时包括需要播放的实际音频内容,以及音频流的音频属性,保证了音频流和音频属性完全同步,避免了音频属性延迟。
本实施例一个可选的实施方式中,基于各个连麦用户对应的音频流以及各个子音轨的低码率音频流,生成混合流,具体实现过程可以如下:
将各个音频流混合为原始音频流,并通过主音轨传输原始音频流;
将主音轨的原始音频流和各个子音轨的低码率音频流打包为混合流。
实际应用中,混流模块的混合子模块进行了更新,支持额外多条子音轨的输入,原音频混合的功能不变,也即将各个连麦用户的音频流混合编码为原始音频流,通过主音轨传输该原始音频流,该原始音频流即为后续用户端需要实际播放的音频内容,同时支持将各个子音轨的低码率音频流也混合至混合流中。
需要说明的是,各个子音轨的低码率音频流可以直接和主音轨的原始音频流打包在一起即可获得混合流,不需要对各个子音轨的低码率音频流重新编码,只需将各个子音轨的低码率音频流打包进混合流即可,基本无额外的性能消耗。
本申请实施例中,可以将主音轨的原始音频流和各个子音轨的低码率音频流打包为混合流,该混合流中包括多路音频流,主音轨的原始音频流为实际播放的音频内容,各个子音轨的低码率音频流可以用于确定音频流的音频属性。如此,在传输实际播放的音频内容的同时,通过各个子音轨传输的低码率音频流,传输了音频流的音频属性,使得音频属性与音频流完全同步,从而保证观众听到的声音与看到的声音图标/音柱等呈现完全同步,提高了用户体验。
步骤208:向用户端推送混合流,其中,混合流中子音轨的低码率音频流用于指示用户端基于对应关系,确定并标识各个连麦用户当前时间的音频属性。
实际应用中,内容分发网络的混流模块获得混合流之后,可以向用户端推送该混合流,该混合流中除了包括需要播放的原始音频流之外,还可以包括各个子音轨的低码率音频流,因而用户端接收到内容分发网络推送的混合流后,可以解析该混合流,获得各个子音轨的低码率音频流,结合获取到的子音轨和连麦用户的对应关系,确定并标识各个连麦用户当前时间的音频属性。
具体的,连麦用户当前时间的音频属性可以包括连麦用户标识、音量信息等,可以在连麦界面中添加发声图标和/或音量信息对应的音量图标,以标识当前谁在讲话,以及讲话的音量大小。
需要说明的是,混合流中已经带入了各个子音轨的低码率音频流,基于该低码率音频流可以确定出对应的子音轨标识、音量信息等音频属性,在向用户播放混合流中主音轨的原始音频流的同时,可以实时确定出当前是哪个连麦用户在讲话,以及讲话的音量大小如何,从而可以实时地绘制一些效果,比如对应主播/连麦用户的头像特效、喇叭、音柱等,以达到更加优质的体验。
本申请实施例提供的多人连麦方法,内容分发网络针对每个音频流,可以生成对应的低码率音频流,并创建对应的子音轨,通过该子音轨传输该低码率音频流,然后基于各个连麦用户对应的音频流以及各个子音轨的低码率音频流,生成混合流,该混合流中除了包含需要播放的各个连麦用户对应的音频流,即实际音频内容之外,还包含了各个子音轨的低码率音频流,该低码率音频流用于确定音频属性,使得用户端接收到混合流后,直接解析混合流,即可同时获取到需要播放的音频流,以及各个子音轨的低码率音频流,从而基于各个子音轨的低码率音频流,计算确定出各个连麦用户当前时间的音频属性,并进行标识。如此,通过为各个连麦用户创建对应的子音轨,传输各个连麦用户的音频流对应的低码率音频流,实现了向用户端传递各个连麦用户的音频流的同时,向用户端传递对应的音频属性,避免了音频属性存在时延,用户端获取到的音频属性与音频流完全同步,保证了当前连麦界面中标识的当前发言的连麦用户,与当前实际发言的连麦用户同步,从而保证了连麦用户的使用体验。
图3a示出了根据本申请一实施例提供的另一种多人连麦方法的流程图,应用于用户端,具体包括以下步骤302-306:
步骤302:接收内容分发网络推送的混合流,从混合流中获取各个子音轨的低码率音频流。
需要说明的是,内容分发网络的混流模块获得混合流之后,可以向用户端推送该混合流,该混合流中除了包括需要播放的原始音频流之外,还包括各个子音轨的低码率音频流,因而用户端接收到内容分发网络推送的混合流后,可以解析该混合流,从混合流中获取各个子音轨的低码率音频流,便于后续基于各个子音轨的低码率音频流,确定出各个子音轨的音频属性。
步骤304:基于各个子音轨的低码率音频流,确定各个子音轨当前时间的音频属性。
具体的,子音轨当前时间的音频属性可以包括子音轨标识、当前时间的音量信息等。
本实施例一个可选的实施方式中,可以基于低码率音频流中的音素计算当前传输音频的音量信息,以确定出对应的音频属性,也即基于各个子音轨的低码率音频流,确定各个子音轨当前时间的音频属性,具体实现过程可以如下:
针对第一低码率音频流,从第一低码率音频流中获取传输音频的音素信息,并获取第一低码率音频流对应的子音轨的音轨标识;
根据音素信息,确定传输音频的音量信息;
将音量信息和音轨标识作为第二子音轨的音频属性,其中,第二子音轨为第一低码率音频流对应的音轨。
其中,音素是构成音节的最小单位或最小的语音片段,是从音质的角度划分出来的最小的线性的语音单位,音素是具体存在的物理现象。
需要说明的是,直播场景下,用户端播放器可收到多条音轨的混合流,除第一条主音轨内容为真实的直播间内容直接播放外,其他每条子音轨仅提取低码率音频流,用于计算确定子音轨的音频属性。
实际应用中,用户端可以从第一低码率音频流中获取传输音频的音素信息,以及第一低码率音频流对应的子音轨的音轨标识;然后,可以根据音素信息,确定传输音频的音量信息;之后,将音量信息和音轨标识作为第二子音轨的音频属性,依次类推,各个低码率音频流均可以作为第一低码率音频流,从而确定出各个子音轨的音频属性。如此,该音频属性可以指示来源子音轨,从而指示对应的连麦用户,并且可以指示当前时间音频的音量信息。
其中,音量代表声音的强度,又称响度、强度或能量,是指人耳对所听到的声音大小强弱的主观感受,其客观评价尺度是声音的振幅大小,这种感受源自物体振动时所产生的压力,即声压,物体振动通过不同的介质,将其振动能量传导开去。
具体实现时,可由一个音素内的信号震幅大小来类比,计算出传输音频的音量信息,具体可以通过如下两种方式来计算:将传输音频中各个音素的绝对值(信号绝对值)的总和作为传输音频的音量信息;将传输音频中各个音素的信号值平方值的总和,再取以10为底的对数值,再乘以10,获得传输音频的音量信息。当然,也可以通过其他方式来计算传输音频的音量信息,本申请实施例对此不进行限制。
本申请实施例中,可以基于各个子音轨的低码率音频流,计算出各个子音轨的音频属性,实现了同时获取实际要播放的音频内容和对应的音频属性,避免了音频属性存在时延,保证了用户端获取到的音频属性与音频流完全同步,保证了连麦用户的使用体验。
步骤306:获取子音轨和连麦用户的对应关系,基于各个子音轨当前时间的音频属性,确定各个连麦用户当前时间的音频属性,并在当前时间的连麦界面中标识各个连麦用户对应的音频属性。
需要说明的是,用户端确定出各个子音轨当前时间的音频属性后,需要基于子音轨和连麦用户的对应关系,确定出各个连麦用户的音频属性,因而用户端需要获取子音轨和连麦用户的对应关系。
本实施例一个可选的实施方式中,获取子音轨和连麦用户的对应关系,具体实现过程可以如下:
在满足对应关系更新条件的情况下,从配置中心服务获取子音轨和连麦用户的对应关系。
实际应用中,内容分发网络的混合模块会将子音轨和连麦用户的对应关系上传至配置中心服务,因而用户端可以在满足对应关系更新条件的情况下,再从配置中心服务获取子音轨和连麦用户的对应关系,子音轨和连麦用户的对应关系无需携带在混合流中实时接收,节省了带宽。
其中,对应关系更新条件是指预先设置的条件,用户判断用户端当前是否需要获取最新的子音轨和连麦用户的对应关系,如对应关系更新条件可以为连麦开始时、新增连麦用户时、达到更新定时等。
本实施例一个可选的实施方式中,各个连麦用户的音频属性包括音量信息和连麦用户的用户标识,在当前时间的连麦界面中标识各个连麦用户对应的音频属性,具体实现过程可以如下:
针对第一连麦用户,确定第一连麦用户对应的音量信息,其中,第一连麦用户为各个连麦用户中的任一个;
在音量信息满足设定音量条件的情况下,根据第一用户标识,在连麦界面中确定第一连麦用户的第一用户头像;
在第一用户头像上添加发声图标和/或音量信息对应的音量图标。
其中,设定音量条件是预先设置的、判断连麦用户是否讲话的规则,避免将杂音错误标识为连麦用户正在讲话,如设定音量条件为音量大于40分贝。
实际应用中,针对各个连麦用户,可以确定其音量是否大于音量阈值,若大于音量阈值,则说明该连麦用户在讲话,此时可以查找到该连麦用户的用户头像,在该用户头像上添加发声图标和/或音量信息对应的音量图标。
其中,发声图标表示该连麦用户当前正在讲话,该发生图标可以预先设置,如发声图标为小喇叭图标、加粗边框、头像特效或者其他图形标识等;音量图标可以表示当前时间的音量大小,如音量图标可以为音量柱、具体数值、或者其他可以表示大小的图形标识等。
示例的,以直播场景下4个连麦用户参与连麦为例,图3b是本申请一实施例提供的一种连麦界面的示意图,如图3b所示,连麦用户为用户1、用户2、用户3和用户4,图3b中分别展示该4个用户的头像。用户端接收到的混合流中第0条音轨为主音轨,主音轨中的原始音频流为直播间需要播放的内容(4个连麦用户的音频流混合后的混合音频流),第1条音轨-第4条音轨为子音轨,各个子音轨的低码率音频流可以确定各个子音轨对应的音频属性。假设第1条子音轨对应的音频属性为:子音轨1、音量0,第2条子音轨对应的音频属性为:子音轨2、音量50,第3条子音轨对应的音频属性为:子音轨3、音量10,第4条子音轨对应的音频属性为:子音轨4、音量0。
假设用户端获取到的子音轨和连麦用户的对应关系为子音轨1对应用户1、子音轨2对应用户2、子音轨3对应用户3、子音轨4对应用户4,此时可以确定出各个连麦用户的音频属性为:用户1、音量0,用户2、音量50,用户3、音量10,用户4、音量0。此时,只有用户2的音量超过余量阈值40,说明此时用户2在讲话,讲话音量为50,在当前连麦界面中找到用户2对应的用户2头像,在该头像上添加一个小喇叭图标,并添加一个音量柱,该音量柱的当前大小指示音量大小为50。
本申请实施例提供的多人连麦方法,用户端可以接收内容分发网络推送的混合流,该混合流包括各个连麦用户对应的音频流混合后的原始音频流,以及各个子音轨的低码率音频流,因而用户端接收到内容分发网络推送的混合流后,直接解析混合流即可同时获取到需要播放的音频流,以及各个子音轨的低码率音频流,从而基于各个子音轨的低码率音频流,确定出各个连麦用户当前时间的音频属性,并在连麦界面中标识该音频属性,渲染不同的效果。如此,通过为各个连麦用户创建对应的子音轨,传输各个连麦用户的音频流对应的低码率音频流,实现了向用户端传递各个连麦用户的音频流的同时,向用户端传递对应的音频属性,避免了音频属性存在时延,用户端获取到的音频属性与音频流完全同步,保证了当前连麦界面中标识的当前发言的连麦用户,与当前实际发言的连麦用户同步,从而保证了连麦用户的使用体验。
下述结合附图4,以本申请提供的多人连麦方法在直播中双人连麦场景的应用为例,对多人连麦方法进行进一步说明。其中,图4示出了本申请一实施例提供的一种应用于直播中双人连麦场景的多人连麦方法的处理过程示意图,具体包括以下步骤:
以直播场景为例,典型的双人连麦场景,由一个连麦主播与一个连麦参与者构成,连麦主播推送的主播流,以及连麦参与者推送的连麦流会分别进入混流模块。该主播流中可以包括主播音频流,连麦流中可以包括连麦音频流。
混流模块中的子音轨生成子模块可以生成主播音频流对应的主播低码率音频流,并创建对应的子音轨1,通过该子音轨1传输主播低码率音频流;并且,还可以生成连麦音频流对应的连麦低码率音频流,并创建对应的子音轨2,通过该子音轨2传输连麦低码率音频流。
混流模块中的混合子模块可以将主播音频流和连麦音频流混合为原始音频流,通过主音轨传输该原始音频流;并且,可以将主音轨的原始音频流以及子音轨1的主播低码率音频流、子音轨2的连麦低码率音频流,打包为直播流,将该直播流推送给直播间。
另外,子音轨生成子模块在创建各个子音轨时,还可以存储子音轨和连麦用户的对应关系,并上报至配置中心服务。因而,直播间还可以从配置中心服务获取子音轨和连麦用户的对应关系,解析直播流,获得子音轨1的主播低码率音频流,基于该主播低码率音频流确定出子音轨1的音频属性,即主播推送的主播音频流的音频属性;并且,还可以获得子音轨2的连麦低码率音频流,基于该连麦低码率音频流确定出子音轨2的音频属性,即连麦参与者推送的连麦音频流的音频属性。在直播间播放主音轨的原始音频流供用户收听的同时,还可以在连麦界面中标识相应的音频属性。
本申请实施例提供的多人连麦方法,内容分发网络针对每个音频流,可以生成对应的低码率音频流,并创建对应的子音轨,通过该子音轨传输该低码率音频流,然后基于各个连麦用户对应的音频流以及各个子音轨的低码率音频流,生成混合流,该混合流中除了包含需要播放的各个连麦用户对应的音频流,即实际音频内容之外,还包含了各个子音轨的低码率音频流,该低码率音频流用于确定音频属性,使得用户端接收到混合流后,直接解析混合流,即可同时获取到需要播放的音频流,以及各个子音轨的低码率音频流,从而基于各个子音轨的低码率音频流,计算确定出各个连麦用户当前时间的音频属性,并进行标识。如此,通过为各个连麦用户创建对应的子音轨,传输各个连麦用户的音频流对应的低码率音频流,实现了向用户端传递各个连麦用户的音频流的同时,向用户端传递对应的音频属性,避免了音频属性存在时延,用户端获取到的音频属性与音频流完全同步,保证了当前连麦界面中标识的当前发言的连麦用户,与当前实际发言的连麦用户同步,从而保证了连麦用户的使用体验。
与上述方法实施例相对应,本申请还提供了内容分发网络实施例,图5示出了本申请一实施例提供的一种内容分发网络的结构示意图。如图5所示,该装置包括:
第一获取模块502,被配置为获取至少两个连麦用户对应的音频流;
创建模块504,被配置为为每个音频流创建对应的子音轨,通过子音轨传输音频流对应的低码率音频流,并存储子音轨和连麦用户的对应关系;
生成模块506,被配置为基于各个连麦用户对应的音频流以及各个子音轨的低码率音频流,生成混合流;
推送模块508,被配置为向用户端推送混合流,其中,混合流中子音轨的低码率音频流用于指示用户端基于对应关系,确定并标识各个连麦用户当前时间的音频属性。
可选地,生成模块506,进一步被配置为:
将各个音频流混合为原始音频流,并通过主音轨传输原始音频流;
将主音轨的原始音频流和各个子音轨的低码率音频流打包为混合流。
可选地,创建模块504,进一步被配置为:
针对第一音频流,将第一音频流重编码为第二音频流,其中,第二音频流的码率低于第一音频流,第一音频流为任一连麦用户对应的音频流;
创建目标子音轨,并通过目标子音轨传输第二音频流,其中,目标子音轨与第一音频流的连麦用户对应。
可选地,创建模块504,进一步被配置为:
将各个子音轨按照创建顺序排列;
基于各个子音轨的排列顺序,存储子音轨和连麦用户的对应关系。
可选地,创建模块504,进一步被配置为:
针对第一子音轨,将第一子音轨在各个子音轨中的排列顺序作为第一子音轨的音轨标识,其中,第一子音轨为各个子音轨中的任一个;
确定第一子音轨对应的目标音频流,并确定目标音频流对应的连麦用户标识;
将第一子音轨的音轨标识和连麦用户标识对应存储。
可选地,创建模块504,进一步被配置为:
为各个子音轨分配音轨标识;
针对第一子音轨,确定第一子音轨对应的目标音频流,并确定目标音频流对应的连麦用户标识,其中,第一子音轨为各个子音轨中的任一个;
将第一子音轨的音轨标识和连麦用户标识对应存储。
可选地,创建模块504,进一步被配置为:
将子音轨和连麦用户的对应关系上报至配置中心服务。
本申请实施例提供的内容分发网络针对每个音频流,可以生成对应的低码率音频流,并创建对应的子音轨,通过该子音轨传输该低码率音频流,然后基于各个连麦用户对应的音频流以及各个子音轨的低码率音频流,生成混合流,该混合流中除了包含需要播放的各个连麦用户对应的音频流,即实际音频内容之外,还包含了各个子音轨的低码率音频流,该低码率音频流用于确定音频属性,使得用户端接收到混合流后,直接解析混合流,即可同时获取到需要播放的音频流,以及各个子音轨的低码率音频流,从而基于各个子音轨的低码率音频流,计算确定出各个连麦用户当前时间的音频属性,并进行标识。如此,通过为各个连麦用户创建对应的子音轨,传输各个连麦用户的音频流对应的低码率音频流,实现了向用户端传递各个连麦用户的音频流的同时,向用户端传递对应的音频属性,避免了音频属性存在时延,用户端获取到的音频属性与音频流完全同步,保证了当前连麦界面中标识的当前发言的连麦用户,与当前实际发言的连麦用户同步,从而保证了连麦用户的使用体验。
上述为本实施例的一种内容分发网络的示意性方案。需要说明的是,该内容分发网络的技术方案与上述的多人连麦方法的技术方案属于同一构思,内容分发网络的技术方案未详细描述的细节内容,均可以参见上述多人连麦方法的技术方案的描述。
与上述方法实施例相对应,本申请还提供了用户端实施例,图6示出了本申请一实施例提供的一种用户端的结构示意图。如图6所示,该装置包括:
第二获取模块602,被配置为接收内容分发网络推送的混合流,从混合流中获取各个子音轨的低码率音频流;
确定模块604,被配置为基于各个子音轨的低码率音频流,确定各个子音轨当前时间的音频属性;
标识模块606,被配置为获取子音轨和连麦用户的对应关系,基于各个子音轨当前时间的音频属性,确定各个连麦用户当前时间的音频属性,并在当前时间的连麦界面中标识各个连麦用户对应的音频属性。
可选地,各个连麦用户的音频属性包括音量信息和连麦用户的用户标识;标识模块606,进一步被配置为:
针对第一连麦用户,确定第一连麦用户对应的音量信息,其中,第一连麦用户为各个连麦用户中的任一个;
在音量信息满足设定音量条件的情况下,根据第一用户标识,在连麦界面中确定第一连麦用户的第一用户头像;
在第一用户头像上添加发声图标和/或音量信息对应的音量图标。
可选地,标识模块606,进一步被配置为:
在满足对应关系更新条件的情况下,从配置中心服务获取子音轨和连麦用户的对应关系。
可选地,确定模块604,进一步被配置为:
针对第一低码率音频流,从第一低码率音频流中获取传输音频的音素信息,并获取第一低码率音频流对应的子音轨的音轨标识;
根据音素信息,确定传输音频的音量信息;
将音量信息和音轨标识作为第二子音轨的音频属性,其中,第二子音轨为第一低码率音频流对应的音轨。
本申请实施例提供的用户端,可以接收内容分发网络推送的混合流,该混合流包括各个连麦用户对应的音频流混合后的原始音频流,以及各个子音轨的低码率音频流,因而用户端接收到内容分发网络推送的混合流后,直接解析混合流即可同时获取到需要播放的音频流,以及各个子音轨的低码率音频流,从而基于各个子音轨的低码率音频流,确定出各个连麦用户当前时间的音频属性,并在连麦界面中标识该音频属性,渲染不同的效果。如此,通过为各个连麦用户创建对应的子音轨,传输各个连麦用户的音频流对应的低码率音频流,实现了向用户端传递各个连麦用户的音频流的同时,向用户端传递对应的音频属性,避免了音频属性存在时延,用户端获取到的音频属性与音频流完全同步,保证了当前连麦界面中标识的当前发言的连麦用户,与当前实际发言的连麦用户同步,从而保证了连麦用户的使用体验。
上述为本实施例的一种用户端的示意性方案。需要说明的是,该用户端的技术方案与上述的多人连麦方法的技术方案属于同一构思,用户端的技术方案未详细描述的细节内容,均可以参见上述多人连麦方法的技术方案的描述。
与上述方法实施例相对应,本申请还提供了多人连麦系统实施例,图7示出了本申请一实施例提供的一种多人连麦系统的结构示意图。如图7所示,多人连麦系统包括内容分发网络702和用户端704;
内容分发网络702,被配置为获取至少两个连麦用户对应的音频流;为每个音频流创建对应的子音轨,通过子音轨传输音频流对应的低码率音频流,并存储子音轨和连麦用户的对应关系;基于各个连麦用户对应的音频流以及各个子音轨的低码率音频流,生成混合流;向用户端推送混合流;
用户端704,被配置为接收内容分发网络推送的混合流,从混合流中获取各个子音轨的低码率音频流;基于各个子音轨的低码率音频流,确定各个子音轨当前时间的音频属性;获取子音轨和连麦用户的对应关系,基于各个子音轨当前时间的音频属性,确定各个连麦用户当前时间的音频属性,并在当前时间的连麦界面中标识各个连麦用户对应的音频属性。
本申请实施例提供的多人连麦系统中,内容分发网络针对每个音频流,可以生成对应的低码率音频流,并创建对应的子音轨,通过该子音轨传输该低码率音频流,然后基于各个连麦用户对应的音频流以及各个子音轨的低码率音频流,生成混合流,该混合流中除了包含需要播放的各个连麦用户对应的音频流,即实际音频内容之外,还包含了各个子音轨的低码率音频流,该低码率音频流用于确定音频属性,使得用户端接收到混合流后,直接解析混合流,即可同时获取到需要播放的音频流,以及各个子音轨的低码率音频流,从而基于各个子音轨的低码率音频流,计算确定出各个连麦用户当前时间的音频属性,并进行标识。如此,通过为各个连麦用户创建对应的子音轨,传输各个连麦用户的音频流对应的低码率音频流,实现了向用户端传递各个连麦用户的音频流的同时,向用户端传递对应的音频属性,避免了音频属性存在时延,用户端获取到的音频属性与音频流完全同步,保证了当前连麦界面中标识的当前发言的连麦用户,与当前实际发言的连麦用户同步,从而保证了连麦用户的使用体验。
上述为本实施例的一种多人连麦系统的示意性方案。需要说明的是,该多人连麦系统的技术方案与上述的多人连麦方法的技术方案属于同一构思,多人连麦系统的技术方案未详细描述的细节内容,均可以参见上述多人连麦方法的技术方案的描述。
图8示出了根据本申请一实施例提供的一种计算设备的结构框图。该计算设备800的部件包括但不限于存储器810和处理器820。处理器820与存储器810通过总线830相连接,数据库850用于保存数据。
计算设备800还包括接入设备840,接入设备840使得计算设备800能够经由一个或多个网络860通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备840可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,NetworkInterface Controller))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,WirelessLocal Area Networks)无线接口、全球微波互联接入(Wi-MAX,WorldwideInteroperability for Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near FieldCommunication)接口,等等。
在本申请的一个实施例中,计算设备800的上述部件以及图8中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图8所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备800可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备800还可以是移动式或静止式的服务器。
其中,处理器820用于执行如下计算机可执行指令,以实现任意上述的多人连麦方法的操作步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的多人连麦方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述多人连麦方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时以用于实现任意上述的多人连麦方法的操作步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的多人连麦方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述多人连麦方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
计算机指令包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
Claims (16)
1.一种多人连麦方法,其特征在于,应用于内容分发网络,包括:
获取至少两个连麦用户对应的音频流;
为每个音频流创建对应的子音轨,通过所述子音轨传输所述音频流对应的低码率音频流,并存储子音轨和连麦用户的对应关系;
基于各个连麦用户对应的音频流以及各个子音轨的低码率音频流,生成混合流;
向用户端推送所述混合流,其中,所述混合流中子音轨的低码率音频流用于指示所述用户端基于所述对应关系,确定并标识各个连麦用户当前时间的音频属性。
2.根据权利要求1所述的多人连麦方法,其特征在于,所述基于各个连麦用户对应的音频流以及各个子音轨的低码率音频流,生成混合流,包括:
将所述各个音频流混合为原始音频流,并通过主音轨传输所述原始音频流;
将所述主音轨的原始音频流和各个子音轨的低码率音频流打包为所述混合流。
3.根据权利要求1所述的多人连麦方法,其特征在于,所述为每个音频流创建对应的子音轨,通过所述子音轨传输所述音频流对应的低码率音频流,包括:
针对第一音频流,将所述第一音频流重编码为第二音频流,其中,所述第二音频流的码率低于第一音频流,所述第一音频流为任一连麦用户对应的音频流;
创建目标子音轨,并通过目标子音轨传输所述第二音频流,其中,所述目标子音轨与所述第一音频流的连麦用户对应。
4.根据权利要求1-3任一项所述的多人连麦方法,其特征在于,所述存储子音轨和连麦用户的对应关系,包括:
将所述各个子音轨按照创建顺序排列;
基于所述各个子音轨的排列顺序,存储所述子音轨和连麦用户的对应关系。
5.根据权利要求4所述的多人连麦方法,其特征在于,所述基于所述各个子音轨的排列顺序,存储所述子音轨和连麦用户的对应关系,包括:
针对第一子音轨,将所述第一子音轨在所述各个子音轨中的排列顺序作为所述第一子音轨的音轨标识,其中,所述第一子音轨为所述各个子音轨中的任一个;
确定所述第一子音轨对应的目标音频流,并确定所述目标音频流对应的连麦用户标识;
将所述第一子音轨的音轨标识和所述连麦用户标识对应存储。
6.根据权利要求1-3任一项所述的多人连麦方法,其特征在于,所述存储子音轨和连麦用户的对应关系,包括:
为各个子音轨分配音轨标识;
针对第一子音轨,确定所述第一子音轨对应的目标音频流,并确定所述目标音频流对应的连麦用户标识,其中,所述第一子音轨为所述各个子音轨中的任一个;
将第一子音轨的音轨标识和所述连麦用户标识对应存储。
7.根据权利要求1-3任一项所述的多人连麦方法,其特征在于,所述存储子音轨和连麦用户的对应关系,包括:
将所述子音轨和连麦用户的对应关系上报至配置中心服务。
8.一种多人连麦方法,其特征在于,应用于用户端,包括:
接收内容分发网络推送的混合流,从所述混合流中获取各个子音轨的低码率音频流;
基于所述各个子音轨的低码率音频流,确定所述各个子音轨当前时间的音频属性;
获取子音轨和连麦用户的对应关系,基于所述各个子音轨当前时间的音频属性,确定各个连麦用户当前时间的音频属性,并在当前时间的连麦界面中标识所述各个连麦用户对应的音频属性。
9.根据权利要求8所述的多人连麦方法,其特征在于,所述各个连麦用户的音频属性包括音量信息和连麦用户的用户标识;所述在当前时间的连麦界面中标识所述各个连麦用户对应的音频属性,包括:
针对第一连麦用户,确定所述第一连麦用户对应的音量信息,其中,所述第一连麦用户为所述各个连麦用户中的任一个;
在所述音量信息满足设定音量条件的情况下,根据所述第一用户标识,在所述连麦界面中确定所述第一连麦用户的第一用户头像;
在所述第一用户头像上添加发声图标和/或所述音量信息对应的音量图标。
10.根据权利要求8所述的多人连麦方法,其特征在于,所述获取子音轨和连麦用户的对应关系,包括:
在满足对应关系更新条件的情况下,从配置中心服务获取所述子音轨和连麦用户的对应关系。
11.根据权利要求8-10任一项所述的多人连麦方法,其特征在于,所述基于所述各个子音轨的低码率音频流,确定所述各个子音轨当前时间的音频属性,包括:
针对第一低码率音频流,从所述第一低码率音频流中获取传输音频的音素信息,并获取所述第一低码率音频流对应的子音轨的音轨标识;
根据所述音素信息,确定所述传输音频的音量信息;
将所述音量信息和所述音轨标识作为第二子音轨的音频属性,其中,所述第二子音轨为所述第一低码率音频流对应的音轨。
12.一种内容分发网络,其特征在于,包括:
第一获取模块,被配置为获取至少两个连麦用户对应的音频流;
创建模块,被配置为为每个音频流创建对应的子音轨,通过所述子音轨传输所述音频流对应的低码率音频流,并存储子音轨和连麦用户的对应关系;
生成模块,被配置为基于各个连麦用户对应的音频流以及各个子音轨的低码率音频流,生成混合流;
推送模块,被配置为向用户端推送所述混合流,其中,所述混合流中子音轨的低码率音频流用于指示所述用户端基于所述对应关系,确定并标识各个连麦用户当前时间的音频属性。
13.一种用户端,其特征在于,包括:
第二获取模块,被配置为接收内容分发网络推送的混合流,从所述混合流中获取各个子音轨的低码率音频流;
确定模块,被配置为基于所述各个子音轨的低码率音频流,确定所述各个子音轨当前时间的音频属性;
标识模块,被配置为获取子音轨和连麦用户的对应关系,基于所述各个子音轨当前时间的音频属性,确定各个连麦用户当前时间的音频属性,并在当前时间的连麦界面中标识所述各个连麦用户对应的音频属性。
14.一种多人连麦系统,其特征在于,所述多人连麦系统包括内容分发网络和用户端;
所述内容分发网络,被配置为获取至少两个连麦用户对应的音频流;为每个音频流创建对应的子音轨,通过所述子音轨传输所述音频流对应的低码率音频流,并存储子音轨和连麦用户的对应关系;基于各个连麦用户对应的音频流以及各个子音轨的低码率音频流,生成混合流;向用户端推送所述混合流;
所述用户端,被配置为接收内容分发网络推送的混合流,从所述混合流中获取各个子音轨的低码率音频流;基于所述各个子音轨的低码率音频流,确定所述各个子音轨当前时间的音频属性;获取子音轨和连麦用户的对应关系,基于所述各个子音轨当前时间的音频属性,确定各个连麦用户当前时间的音频属性,并在当前时间的连麦界面中标识所述各个连麦用户对应的音频属性。
15.一种计算设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现上述权利要求1-7或者权利要求8-11任一项所述的多人连麦方法的操作步骤。
16.一种计算机可读存储介质,其特征在于,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述权利要求1-7或者权利要求8-11任一项所述的多人连麦方法的操作步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211620184.2A CN115914761A (zh) | 2022-12-15 | 2022-12-15 | 多人连麦方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211620184.2A CN115914761A (zh) | 2022-12-15 | 2022-12-15 | 多人连麦方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115914761A true CN115914761A (zh) | 2023-04-04 |
Family
ID=86481531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211620184.2A Pending CN115914761A (zh) | 2022-12-15 | 2022-12-15 | 多人连麦方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115914761A (zh) |
-
2022
- 2022-12-15 CN CN202211620184.2A patent/CN115914761A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9628630B2 (en) | Method for improving perceptual continuity in a spatial teleconferencing system | |
JP5735671B2 (ja) | オーディオ信号のデコーディング方法及びその装置 | |
US20070109977A1 (en) | Method and apparatus for improving listener differentiation of talkers during a conference call | |
US11727940B2 (en) | Autocorrection of pronunciations of keywords in audio/videoconferences | |
US20180048683A1 (en) | Private communications in virtual meetings | |
CN107301028B (zh) | 一种基于多人远程通话的音频数据处理方法及装置 | |
CN110933485A (zh) | 一种视频字幕生成方法、系统、装置和存储介质 | |
CN111863011A (zh) | 音频处理方法及电子设备 | |
CN111951821B (zh) | 通话方法和装置 | |
CN112565668B (zh) | 一种网络会议共享声音的方法 | |
US11488612B2 (en) | Audio fingerprinting for meeting services | |
KR20150123092A (ko) | 입체 음향을 이용한 다자간 인터랙티브 통화 시스템 및 방법 | |
CN115914761A (zh) | 多人连麦方法及装置 | |
US20200184973A1 (en) | Transcription of communications | |
Toosy et al. | Statistical Inference of User Experience of Multichannel Audio on Mobile Phones. | |
JP4531013B2 (ja) | 映像音声会議システムおよび端末装置 | |
CN112995568B (zh) | 一种基于视频客服系统及构建方法 | |
CN117118956B (zh) | 音频处理方法、装置、电子设备及计算机可读存储介质 | |
US20230035219A1 (en) | Teleconference method and teleconference system | |
US20230276187A1 (en) | Spatial information enhanced audio for remote meeting participants | |
WO2023243375A1 (ja) | 情報端末、情報処理方法、プログラム、および情報処理装置 | |
CN112133300B (zh) | 多设备的交互方法、相关设备和系统 | |
Kilgore et al. | The Vocal Village: enhancing collaboration with spatialized audio | |
Linder Nilsson | Speech Intelligibility in Radio Broadcasts: A Case Study Using Dynamic Range Control and Blind Source Separation | |
CN116112718A (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 |