CN111049792B - 音频传输方法、装置、终端设备和存储介质 - Google Patents

音频传输方法、装置、终端设备和存储介质 Download PDF

Info

Publication number
CN111049792B
CN111049792B CN201910950952.2A CN201910950952A CN111049792B CN 111049792 B CN111049792 B CN 111049792B CN 201910950952 A CN201910950952 A CN 201910950952A CN 111049792 B CN111049792 B CN 111049792B
Authority
CN
China
Prior art keywords
audio data
data stream
target audio
different
data streams
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
CN201910950952.2A
Other languages
English (en)
Other versions
CN111049792A (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.)
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Guangzhou Shizhen Information Technology Co Ltd
Original Assignee
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Guangzhou Shizhen Information 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 Guangzhou Shiyuan Electronics Thecnology Co Ltd, Guangzhou Shizhen Information Technology Co Ltd filed Critical Guangzhou Shiyuan Electronics Thecnology Co Ltd
Priority to CN201910950952.2A priority Critical patent/CN111049792B/zh
Publication of CN111049792A publication Critical patent/CN111049792A/zh
Application granted granted Critical
Publication of CN111049792B publication Critical patent/CN111049792B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种音频传输方法、装置、终端设备和存储介质。该方法包括:接收多个客户端发送的音频数据流;从所述音频数据流中按预设规则筛选出至少一路音频数据流作为目标音频数据流;将所述目标音频数据流中的数据包添加到不同的转发音频数据流,所述转发音频数据流分配有静态且不同的转发信源标识符,每路转发音频数据流的数据包的序列号连续;向所述客户端发送所述转发音频数据流。在多端远程会议过程中,服务器将所有需要转发的音频数据标识为几路固定的信源,并各自以连续的序列号进行发送,减少了音频数据转发过程中信源管理的复杂度,所有数据包以连续的序列号发送也能减少信源切换带来的序列号中断,减少了不必要的抗丢包处理。

Description

音频传输方法、装置、终端设备和存储介质
技术领域
本发明实施例涉及网络数据传输技术领域,尤其涉及音频传输方法、装置、终端设备和存储介质。
背景技术
在多方(超过三方)远程语音交互的场景下,每方对应一个客户端,如果同时存在多个客户端说话,由于人的注意力有限,不能注意到所有客户端说话的内容,因此服务器不会将该交互场景中的每个客户端的声音都转发给其他客户端,而是选择音量最大的多个客户端的声音进行转发,被选中的多个客户端被称为active audio。
服务器在处理多方语音交互场景下的音频转发时通常用ssrc来区分每个客户端发出来的音频流。具体来说,每个客户端给服务器端发送音频流时,都会有一个唯一的ssrc与之对应,用来区分不同的音频流。此外,由于音频包都是以udp包格式发送,为了使接收端能够得知是否出现丢包,每个音频流都会携带一个连续且不断增加的序列号,接收端根据收到包是否连续,即可以判断是否出现了丢包,如果出现了丢包,就会进行相应的抗丢包处理。
但是在一场多方语音交互活动的实施过程中,active audio很可能会发生多次变化,服务器适应这种变化带来的ssrc适应性切换,以及接收端面对这种变化带来的序列号中断而采用的抗丢包处理,都会导致服务器的带宽和计算资源的额外占用,影响音频传输质量和处理效率。
发明内容
本发明提供了一种音频传输方法、装置、终端设备和存储介质,以解决现有技术多方远程语音交互进行音频传输时,服务器资源额外占用而降低传输指令和处理效率的技术问题。
第一方面,本发明实施例提供了一种音频传输方法,包括:
接收多个客户端发送的音频数据流;
从所述音频数据流中按预设规则筛选出至少一路音频数据流作为目标音频数据流;
将所述目标音频数据流中的数据包添加到不同的转发音频数据流,所述转发音频数据流分配有静态且不同的转发信源标识符,每路转发音频数据流的数据包的序列号连续;
向所述客户端发送所述转发音频数据流。
其中,不同客户端发送的音频数据流分配有不同的同步信源标识符;
所述将所述目标音频数据流中的数据包添加到不同的转发音频数据流,包括:
将所述目标音频数据流中不同的同步信源标识符替换为不同的转发信源标识符;
将所述目标音频数据流中的数据包的序列号替换为对应的转发音频数据流中连续的序列号。
其中,所述将所述目标音频数据流中不同的同步信源标识符替换为不同的转发信源标识符,包括:
根据所述同步信源标识符判断所述目标音频数据流是否连续筛选为目标音频数据流;
若是,将所述目标音频数据流中的同步信源标识符替换为与前一次相同的转发信源标识符;
否则,将所述目标音频数据流中的同步信源标识符随机替换为未使用的转发信源标识符。
其中,所述接收多个客户端发送的音频数据流之前,还包括:
检测到有客户端接入时,为所述客户端分配同步信源标识符。
其中,所述转发音频数据流的起始序列号不同。
其中,所述方法还包括:
通过预设的设备信息信道接收和发送所述音频数据流的客户端信息。
第二方面,本发明实施例还提供了一种音频传输装置,包括:
数据接收单元,用于接收多个客户端发送的音频数据流;
数据筛选单元,用于从所述音频数据流中按预设规则筛选出至少一路音频数据流作为目标音频数据流;
数据处理单元,用于将所述目标音频数据流中的数据包添加到不同的转发音频数据流,所述转发音频数据流分配有静态且不同的转发信源标识符,每路转发音频数据流的数据包的序列号连续;
数据转发单元,用于向所述客户端发送所述转发音频数据流。
其中,不同客户端发送的音频数据流分配有不同的同步信源标识符;
所述数据处理单元,包括:
标识符替换模块,用于将所述目标音频数据流中不同的同步信源标识符替换为不同的转发信源标识符;
序列号替换模块,用于将所述目标音频数据流中的数据包的序列号替换为对应的转发音频数据流中连续的序列号。
其中,所述标识符替换模块,包括:
类型判断子模块,用于根据所述同步信源标识符判断所述目标音频数据流是否连续筛选为目标音频数据流;
第一替换子模块,用于若所述目标音频数据流是连续筛选为目标音频数据流,将所述目标音频数据流中的同步信源标识符替换为与前一次相同的转发信源标识符;
第二替换子模块,用于若所述目标音频数据流不是连续筛选为目标音频数据流,将所述目标音频数据流中的同步信源标识符随机替换为未使用的转发信源标识符。
其中,所述装置,还包括:
标识符分配单元,用于检测到有客户端接入时,为所述客户端分配同步信源标识符。
其中,所述转发音频数据流的起始序列号不同。
其中,所述装置,还包括:
信息收发单元,通过预设的设备信息信道接收和发送所述音频数据流的客户端信息。
第三方面,本发明实施例还提供一种终端设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面任一所述的音频传输方法。
第四方面,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面任一所述的音频传输方法。
上述音频传输方法、装置、终端设备和存储介质,通过接收多个客户端发送的音频数据流;从所述音频数据流中按预设规则筛选出至少一路音频数据流作为目标音频数据流;将所述目标音频数据流中的数据包添加到不同的转发音频数据流,所述转发音频数据流分配有静态且不同的转发信源标识符,每路转发音频数据流的数据包的序列号连续;向所述客户端发送所述转发音频数据流。在多端远程会议过程中,服务器将所有需要转发的音频数据标识为几路固定的信源,并各自以连续的序列号进行发送,减少了音频数据转发过程中信源管理的复杂度,所有数据包以连续的序列号发送也能减少信源切换带来的序列号中断,减少了不必要的抗丢包处理。此外,转发时信源标识的连续性判断,源端标识与转发标识的对应关系变动最小,减少数据处理的复杂度。转发音频数据流的起始序列号不同,也有助于区分同时收到的多个数据包的来源,提高抗丢包判断的准确性。
附图说明
图1为本发明实施例一提供的一种音频传输方法的流程图;
图2为现有音频数据流转发的示意图;
图3为抗丢包处理的示意图;
图4为本发明实施例一提供的一种音频传输方法的信源标识符转换的示意图;
图5为本发明实施例二提供的一种音频传输方法的流程图;
图6为本发明实施例二提供的一种音频传输方法的信源标识符转换的示意图;
图7为本发明实施例三提供的一种音频传输装置的结构示意图;
图8为本发明实施例四提供的一种终端设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
需要注意的是,由于篇幅所限,本申请说明书没有穷举所有可选的实施方式,本领域技术人员在阅读本申请说明书后,应该能够想到,只要技术特征不互相矛盾,那么技术特征的任意组合均可以构成可选的实施方式。
例如,在实施例一的一个实施方式中,记载了一个技术特征:通过声音能量强度和客户端权限进行音频数据流的筛选,在实施例一的另一个实施方式中,记载了另一个技术特征:目标音频数据流筛选出3路。由于以上两个技术特征不互相矛盾,本领域技术人员在阅读本申请说明书后,应该能够想到,同时具有这两个特征的实施方式也是一种可选的实施方式,即根据能量强度和客户端权限筛选出3路目标音频数据流。
记载在不同实施例中的不互相矛盾的技术特征也可以任意组合,构成可选的实施方式。
例如,实施例二中记载了:转发音频数据流的起始序列号不同。为了控制本申请说明书的篇幅,在实施例一中,并没有记载这个特征。但是本领域技术人员在阅读本申请说明书后,应该能够想到,实施例一所提供的音频传输方法也可以包括该特征。
下面对各实施例进行详细说明。
实施例一
图1为本发明实施例一提供的一种音频传输方法的流程图。实施例中提供的音频传输方法可以由音频传输设备执行,该音频传输设备可以通过软件和/或硬件的方式实现,该音频传输设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。例如,音频传输设备可以是手机、工业控制计算机等。
在多客户端的远程会议过程中,所有与会的客户端接入到服务器,在会议过程中,客户端的麦克风进行现场语音数据的采集并发送到服务器,服务器从接收到的多个现场语音数据中选择一路或多路语音数据发送到所有客户端,并在所有的客户端进行播放,也就是说,对于不需要在其它客户端进行播放的语音数据,直接不予播放,从而实现多客户端的远程会议过程中,尽可能全面和有效的语音数据转发,本方案提供的是语音数据转发过程中的详细数据处理机制,以提高服务器在进行语音数据转发时的处理效率,简化不必要的数据处理过程。
在多客户端的远程会议过程中,对于某个客户端与服务器之间的音频传输,一般通过RTP(Real-time Transport Protocol,实时传输协议)实现。在多客户端的应用场景下,每个客户端通过同步信源(Synchronization source,SSRC)标识符进行区分标识;对于某个具体的客户端,RTP实行有序传送,RTP中的序列号允许接收方重组发送方的包序列,同时序列号也能用于决定适当的包位置。
具体的,参考图1,该音频传输方法具体包括:
步骤S101:接收多个客户端发送的音频数据流。
在远程会议过程中,每个客户端只要麦克风正常工作,就会不断生成音频数据流,并把音频数据流发送到服务器,对应的,服务器在远程会议过程中持续接收当前连接的所有客户端发送的音频数据流,服务器对于接收到的每一路音频数据流,能获得其基本信息,例如音频数据流的来源,各个数据包的序列号等,根据音频数据流的各种基本信息,服务器完成远程会议过程中的音频数据流的传输调度。
步骤S102:从所述音频数据流中按预设规则筛选出至少一路音频数据流作为目标音频数据流。
从所有音频数据流中筛选出需要向所有客户端传输的音频数据流,具体的筛选过程可以有多个指标作为筛选参考。例如以声音的能量强度作为参考,筛选能量强度最大的三路音频数据流作为目标音频数据流;也可以进一步结合各个客户端的权限,例如某个客户端作为会议的发起终端,具有会议的主持角色,该客户端生成的音频数据流中携带的语音很可能用于会议过程控制,因此该客户端具备最高权限,只要声音的能量强度达到语音存在的最低门限值,该路音频数据流即确认为目标音频数据流;此外,还可以进一步统计每路音频数据流中声音能量强度达到语音存在的最低门限值的时长状态,如果只是在较短时长内(例如1秒、2秒)达到语音存在的最低门限值,则该路音频数据流则暂不筛选为目标音频数据流。
通常来说,目标音频数据流不会筛选出太多路,一般在5路以内,例如3路。如果筛选出太多,同时发声的客户端太多太杂,对会议过程中有效信息的传递干扰很大,如果筛选出太少,可能会漏掉重要的有效信息。当然,细节的筛选策略可以根据具体参与会议的客户端规模进行常规性的调整,例如总共有4个客户端接入一场会议,那么肯定不能筛选出5路备用音频数据流,可以考虑筛选出3路备用音频数据流,或者将所有客户端发送的音频数据流都固定为备用音频数据流。本方案中,参与会议的客户端规模越大,数据传输的效果越明显。在本实施例中,为描述方便,提供了6个客户端,并限定从中筛选出3路备用音频数据流。此外,应当理解目标音频数据流是一个持续筛选不断更新的过程,即每次生成的目标音频数据流可能来自不同的客户端,并且每段目标音频数据流的持续时长也可能不固定,具体的筛选过程通过周期判断实现,或者对各种指标状态进行累计等,与现有的筛选过程控制相同,在此不做过多阐述。
步骤S103:将所述目标音频数据流中的数据包添加到不同的转发音频数据流。
在本方案中,将服务器向客户端转发音频数据流的过程拆分为两个独立的音频传输过程,即服务器从客户端接收音频数据流的过程和服务器向客户端发送音频数据流(为区别于服务器从客户端接收的音频数据流,服务器向客户端发送的音频数据流定义为转发音频数据流,对应的信源标识符分别定义为同步信源标识符和转发信源标识符)的过程,服务器从客户端接收的音频数据流具有标识静态和序列号连续的特征,服务器向客户端发送转发音频数据流同样具有标识静态和序列号连续的特征。当然,每路转发音频数据流的标识符互不相同。每次筛选出的目标音频数据流并不是直接发送到客户端,而是会将目标音频数据流中的数据包的传输信息做调整之后进行发送,这一调整过程最终使得这些数据包发送时,与服务器之前发送的转发音频数据流中的一路具备相同的转发信源标识符,以及接续之前发送的数据包的序列号形成的连续序列号。整体而言,服务器最终向客户端发送的转发音频数据流分配有静态且不同的转发信源标识符,每路转发音频数据流的数据包的序列号连续。
步骤S104:向所述客户端发送所述转发音频数据流。
在多方远程语音会议过程中,服务器一般都会持续筛选出目标音频数据流,对应的,转发音频数据流的发送也是持续的过程,当有目标音频数据流中的数据包添加到转发音频数据流,即按序列号进行发送。
可以通过图2、图3和图4,对比详细阐述在现有技术和本方案中,从6个客户端发送的6路音频数据流中筛选出3路音频数据流进行音频传输的具体过程。首先请参考图2,6个客户端分别标记为101、102、103、104、105和106,其发送的音频数据流对应的同步信源标识符分别为ssrc1、ssrc2、ssrc3、ssrc4、ssrc5和ssrc6,对于每个客户端而言,如图2中实线箭头所示,麦克风采集到的音频数据流都会发送到服务器20。服务器20按预设规则从接收到的6路音频数据流中,筛选出3路音频数据流(ssrc1、ssrc2和ssrc3)作为目标音频数据流。
按现有的音频传输方案,如图2中虚线箭头所示,直接将ssrc1、ssrc2和ssrc3发送到各个客户端,当然,如果其中某个客户端是3路目标音频数据流中某一路的信源,不会将对应的目标音频数据流发送回去,例如向客户端101发送的目标音频数据流只有ssrc2和ssrc3。
在本方案中,不是直接将3路目标音频数据流发送到客户端,如图4所示,服务器20配置有3路转发音频数据流固定用于向客户端发送筛选出的音频数据,3路专用于向外发送音频数据的转发音频数据流分配有静态且不同的转发信源标识符(outputssrc1、outputssrc2和outputssrc3),对于目标音频数据流ssrc1、ssrc2和ssrc3,各自分配到一路转发音频数据流,对于每路目标音频数据流,只按接收时的序列号读取数据包,然后将读取到的数据包按原有顺序添加到对应的转发音频数据流,并接续上转发音频数据流的序列号,最终实现服务器20通过固定的数据流向客户端发送连续的数据包。
在两个设备间的数据传输过程中,为保证数据传输的完整性,接收端通常会有基于序列号的抗丢包判断以及后续请求过程。如图3所示,客户端10向服务器20发送10个数据包,序列号为1-10,这10个数据包在传输过程中,可以发生丢失,最终达到服务器20的只有1、2、3、7、8、9、10共7个数据包,服务器20根据序列号的连续状态会向客户端10要求重新发送4、5、6共3个数据包。在远程会议过程中,筛选出的目标音频数据流随时可能发生变化,也就是说有可能某个时段ssrc1筛选为目标音频数据流,下一时段ssrc1没有筛选为目标音频数据流,再下一时段ssrc1筛选为目标音频数据流,如果按图2所示的处理方式,同一个同步信源标识符会有多段目标音频数据流转发到其他客户端并且中间存在序列号的正常跳跃,但是对于接收到这些目标音频数据流的客户端来说,序列号的正常跳跃很可能会判断为丢包,进而进行不必要的抗丢包处理。采用本方案中的处理方式,能够保证通过几个固定的转发信源标识符向客户端发送序列号连续的数据,如果客户端发现序列号的跳跃,则必然是因为数据包的丢失,保证进行的每一次抗丢包处理都是因为数据包的丢失而进行的必要处理。
上述,通过接收多个客户端发送的音频数据流;从所述音频数据流中按预设规则筛选出至少一路音频数据流作为目标音频数据流;将所述目标音频数据流中的数据包添加到不同的转发音频数据流,所述转发音频数据流分配有静态且不同的转发信源标识符,每路转发音频数据流的数据包的序列号连续;向所述客户端发送所述转发音频数据流。在多端远程会议过程中,服务器将所有需要转发的音频数据标识为几路固定的信源,并各自以连续的序列号进行发送,减少了音频数据转发过程中信源管理的复杂度,所有数据包以连续的序列号发送也能减少信源切换带来的序列号中断,减少了不必要的抗丢包处理。
实施例二
图5为本发明实施例二提供的一种音频传输方法的流程图。本实施例是在上述实施例的基础上进行具体化。
具体的,参考图5,本实施例提供的音频传输方法具体包括:
步骤S201:检测到有客户端接入时,为所述客户端分配同步信源标识符。
当客户端接入服务器时,服务器根据设定的分配规则或者从预设的多个同步信源标识符中,为客户端分配与当前接入同一会议的其他客户端不同的同步信源标识符。客户端向服务器发送音频数据流时,即带上该分配好的同步信源标识符,一般来说,从客户端接入服务器到断开期间,客户端的同步信源标识固定不变。
步骤S202:接收多个客户端发送的音频数据流。
步骤S203:通过预设的设备信息信道接收所述音频数据流的客户端信息。
整个会议过程中的数据传输并不是通过一个数据通道完成,例如音频数据流通过RTP实现,对于客户端的其它无需实时传输的信息,例如客户端的用户账号信息、当前麦克风的开启状态信息等,则可以通过预设的设备信息信号传输,至需要在这类信息有变化时将新的信息发送到服务器即可,不要求采用实时传输完成。
步骤S204:从所述音频数据流中按预设规则筛选出至少一路音频数据流作为目标音频数据流。
步骤S205:将所述目标音频数据流中不同的同步信源标识符替换为不同的转发信源标识符。
目标音频数据流中的数据包添加到转发音频数据流的过程,也可以视为对目标音频数据流中的数据包进行重新封装的过程,该重新封装的过程不改变数据包中的实质性内容,主要的变化是将原有的同步信源标识符替换为预设的转发信源标识符中的一个,当前确认的目标音频数据流中,同步信源标识符不同,对应的转发信源标识符也不同。在具体的替换过程中,如果某同步信源标识符连续筛选为目标音频数据流,可以参考前一次该同步信源标识符替换的转发信源标识符,尽量使同步信源标识符与转发信源标识符之间的对应关系变动最小,具体而言,步骤S205可以包括:
步骤S2051、根据所述同步信源标识符判断所述目标音频数据流是否连续筛选为目标音频数据流。
步骤S2052、若是,将所述目标音频数据流中的同步信源标识符替换为与前一次相同的转发信源标识符。
步骤S2053、否则,将所述目标音频数据流中的同步信源标识符随机替换为未使用的转发信源标识符。
以上步骤相当于在进行标识符替换的过程中,先判断当前所有同步信源标识符是否是连续筛选为目标音频数据流,如果是,则说明该同步信源标识符在上一次筛选中已经确认有对应的转发信源标识符,此时直接替换为之前的转发信源标识符,如果不是,则说明该同步信源标识符在上一次筛选中没有被选为目标音频数据流,直接为其随机分配其它未使用的转发信源标识符即可。
具体请结合参考图4和图6,如图4所示,在上一次筛选过程,服务器20从6路音频数据流中筛选出ssrc1、ssrc2和ssrc3作为目标音频数据流,并分别分配转发信源标识符outputssrc1、outputssrc2和outputssrc3。如图6所示,在下一次筛选过程,服务器20从6路音频数据流中筛选出ssrc3、ssrc4和ssrc2作为目标音频数据流,根据步骤S2051-步骤S2053的处理过程,ssrc3和ssrc1在上一次筛选中也是目标音频数据流,因此替换为原有的转发信源标识符(分别为outputssrc3和outputssrc1),ssrc4从剩下的转发信源标识符中随机替换(仅剩下outputssrc1)。
步骤S206:将所述目标音频数据流中的数据包的序列号替换为对应的转发音频数据流中连续的序列号。
在具体的处理过程中,所述转发音频数据流的起始序列号不同。例如outputssrc1、outputssrc3和outputssrc3的起始序列号分别是1、5000和10000,这种设计方式能够从序列号形成客户端在同一时刻收到的数据包之间的差异,提高数据处理效率。具体的序列号替换,例如outputssrc1序列号已经排序到999,接下来的两次筛选分别筛选出两段目标音频数据流(ssrc1:1、2、3、4和ssrc2:500、501、502和503),那么outputssrc新确认的数据包的序列号应该为:1000、1001、1002、1003(对应ssrc1中的1、2、3、4共4个数据包)、1004、1005、1006、1007(对应ssrc2中的500、501、502、503共4个数据包)。
最终,通过步骤S205和步骤S206中的替换,音频数据流在转发时能够形成相对稳定的数据参数,即所述转发音频数据流分配有静态且不同的转发信源标识符,每路转发音频数据流的数据包的序列号连续。
在客户端的数量较多时,服务器不用对应每个客户端均维护转发信源标识符,例如有20个客户端,按现有技术需要维护20个转发信源标识符,并且会对应产生大量的抗丢包处理;采用本实施例中方案,只需要维护3个转发信源标识符,并且能避免不必要的抗丢包处理。
步骤S207:向所述客户端发送所述转发音频数据流。
步骤S208:通过预设的设备信息信道发送所述音频数据流的客户端信息。
为进一步提高音频数据在客户端的播放效果,服务器会通过预设设备信息通道发送音频数据流的客户端信息,例如当前发送的音频数据流是哪些设备,哪个设备的声音能量最强,客户端可以通过这些客户端信息突出显示该设备对应的视频画面或用户标识等。具体的界面呈现在现有技术多有实现,在此不做过多阐述。
上述,转发时信源标识的连续性判断,源端标识与转发标识的对应关系变动最小,减少数据处理的复杂度。转发音频数据流的起始序列号不同,也有助于区分同时收到的多个数据包的来源,提高抗丢包判断的准确性。
实施例三
图7为本发明实施例三提供的一种音频传输装置的结构示意图。参考图7,该音频传输装置包括:数据接收单元301、数据筛选单元302、数据处理单元303和数据转发单元304。
其中,数据接收单元301,用于接收多个客户端发送的音频数据流;数据筛选单元302,用于从所述音频数据流中按预设规则筛选出至少一路音频数据流作为目标音频数据流;数据处理单元303,用于将所述目标音频数据流中的数据包添加到不同的转发音频数据流,所述转发音频数据流分配有静态且不同的转发信源标识符,每路转发音频数据流的数据包的序列号连续;数据转发单元304,用于向所述客户端发送所述转发音频数据流。
在上述实施例的基础上,不同客户端发送的音频数据流分配有不同的同步信源标识符;
所述数据处理单元303,包括:
标识符替换模块,用于将所述目标音频数据流中不同的同步信源标识符替换为不同的转发信源标识符;
序列号替换模块,用于将所述目标音频数据流中的数据包的序列号替换为对应的转发音频数据流中连续的序列号。
在上述实施例的基础上,所述标识符替换模块,包括:
类型判断子模块,用于根据所述同步信源标识符判断所述目标音频数据流是否连续筛选为目标音频数据流;
第一替换子模块,用于若所述目标音频数据流是连续筛选为目标音频数据流,将所述目标音频数据流中的同步信源标识符替换为与前一次相同的转发信源标识符;
第二替换子模块,用于若所述目标音频数据流不是连续筛选为目标音频数据流,将所述目标音频数据流中的同步信源标识符随机替换为未使用的转发信源标识符。
在上述实施例的基础上,所述装置,还包括:
标识符分配单元,用于检测到有客户端接入时,为所述客户端分配同步信源标识符。
在上述实施例的基础上,所述转发音频数据流的起始序列号不同。
在上述实施例的基础上,所述装置,还包括:
信息收发单元,用于通过预设的设备信息信道接收和发送所述音频数据流的客户端信息。
本发明实施例提供的音频传输装置包含在音频传输设备中,且可用于执行上述实施例一和实施例二中提供的任一音频传输方法,具备相应的功能和有益效果。
实施例四
图8为本发明实施例四提供的一种终端设备的结构示意图,该终端设备是前文所述音频传输设备的一种具体的硬件呈现方案。如图8所示,该终端设备包括处理器410、存储器420、输入装置430、输出装置440以及通信装置450;终端设备中处理器410的数量可以是一个或多个,图8中以一个处理器410为例;终端设备中的处理器410、存储器420、输入装置430、输出装置440以及通信装置450可以通过总线或其他方式连接,图8中以通过总线连接为例。
存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的音频传输方法对应的程序指令/模块(例如,音频传输装置中的数据接收单元301、数据筛选单元302、数据处理单元303和数据转发单元304)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行终端设备的各种功能应用以及数据处理,即实现上述的音频传输方法。
存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字或字符信息,以及产生与终端设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。
上述终端设备包含音频传输装置,可以用于执行任意音频传输方法,具备相应的功能和有益效果。
实施例五
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本申请任意实施例中提供的音频传输方法中的相关操作,且具备相应的功能和有益效果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。
因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (11)

1.一种音频传输方法,其特征在于,包括:
接收多个客户端发送的音频数据流;
从所述音频数据流中按预设规则筛选出至少一路音频数据流作为目标音频数据流;
将所述目标音频数据流中的数据包添加到不同的转发音频数据流,所述转发音频数据流分配有静态且不同的转发信源标识符,每路转发音频数据流的数据包的序列号连续;
向所述客户端发送所述转发音频数据流。
2.根据权利要求1所述的方法,其特征在于,不同客户端发送的音频数据流分配有不同的同步信源标识符;
所述将所述目标音频数据流中的数据包添加到不同的转发音频数据流,包括:
将所述目标音频数据流中不同的同步信源标识符替换为不同的转发信源标识符;
将所述目标音频数据流中的数据包的序列号替换为对应的转发音频数据流中连续的序列号。
3.根据权利要求2所述的方法,其特征在于,所述将所述目标音频数据流中不同的同步信源标识符替换为不同的转发信源标识符,包括:
根据所述同步信源标识符判断所述目标音频数据流是否连续筛选为目标音频数据流;
若是,将所述目标音频数据流中的同步信源标识符替换为与前一次相同的转发信源标识符;
否则,将所述目标音频数据流中的同步信源标识符随机替换为未使用的转发信源标识符。
4.根据权利要求2所述的方法,其特征在于,所述接收多个客户端发送的音频数据流之前,还包括:
检测到有客户端接入时,为所述客户端分配同步信源标识符。
5.根据权利要求1所述的方法,其特征在于,所述转发音频数据流的起始序列号不同。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过预设的设备信息信道接收和发送所述音频数据流的客户端信息。
7.一种音频传输装置,其特征在于,包括:
数据接收单元,用于接收多个客户端发送的音频数据流;
数据筛选单元,用于从所述音频数据流中按预设规则筛选出至少一路音频数据流作为目标音频数据流;
数据处理单元,用于将所述目标音频数据流中的数据包添加到不同的转发音频数据流,所述转发音频数据流分配有静态且不同的转发信源标识符,每路转发音频数据流的数据包的序列号连续;
数据转发单元,用于向所述客户端发送所述转发音频数据流。
8.根据权利要求7所述的装置,其特征在于,不同客户端发送的音频数据流分配有不同的同步信源标识符;
所述数据处理单元,包括:
标识符替换模块,用于将所述目标音频数据流中不同的同步信源标识符替换为不同的转发信源标识符;
序列号替换模块,用于将所述目标音频数据流中的数据包的序列号替换为对应的转发音频数据流中连续的序列号。
9.根据权利要求8所述的装置,其特征在于,所述标识符替换模块,包括:
类型判断子模块,用于根据所述同步信源标识符判断所述目标音频数据流是否连续筛选为目标音频数据流;
第一替换子模块,用于若所述目标音频数据流是连续筛选为目标音频数据流,将所述目标音频数据流中的同步信源标识符替换为与前一次相同的转发信源标识符;
第二替换子模块,用于若所述目标音频数据流不是连续筛选为目标音频数据流,将所述目标音频数据流中的同步信源标识符随机替换为未使用的转发信源标识符。
10.一种终端设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6任一所述的音频传输方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6任一所述的音频传输方法。
CN201910950952.2A 2019-10-08 2019-10-08 音频传输方法、装置、终端设备和存储介质 Active CN111049792B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910950952.2A CN111049792B (zh) 2019-10-08 2019-10-08 音频传输方法、装置、终端设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910950952.2A CN111049792B (zh) 2019-10-08 2019-10-08 音频传输方法、装置、终端设备和存储介质

Publications (2)

Publication Number Publication Date
CN111049792A CN111049792A (zh) 2020-04-21
CN111049792B true CN111049792B (zh) 2022-03-22

Family

ID=70232234

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910950952.2A Active CN111049792B (zh) 2019-10-08 2019-10-08 音频传输方法、装置、终端设备和存储介质

Country Status (1)

Country Link
CN (1) CN111049792B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112188144B (zh) * 2020-09-14 2023-03-24 浙江华创视讯科技有限公司 音频的发送方法及装置、存储介质和电子装置
CN112203038B (zh) * 2020-10-12 2022-09-16 北京字节跳动网络技术有限公司 在线会议的处理方法、装置、电子设备及计算机存储介质
CN113450797A (zh) * 2021-06-29 2021-09-28 苏州科达科技股份有限公司 基于在线会议的音频处理方法、设备、存储介质及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101689998A (zh) * 2007-06-12 2010-03-31 微软公司 活动说话者标识
CN107846634A (zh) * 2017-10-26 2018-03-27 广州视源电子科技股份有限公司 音视频文件共享方法、装置及***、存储介质、终端设备
CN109842856A (zh) * 2017-11-29 2019-06-04 成都鼎桥通信技术有限公司 一种屏蔽上行丢包的方法和设备
CN110166185A (zh) * 2019-05-15 2019-08-23 广州视源电子科技股份有限公司 音频数据的处理方法、装置、存储介质和处理器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100040217A1 (en) * 2008-08-18 2010-02-18 Sony Ericsson Mobile Communications Ab System and method for identifying an active participant in a multiple user communication session
CN103685665A (zh) * 2012-09-11 2014-03-26 中兴通讯股份有限公司 文本内容的发送方法和装置
US9106655B2 (en) * 2013-10-09 2015-08-11 Alcatel Lucent Real-time transport protocol (RTP) source translator
CN108833825B (zh) * 2018-06-26 2020-07-31 广州视源电子科技股份有限公司 视频会议发言人终端的确定方法、装置、设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101689998A (zh) * 2007-06-12 2010-03-31 微软公司 活动说话者标识
CN107846634A (zh) * 2017-10-26 2018-03-27 广州视源电子科技股份有限公司 音视频文件共享方法、装置及***、存储介质、终端设备
CN109842856A (zh) * 2017-11-29 2019-06-04 成都鼎桥通信技术有限公司 一种屏蔽上行丢包的方法和设备
CN110166185A (zh) * 2019-05-15 2019-08-23 广州视源电子科技股份有限公司 音频数据的处理方法、装置、存储介质和处理器

Also Published As

Publication number Publication date
CN111049792A (zh) 2020-04-21

Similar Documents

Publication Publication Date Title
CN111245851B (zh) 多终端音频传输方法、装置、终端设备和存储介质
CN111049792B (zh) 音频传输方法、装置、终端设备和存储介质
US10819766B2 (en) Voice encoding and sending method and apparatus
US8644230B2 (en) Method and apparatus for providing communication over a white space channel without causing interference to digital television systems
CN105723680B (zh) 用于音频分配的方法和计算机设备
EP3080915B1 (en) Redundant encoding
CN109067578A (zh) 一种组播快速切换的方法和装置
CN110445723B (zh) 一种网络数据调度方法及边缘节点
CN109743522B (zh) 基于视联网的通信方法和装置
CN104009991A (zh) 音频通信***和方法
US10382504B2 (en) Conducting a conference call over a computer network
US10270708B2 (en) Aggregated adaptive bit rate streaming
CN110138730B (zh) 一种协议转换设备的订阅方法、装置及存储介质
KR20190015521A (ko) 인기 있는 라이브 방송 비디오를 결정하는 방법 및 디바이스
CN110022286B (zh) 点播多媒体节目的方法和装置
JP2012533959A (ja) マルチキャスト対応ルータにおいて効果的なホスト・マネジメント・プロトコル
CN110198384B (zh) 一种基于视联网的通讯方法和中转服务器
CN110519331B (zh) 一种视联网资源处理方法及装置
US9774463B2 (en) Optimizing user experiences of web conferences that send data with source-specific multicast and automatic multicast tunneling
CN108632681B (zh) 播放媒体流的方法、服务器及终端
CN105210347A (zh) 监控服务器、解析服务器、请求设备及节点选择方法
CN110493555B (zh) 请求处理方法、用户终端、核心服务器、设备及存储介质
CN109819209B (zh) 一种监控资源调取的***、方法和装置
CN112770270A (zh) 基于信道预约的数据传输方法、装置、***和存储介质
EP3419330B1 (en) Method and device for determining codec mode set for service communication

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