1.本发明涉及通信技术领域,尤其涉及一种实时通信方法、计算机可读存储介质和电子设备。
背景技术:2.随着技术的发展进步,越来越多的人开始采用远程会议的方式进行沟通交流,这需要优良的实时音视频技术。现在比较常见的实现方式是会议室里有一个主设备连接到云端服务器负责通信,能够满足小型的会议(仅几个人的会议)的需求,但是,无法满足较大型的会议(几十个人的会议,房间较大)的需求。在一些用户需要在自己的终端上进行通信时,此时需要其它若干辅助终端设备接入同一个会议室,而当接入的辅助终端设备过多时,会给网络负载造成较大的负担。
3.在实时音视频通信中,对于n个终端注册接入网络会议室的情况,总共有n路上行信号,每路上行信号需要经过云端服务器后传送至其它(n-1)个终端,所以,实际在网络上传输的信号一共有n*(n-1)路,每个终端需要处理一个上行信号,n-1个下行信号。由此可见,随着接入终端数量的增加,所需的网络带宽急剧增加。
4.在参会人数不多的情况下,现有的网络带宽以及终端计算能力完全可以胜任实时音视频通信的要求。但是随着接入终端数量的持续增加,所需的网络带宽越来越大,最终导致通信严重卡顿,甚至无法正常通信。每一路终端需要接收其它所有终端的码流并进行解码及各种后处理,终端所需的计算能力会很大,如果是手持设备,将严重影响电池续航能力。
技术实现要素:5.本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的第一个目的在于提出一种实时通信方法,能够先将无效音视频输入滤除,并将所有的有效音视频输入在主控终端进行混流后传输至云端服务器,可以降低混流压力,减少经过网络传输的数据量,减轻网络负载量,改善网络质量。
6.本发明的第二个目的在于提出一种实时通信方法。
7.本发明的第三个目的在于提出一种计算机可读存储介质。
8.本发明的第四个目的在于提出一种电子设备。
9.为达到上述目的,本发明第一方面实施例提出了一种实时通信方法,包括:获取音视频输入信息,并接收第一电子设备发送的第一有效码流信息;对所述音视频输入信息进行有效判定,获得第二有效码流信息;将所述第一有效码流信息和所述第二有效码流信息进行混流处理,获得第一混流数据,并将所述第一混流数据发送到云端服务器。
10.根据本发明实施例的实时通信方法,首先获取音视频输入信息,并接收第一电子设备发送的第一有效码流信息,然后对音视频输入信息进行有效判定,获得第二有效码流信息,最后将第一有效码流信息和第二有效码流信息进行混流处理,获得第一混流数据,并
将第一混流数据发送到云端服务器。由此,该方法能够先将无效音视频输入滤除,并将所有的有效音视频输入在主控终端进行混流后传输至云端服务器,可以降低混流压力,减少经过网络传输的数据量,减轻网络负载量,改善网络质量。
11.另外,根据本发明上述实施例的实时通信方法,还可以具有如下的附加技术特征:
12.根据本发明的一个实施例,对所述音视频输入信息进行有效判定,获得第二有效码流信息,包括:对所述音视频输入信息进行语音存在判定;在所述音视频输入信息中存在有效语音时,将所述有效语音转换成文字信息,并将所述有效语音和所述文字信息作为所述第二有效码流信息。
13.根据本发明的一个实施例,在接收第一电子设备发送的第一有效码流信息之前,还包括:向所述第一电子设备发送音频判决信号,以便所述第一电子设备在确定所述音频判决信号和自身获取的音频输入信号之间的信号相似度满足预设条件时发送所述第一有效码流信息。
14.根据本发明的一个实施例,将所述第一混流数据发送到云端服务器,包括:将所述第一混流数据进行rtp(real-time transport protocol,实时协议传输)封包后,采用udp(user datagram protocol,用户数据报协议)发送方式发送到所述云端服务器。
15.根据本发明的一个实施例,上述的实时通信的方法还包括:采用udp接收方式接收所述云端服务器发送的第二混流数据包;对所述第二混流数据包进行rtp解包后再进行解码及丢包补偿处理,获得第三有效码流信息;根据所述第三有效码流信息进行音视频播放。
16.根据本发明的一个实施例,在获得第三有效码流信息之后,还包括:接收所述第一电子设备发送的数据请求,并根据所述数据请求将所述第三有效码流信息发送给所述第一电子设备进行音视频播放。
17.为达到上述目的,本发明第二方面实施例提出了一种实时通信方法,包括:获取音视频输入信息,并对所述音视频输入信息进行有效判定,获得第一有效码流信息;将所述第一有效码流信息发送给第二电子设备,以便所述第二电子设备将所述第一有效码流信息和第二有效码流信息进行混流处理后发送到云端服务器,其中,所述第二有效码流信息由所述第二电子设备通过对自身获取的音视频输入信息进行有效判定获得。
18.根据本发明实施例的实时通信方法,首先获取音视频输入信息,并对音视频输入信息进行有效判定,获得第一有效码流信息;然后将第一有效码流信息发送给第二电子设备,以便第二电子设备将第一有效码流信息和第二有效码流信息进行混流处理后发送到云端服务器,其中,第二有效码流信息由第二电子设备通过对自身获取的音视频输入信息进行有效判定获得,由此,该方法能够先将无效音视频输入滤除,并将所有的有效音视频输入在主控终端进行混流后传输至云端服务器,可以降低混流压力,减少经过网络传输的数据量,减轻网络负载量,改善网络质量。
19.另外,根据本发明上述实施例的实时通信方法,还可以具有如下的附加技术特征:
20.根据本发明的一个实施例,对所述音视频输入信息进行有效判定,获得第一有效码流信息,包括:对所述音视频输入信息进行语音存在判定;在所述音视频输入信息中存在有效语音时,将所述有效语音转换成文字信息,并将所述有效语音和所述文字信息作为所述第一有效码流信息。
21.根据本发明的一个实施例,在对所述音视频输入信息进行有效判定之前,还包括:
接收所述第二电子设备发送的音频判决信号;确定所述音频判决信号和所述音视频输入信息中的音频输入信号之间的信号相似度。
22.根据本发明的一个实施例,在所述信号相似度满足预设条件时,对所述音视频输入信息进行有效判定;在所述信号相似度未满足预设条件时,丢弃所述音视频输入信息。
23.根据本发明的一个实施例,在所述第二电子设备从所述云端服务器接收到第三有效码流信息时,还包括:向所述第二电子设备发送数据请求,以便接收所述第二电子设备根据所述数据请求发送的第三有效码流信息;根据所述第三有效码流信息进行音视频播放。
24.为达到上述目的,本发明第三方面实施例提出了一种计算机可读存储介质,其上存储有终端设备的实时通信程序,该终端设备的实时通信程序被处理器执行时实现上述的实时通信方法。
25.本发明实施例的计算机可读存储介质,通过执行上述的实时通信方法,可以降低混流压力,减少经过网络传输的数据量,减轻网络负载量,改善网络质量。
26.为达到上述目的,本发明第四方面实施例提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的实时通信程序,所述处理器执行所述实时通信程序时,实现上述的实时通信方法。
27.本发明的电子设备,通过上述的实时通信方法,可以降低混流压力,减少经过网络传输的数据量,减轻网络负载量,改善网络质量。
28.本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
29.图1为根据本发明第一实施例的实时通信方法的流程图;
30.图2为根据本发明一个实施例的实时通信方法的工作流程示意图;
31.图3为根据本发明第二实施例的实时通信方法的流程图。
具体实施方式
32.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
33.下面参考附图描述本发明实施例提出的实时通信方法、计算机可读存储介质和电子设备。
34.在本发明中,终端设备分为主控终端和多个辅助终端,对于主控终端而言,由于主控终端需要进行更多的运算,占用更多的cpu(central processing unit,中央处理器),消耗更多的电量,因此,在选择主控终端时可以依据每个终端与路由网关的信号强度、每个终端的性能、负载情况、是否连接电源等信息综合选择一个合适的终端作为主控终端;在用户了解每个终端的性能的情况下,也可以由用户手动选择主控终端。对于辅助终端而言,是对主控终端通信的补充,每个辅助终端在将麦克风输入信号进行基本信号处理后,判断是否为有效声音输入,如果是,则输出处理后的声音和文字信号,主控终端用于将所有的所有辅助终端发送的有效声音和文字信号进行混流,并传输到云端服务器。由于先对辅助终端的
输入信号进行了处理,当为无效信息时,不再将其发送至主控终端,所以主控终端混流的压力较小。同时主控终端接收到远端发送过来的语音和文字信号,在主控终端处进行解码播放显示,同时将文字和声音信号视辅助终端请求情况,发送至相应辅助终端。下面分别介绍主控终端侧和辅助终端侧的实现过程。
35.图1为根据本发明第一个实施例的实时通信方法的流程图。
36.如图1所示,本发明实施例的实时通信方法可包括以下步骤:
37.s1,获取音视频输入信息,并接收第一电子设备发送的第一有效码流信息。
38.s2,对音视频输入信息进行有效判定,获得第二有效码流信息。
39.s3,将第一有效码流信息和第二有效码流信息进行混流处理,获得第一混流数据,并将第一混流数据发送到云端服务器。
40.根据本发明的一个实施例,对音视频输入信息进行有效判定,获得第二有效码流信息,包括:对音视频输入信息进行语音存在判定;在音视频输入信息中存在有效语音时,将有效语音转换成文字信息,并将有效语音和文字信息作为第二有效码流信息。
41.具体而言,多个辅助终端先通过麦克风接收音视频输入信息,并对音视频输入信息进行判断,确定该输入音频输入信息是否为有效信息,例如,可通过判断语音信息确定是否为有效信息(如,与会议内容相关),在确定输入音频信息为有效信息(第一有效码流信息)时,发送至主控终端。可以理解的是,如果输入音频信息为无效信息,还可以发送空包(第一有效码流信息)至主控终端。
42.在音频信号输入后,主控终端先进行前端信号处理,如回声消除降噪等。然后对处理后的信号进行判决,如果判定不存在语音,则丢弃此音频输入信号;如果判定存在语音,则通过asr语音转换模块将音频转换为文字,将音频和文字作为输出(第二有效码流信息),接收所有存在有效语音输入的辅助终端信号,然后将第一有效码流信息和第二有效码流信息进行混流处理,得到混流数据(第一混流数据),并发送至云端服务器。其中,第一有效码流信息为空包时,得到的第一混流数据即为第二有效码流信息。
43.上述的第一有效码流信息还可以取决于第二有效码流信息,根据本发明的一个实施例,在接收第一电子设备发送的第一有效码流信息之前,还包括:向第一电子设备发送音频判决信号,以便第一电子设备在确定音频判决信号和自身获取的音频输入信号之间的信号相似度满足预设条件时发送第一有效码流信息。
44.具体而言,在主控终端将原始音视频输入信息(需要判断的音频)发送给各个辅助终端,用于判断辅助终端自身获取的音频输入信号和主控终端的原始音视输入信号之间的相似性,例如,可以通过直接分析实际采集到的语音,也可以通过分析故意制造的人耳无法感知的高频声音来进行相似性判决。具体地,如果两者信号幅度相近且具有很大的相似度,则认为此辅助终端与主控终端的物理距离相邻,两者之间的音频输入信号出现重复的情况,此时丢弃所有音频输入,即第一有效码流信息为空;如果两者信号幅度相差较大或者相似度较小,则认为此辅助终端和主控终端的物理距离相隔较远,此时辅助终端对音频输入信号进行数据处理,以获得第一有效码流信息,与主控终端中的第二有效码流进行混流。
45.需要说明的是,在上述实施例中,如果音频判决信号和自身获取的音频输入信号之间的信号相似度不满足预设条件时,该辅助终端可以不再发送码流信息,也可以继续发送码流信息,只不过码流信息为空包。另外,如果辅助终端人为设定为关闭麦克风,说明没
有音频和文字输入,则不需要进行上述实施例中的信号相似度比较。
46.根据本发明的一个实施例,将第一混流数据发送到云端服务器,包括:将第一混流数据进行rtp封包后,采用udp发送方式发送到云端服务器。
47.根据本发明的一个实施例,上述的实时通信方法,还包括:采用udp接收方式接收云端服务器发送的第二混流数据包;对第二混流数据包进行rtp解包后再进行解码及丢包补偿处理,获得第三有效码流信息;根据第三有效码流信息进行音视频播放。
48.根据本发明的一个实施例,在获得第三有效码流信息之后,还包括:接收第一电子设备发送的数据请求,并根据数据请求将第三有效码流信息发送给第一电子设备进行音视频播放。
49.具体而言,如图2所示,首先排除所有无效的音频文字输入流后,所有有效的音频信号和文字输入流(包括主控终端产生的音频信号和文字输入流),在多路混流模块中进行音频混流操作,在音频编码模块中进行音频编码,将文字附注相应终端号信息后进行合并,将得到的得到第一混流数据(包括音频信号和文字信号)进行rtp封包后,采用udp发送方式发送至云端服务器。
50.同时,主控终端通过udp接收方式接收云端服务器发送的语音和文字信号(第二混流数据包),经过rtp解包,neteq解码及丢包补偿等通常信号处理操作后,得到音频和文字信息(第三有效码流信息),对音频进行播放,对文字进行按需显示。同时,主控终端还根据各辅助终端(第一电子设备)的请求状况,将音频和文字信息(第三有效码流信息)发送至相应辅助终端进行播放或者显示。
51.需要说明的是,上述音频文字通信过程也可配合视频后应用于视频通信,视频根据音频判决结果进行相应传输。另外,本技术虽然只是以本地终端设备为主要情景终端作说明,实际情况下,部分终端也可以扩展成广义意义上的终端设备,例如对于采用分级服务器交互音视频码流或者多级局域网路由的情况,部分靠近最终用户终端的上层网关服务或者基层服务器也可以看作是一个终端,承担本技术主控终端或辅助终端的工作,只要其采用与本专利所述技术类似的方法,则属于本专利保护的范围。
52.综上所述,根据本发明实施例的实时通信方法,首先获取音视频输入信息,并接收第一电子设备发送的第一有效码流信息,然后对音视频输入信息进行有效判定,获得第二有效码流信息,最后将第一有效码流信息和第二有效码流信息进行混流处理,获得第一混流数据,并将第一混流数据发送到云端服务器。由此,该方法能够先将无效音视频输入滤除,并将所有的有效音视频输入在主控终端进行混流后传输至云端服务器,可以降低混流压力,减少经过网络传输的数据量,减轻网络负载量,改善网络质量。
53.下述实施例为辅助终端侧的实时通信方法。
54.图3为根据本发明第二个实施例的实时通信方法的流程图。
55.如图3所示,本发明实施例的实时通信方法,可包括以下步骤:
56.s11,获取音视频输入信息,并对音视频输入信息进行有效判定,获得第一有效码流信息。
57.s12,将第一有效码流信息发送给第二电子设备,以便第二电子设备将第一有效码流信息和第二有效码流信息进行混流处理后发送到云端服务器,其中,第二有效码流信息由第二电子设备通过对自身获取的音视频输入信息进行有效判定获得。
58.根据本发明的一个实施例,对音视频输入信息进行有效判定,获得第一有效码流信息,包括:对音视频输入信息进行语音存在判定;在音视频输入信息中存在有效语音时,将有效语音转换成文字信息,并将有效语音和文字信息作为第一有效码流信息。
59.根据本发明的一个实施例,在对音视频输入信息进行有效判定之前,还包括:接收第二电子设备发送的音频判决信号;确定音频判决信号和音视频输入信息中的音频输入信号之间的信号相似度。
60.根据本发明的一个实施例,在信号相似度满足预设条件时,对音视频输入信息进行有效判定;在信号相似度未满足预设条件时,丢弃音视频输入信息。
61.根据本发明的一个实施例,在第二电子设备从云端服务器接收到第三有效码流信息时,还包括:向第二电子设备发送数据请求,以便接收第二电子设备根据数据请求发送的第三有效码流信息;根据第三有效码流信息进行音视频播放。
62.具体而言,主控终端作为第二电子设备。在音频信号输入后,辅助终端先进行前端信号处理,如回声消除降噪等。然后对处理后的信号进行判决,如果判定不存在语音,则丢弃此音频输入信号;如果判定存在语音,则通过asr语音转换模块将音频转换为文字,将音频和文字作为第一有效码流信息。主控制终端对输入的音视频输入信息进行处理,和辅助终端对音频信号处理的方式相同,得到第二有效码流信息。
63.辅助终端在发送第一有效码流信息之前,还根据主控终端发送的原始音视频输入信息(需要判断的音频)与辅助终端自身的音频输入信号进行判断,获取两个信号之间的相似性。例如,可以通过直接分析实际采集到的语音,也可以通过分析故意制造的人耳无法感知的高频声音来进行相似性判决。具体地,如果两者信号幅度相近且具有很大的相似度,则认为此辅助终端与主控终端的物理距离相邻,两者之间的音频输入信号出现重复的情况,此时丢弃所有音频输入,即第一有效码流信息为空,或者不将第一有效码流信息发送给第二电子设备;如果两者信号幅度相差较大或者相似度较小,则认为此辅助终端和主控终端的物理距离相隔较远,此时辅助终端对音频输入信号进行数据处理,以获得第一有效码流信息,并发送至主控终端,以便主控终端将第一有效码流和第二有效码流进行混流,并通过rtp封包处理,采用udp发送方式发送至云端服务器。
64.同时,主控终端通过udp接收方式接收云端服务器发送的语音和文字信号(第三有效码流信息),经过rtp解包,neteq解码及丢包补偿等通常信号处理操作后,得到音频和文字信息(第三有效码流信息),对音频进行播放,对文字进行按需显示。如果各辅助终端向主控终端(第二电子设备)发送数据请求时,主控终端根据请求状况,将音频和文字信息(第三有效码流信息)发送至相应辅助终端,辅助终端根据第三有效码流信息进行播放或者显示。
65.需要说明的是,本发明第二实施例的实时通信方法中未披露的细节,请参照本发明第一实施例的实时通信方法中所披露的细节,具体这里不再赘述。
66.根据本发明实施例的实时通信方法,首先获取音视频输入信息,并对音视频输入信息进行有效判定,获得第一有效码流信息;然后将第一有效码流信息发送给第二电子设备,以便第二电子设备将第一有效码流信息和第二有效码流信息进行混流处理后发送到云端服务器,其中,第二有效码流信息由第二电子设备通过对自身获取的音视频输入信息进行有效判定获得,由此,该方法能够先将无效音视频输入滤除,并将所有的有效音视频输入在主控终端进行混流后传输至云端服务器,可以降低混流压力,减少经过网络传输的数据
量,减轻网络负载量,改善网络质量。
67.对应上述实施例,本发明还提出了一种计算机可读存储介质,其上存储有终端设备的实时通信程序,该终端设备的实时通信程序被处理器执行时实现上述的实时通信方法。
68.本发明实施例的计算机可读存储介质,通过执行上述的实时通信方法,可以降低混流压力,减少经过网络传输的数据量,减轻网络负载量,改善网络质量。
69.对应上述实施例,本发明还提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的实时通信程序,处理器执行所述实时通信程序时,实现上述的实时通信方法。
70.本发明的电子设备,通过上述的实时通信方法,可以降低混流压力,减少经过网络传输的数据量,减轻网络负载量,改善网络质量。
71.需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
72.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
73.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
74.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
75.在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
76.尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。