1.本技术涉及通信技术领域,尤其涉及一种视频通话数据的传输方法、电子设备及存储介质。另外,本技术还涉及一种传输码率的确定方法、电子设备及存储介质。
背景技术:2.作为一种通过通信设备和网络,使在不同地点的参会者也能够进行面对面交谈的会议方式,视频会议已在各行各业中得到了广泛的应用。对于正在进行的视频会议而言,视频会议过程中的通信质量,在很大程度上决定了参会者的参会体验。因此,如何提高通信质量,成为了视频会议发展过程中不得不解决的问题。
技术实现要素:3.本技术实施例提供一种视频通话数据的传输方法、电子设备及存储介质,以提高视频会议过程中的通信质量。本技术实施例还提供一种传输码率的确定方法、电子设备及存储介质,以提高通信会话过程中的通信质量。
4.第一方面,本技术实施例提供了一种视频通话数据的传输方法,应用于多个客户端进行视频会议的过程中,方法包括:
5.针对视频会议的过程中的发送客户端以及与发送客户端对应的至少一个接收客户端,确定发送客户端上行发送视频通话数据时可使用的传输码率,可使用的传输码率利用接收客户端对应的下行参数得到;
6.在可使用的传输码率中,确定与发送客户端的上行带宽匹配的目标传输码率;
7.将匹配的目标传输码率发送至对应客户端,以供多个客户端作为发送客户端执行视频通话数据的上行发送中使用;
8.获取发送客户端以匹配的目标传输码率发送的视频通话数据;
9.将视频通话数据中与下行参数匹配的视频通话数据发送至对应接收客户端。
10.第二方面,本技术实施例提供了一种传输码率的确定方法,应用于多个客户端进行视频会议的过程中,方法包括:
11.针对通信会话的过程中的发送客户端以及与发送客户端对应的至少一个接收客户端,确定发送客户端上行发送会话数据时可使用的传输码率,可使用的传输码率利用接收客户端对应的下行参数得到;
12.在可使用的传输码率中,确定与发送客户端的上行带宽匹配的目标传输码率;
13.将匹配的目标传输码率发送至对应客户端,以供多个客户端作为发送客户端执行会话数据的上行发送中使用。
14.第三方面,本技术实施例提供一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,处理器在执行计算机程序时实现本技术任一实施例提供的方法。
15.第四方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现本技术任一实施例提供的方法。
16.与现有技术相比,本技术具有如下优点:
17.本技术提供的视频通话数据的传输方法,在多个客户端进行视频会议的过程中,会先确定与发送客户端的上行带宽匹配的目标传输码率,并将匹配的目标传输码率发送至对应客户端,以供多个客户端作为发送客户端执行视频通话数据的上行发送中使用。在将匹配的目标传输码率发送至对应客户端后,会获取发送客户端以匹配的目标传输码率发送的视频通话数据,并将视频通话数据中与下行参数匹配的视频通话数据发送至对应接收客户端。
18.由于可使用的传输码率是利用接收客户端对应的下行参数得到的,匹配的目标传输码率是与发送客户端的上行带宽匹配的目标传输码率。因此,目标传输码率能够同时满足发送客户端的上行带宽以及接收客户端对应的下行参数。从而避免了视频会议过程中因传输码率不满足上行带宽或者下行参数而导致的通信卡顿及通信时延问题,进而提高了视频会议过程中的通信质量。
19.另外,由于针对进行视频会议的多个客户端,均能够确定其作为发送客户端执行会话数据的上行发送中使用的目标传输码率。因此,本技术提供的视频通话数据的传输方法,可以在整体上减少多个客户端进行视频会议的过程中存在的通信卡顿以及通信时延问题。
20.本技术提供的传输码率的确定方法,在多个客户端进行通信会话的过程中,针对通信会话的过程中的发送客户端以及与发送客户端对应的至少一个接收客户端,需要先利用接收客户端对应的下行参数得到发送客户端上行发送会话数据时可使用的传输码率,再在可使用的传输码率中,确定与发送客户端的上行带宽匹配的目标传输码率。在确定与发送客户端的上行带宽匹配的目标传输码率之后,会将匹配的目标传输码率发送至对应客户端,以供多个客户端作为发送客户端执行会话数据的上行发送中使用。
21.由于可使用的传输码率是利用接收客户端对应的下行参数得到的,匹配的目标传输码率是与发送客户端的上行带宽匹配的目标传输码率。因此,目标传输码率能够同时满足发送客户端的上行带宽以及接收客户端对应的下行参数。从而避免了通信会话过程中因传输码率不满足上行带宽或者下行参数而导致的通信卡顿及通信时延问题,进而提高了通信会话过程中的通信质量。
22.另外,由于针对进行通信会话的多个客户端,均能够确定其作为发送客户端执行会话数据的上行发送中使用的目标传输码率。因此,本技术提供的传输码率的确定方法,可以在整体上减少多个客户端进行通信会话的过程中存在的通信卡顿以及通信时延问题。
23.上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本技术进一步的方面、实施方式和特征将会是容易明白的。
附图说明
24.在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本技术公开的一些实施方式,而不应将其视为是对本技术范围的限制。
25.图1为本技术实施例提供的传输码率的确定方法的场景示意图;
26.图2为本技术一实施例提供的传输码率的确定方法的流程图;
27.图3为本技术实施例提供的一种传输码率的确定过程的示例图;
28.图4为本技术实施例提供的一种优先级确定方法的流程图;
29.图5为本技术另一实施例提供的视频通话数据的传输方法的流程图;
30.图6为本技术一实施例提供的传输码率的确定装置的结构框图;
31.图7为本技术另一实施例提供的视频通话数据的传输装置的结构框图;
32.图8为用来实现本技术实施例的电子设备的框图。
具体实施方式
33.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它形式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
34.为了更清楚地展示本技术实施例中提供的传输码率的确定方法,首先介绍一下本技术实施例中提供的传输码率的确定方法的应用场景。本技术实施例中提供的传输码率的确定方法一般应用于多个客户端进行视频会议的场景,此时,多个客户端进行的通信会话为视频会议。
35.以下具体结合图1,来对本技术实施例中提供的传输码率的确定方法的应用场景进行介绍。图1为本技术实施例提供的传输码率的确定方法的场景示意图。图1中示出的是三个客户端进行视频会议的场景,其中,客户端101对应参会者a,客户端102对应参会者b,客户端103对应参会者c。
36.首先,在参会者c通过人机交互界面触发客户端103生成视频会议发起请求后,客户端103会将该视频会议发起请求发送至服务端104。服务端104会针对该视频会议发起请求,向客户端101以及客户端102分别发送用于提示参会者参加视频会议的提示信息。客户端101以及客户端102在接收到提示信息后,会分别生成并展示用于触发客户端进入视频会议的触发控件。在参会者a、参会者b通过人机交互界面触发该触发控件后,客户端101、客户端102即可进入客户端103发起的视频会议。
37.其次,在客户端101、客户端102以及客户端103进行视频会议的过程中,服务端104会针对视频会议的过程中的发送客户端以及与发送客户端对应的至少一个接收客户端,确定发送客户端上行发送视频通话数据时可使用的传输码率。
38.在客户端101、客户端102以及客户端103进行视频会议的过程中,服务端104会先针对客户端101、客户端102以及客户端103确定视频通话数据的发送客户端与至少一个接收客户端构成的数据传输组合。再以数据传输组合为单位,对于会话数据的发送客户端与至少一个接收客户端构成的数据传输组合,分别针对通信会话的过程中的发送客户端以及与发送客户端对应的至少一个接收客户端,来确定发送客户端上行发送会话数据时可使用的传输码率。
39.具体的,在客户端101、客户端102以及客户端103进行视频会议的过程中,客户端101、客户端102以及客户端103均可能会作为发送客户端。在客户端101作为发送客户端时,客户端102以及客户端103是对应于客户端101的接收客户端。在客户端102作为发送客户端时,客户端101以及客户端103是对应于客户端102的接收客户端。在客户端103作为发送客
户端时,客户端101以及客户端102是对应于客户端103的接收客户端。
40.也就是说,在客户端101、客户端102以及客户端103进行视频会议的过程中,视频通话数据的发送客户端与至少一个接收客户端构成的数据传输组合共有三个,以下分别记为:第一数据传输组合、第二数据传输组合以及第三数据传输组合。其中,第一数据传输组合是由客户端101作为发送客户端,客户端102以及客户端103作为接收客户端而构成的数据传输组合;第二数据传输组合是由客户端102作为发送客户端,客户端101以及客户端103作为接收客户端而构成的数据传输组合;第三数据传输组合是由客户端103作为发送客户端,客户端101以及客户端102作为接收客户端而构成的数据传输组合。
41.在确定视频通话数据的发送客户端与至少一个接收客户端构成的数据传输组合后,服务端104会进一步针对确定出的三个数据传输组合,确定发送客户端上行发送视频通话数据时可使用的传输码率。即,会分别确定出第一数据传输组合中客户端101上行发送视频通话数据时可使用的传输码率,第二数据传输组合中客户端102上行发送视频通话数据时可使用的传输码率,以及第三数据传输组合中客户端103上行发送视频通话数据时可使用的传输码率。
42.其中,可使用的传输码率利用接收客户端对应的下行参数得到。以第一数据传输组合中客户端101上行发送视频通话数据时可使用的传输码率为例,其是利用客户端102以及客户端103对应的下行参数得到的。
43.在实际应用中,传输码率的单位一般为千比特/秒(kbps,k=1000)或兆比特/秒(mbps,m=1000000)。发送客户端上行发送视频通话数据时的传输码率一般被称为上传码率,具体是指发送客户端发送视频通话数据时单位时间传送的数据位数;接受客户端下行接收视频通话数据时的传输码率一般被称为下载码率,具体是指接收客户端下载视频通话数据时单位时间传送的数据位数。
44.在实际应用中,下载码率往往是由上传码率的决定的。具体的,在发送客户端与至少一个接收客户端进行视频会议的过程中,如果发送客户端执行视频通话数据的上行发送中使用的上传码率是1.4m、700k以及90k,则接收客户端下行接收视频通话数据时可使用的下载码率一般只能是1.4m、700k以及90k中的一种。由于下载码率往往是由上传码率的决定的,因此,为了使发送客户端使用特定的传输码率上行发送视频通话数据后,接收客户端能够在满足下行参数的条件下成功的下行接收对应的视频通话数据,在确定可使用的传输码率的过程中,需要利用接收客户端对应的下行参数,来得到发送客户端上行发送视频通话数据时可使用的传输码率。
45.在确定发送客户端上行发送视频通话数据时可使用的传输码率后,服务端104需要在可使用的传输码率中,确定与发送客户端的上行带宽匹配的目标传输码率。具体的,在客户端101上行发送视频通话数据时可使用的传输码中,确定与客户端101的上行带宽匹配的目标传输码率;在客户端102上行发送视频通话数据时可使用的传输码中,确定与客户端102的上行带宽匹配的目标传输码率;在客户端103上行发送视频通话数据时可使用的传输码中,确定与客户端103的上行带宽匹配的目标传输码率。
46.在确定与发送客户端的上行带宽匹配的目标传输码率后,服务端104还需要进一步将匹配的目标传输码率发送至对应客户端,以供多个客户端作为发送客户端执行视频通话数据的上行发送中使用。即,分别将与客户端101的上行带宽匹配的目标传输码率发送至
客户端101,将与客户端102的上行带宽匹配的目标传输码率发送至客户端102,将与客户端103的上行带宽匹配的目标传输码率发送至客户端103。
47.再次,服务端104获取发送客户端以匹配的目标传输码率发送的视频通话数据。具体的,会分别获取客户端101以与客户端101的上行带宽匹配的目标传输码率发送的视频通话数据,客户端102以与客户端102的上行带宽匹配的目标传输码率发送的视频通话数据,以及客户端103以与客户端103的上行带宽匹配的目标传输码率发送的视频通话数据。
48.最后,服务端104会将视频通话数据中与下行参数匹配的视频通话数据发送至对应接收客户端。以客户端103作为发送客户端为例,服务端104会将与客户端101的下行参数匹配的视频通话数据发送至客户端101,将与客户端102的下行参数匹配的视频通话数据发送至客户端102。
49.由于可使用的传输码率是利用接收客户端对应的下行参数得到的,匹配的目标传输码率是与发送客户端的上行带宽匹配的目标传输码率。因此,目标传输码率能够同时满足发送客户端的上行带宽以及接收客户端对应的下行参数。从而避免了视频会议过程中因传输码率不满足上行带宽或者下行参数而导致的通信卡顿及通信时延问题,进而提高了视频会议过程中的通信质量。
50.另外,由于针对进行视频会议的多个客户端,均能够确定其作为发送客户端执行会话数据的上行发送中使用的目标传输码率。因此,本技术的技术方案可以在整体上减少多个客户端进行视频会议的过程中存在的通信卡顿以及通信时延问题。
51.需要说明的是,本技术实施例中提供的传输码率的确定方法的上述应用场景,是为了便于理解本技术实施例中提供的传输码率的确定方法,而并非用于限定本技术实施例提供的传输码率的确定方法。本技术实施例中提供的传输码率的确定方法还可以用于其他多个客户端进行通信会话的场景,例如:多个客户端进行直播连麦的场景,此时,多个客户端进行的通信会话为直播连麦。具体的,本技术实施例中提供的传输码率的确定方法的应用场景不做具体限定。
52.另外,服务端的具体实现方式可以为服务器或者服务器集群,也可以为云服务器。当然,也可以通过其他计算设备代替服务端作为本技术实施例中提供的传输码率的确定方法的执行主体。
53.本技术实施例提供了一种传输码率的确定方法,该方法应用于多个客户端进行通信会话的过程中,图2为本技术一实施例提供的传输码率的确定方法的流程图。如图2所示,该方法包括:
54.步骤s201,针对通信会话的过程中的发送客户端以及与发送客户端对应的至少一个接收客户端,确定发送客户端上行发送会话数据时可使用的传输码率,可使用的传输码率利用接收客户端对应的下行参数得到。
55.本技术实施例中,在多个客户端进行通信会话的过程中,多个客户端中的各个客户端均既能够作为发送客户端,同时又能够在其他客户端为发送客户端的情况下作为对应的接收客户端。由此可知,在多个客户端进行通信会话的过程中,往往至少有一个发送客户端,而每个发送客户端均会有各自对应的接收客户端。
56.因此,本技术实施例中,针对通信会话的过程中的发送客户端以及与发送客户端对应的至少一个接收客户端,确定发送客户端上行发送会话数据时可使用的传输码率的具
体实现方式一般为:先确定会话数据的发送客户端与至少一个接收客户端构成的数据传输组合,再以数据传输组合为单位,对于会话数据的发送客户端与至少一个接收客户端构成的数据传输组合,分别针对通信会话的过程中的发送客户端以及与发送客户端对应的至少一个接收客户端,来确定发送客户端上行发送会话数据时可使用的传输码率。
57.在多个客户端进行通信会话的过程中,发送客户端与至少一个接收客户端构成的数据传输组合往往是多个。并且在一般情况下,数据传输组合的数目与多个客户端对应的客户端数目相同。以进行通信会话的多个客户端包括第一客户端、第二客户端、第三客户端以及第四客户端为例,在第一客户端、第二客户端、第三客户端以及第四客户端进行通信会话的过程中,构成的数据传输组合一般共有四个,分别记为:第一数据传输组合、第二数据传输组合、第三数据传输组合以及第四数据传输组合。
58.其中,第一数据传输组合是由第一客户端作为发送客户端,第二客户端、第三客户端以及第四客户端作为接收客户端而构成的数据传输组合;第二数据传输组合是由第二客户端作为发送客户端,第一客户端、第三客户端以及第四客户端作为接收客户端而构成的数据传输组合;第三数据传输组合是由第三客户端作为发送客户端,第一客户端、第二客户端以及第四客户端作为接收客户端而构成的数据传输组合;第四数据传输组合是由第四客户端作为发送客户端,第一客户端、第二客户端以及第三客户端作为接收客户端而构成的数据传输组合。
59.一种可能的实现方式中,多个客户端进行的通信会话包括但不限于:多个客户端进行的视频会议,以及多个客户端进行的直播连麦。在通信会话为视频会议的情况下,会话数据为视频通话数据,在通信会话为直播连麦的情况下,会话数据为直播服务数据。
60.在实际应用中,发送客户端上行发送会话数据时的传输码率一般被称为上传码率,具体是指发送客户端发送会话数据时单位时间传送的数据位数;接受客户端下行接收会话数据时的传输码率一般被称为下载码率,具体是指接收客户端下载会话数据时单位时间传送的数据位数。
61.在实际应用中,下载码率往往是由上传码率的决定的。具体的,在发送客户端与至少一个接收客户端进行视频会议的过程中,如果发送客户端执行会话数据的上行发送中使用的上传码率是1.4m、700k以及90k,则接收客户端下行接收会话数据时可使用的下载码率一般只能是1.4m、700k以及90k中的一种。
62.由于下载码率往往是由上传码率的决定的,因此,为了使发送客户端使用特定的传输码率上行发送会话数据后,接收客户端能够在满足下行参数的条件下成功的下行接收对应的会话数据,在确定可使用的传输码率的过程中,需要利用接收客户端对应的下行参数,来得到发送客户端上行发送会话数据时可使用的传输码率。传输码率的单位一般为千比特/秒(kbps,k=1000)或兆比特/秒(mbps,m=1000000)。上行带宽是指客户端作为发送客户端的情况可用于进行上行发送会话数据的带宽。
63.一种可能的实现方式中,确定可使用的传输码率的一般实现方式可以如下:首先,根据下行参数,生成接收客户端所需的传输码率。然后,基于接收客户端所需的传输码率,确定发送客户端根据下行参数上行发送会话数据时可使用的至少一个传输码率。最后,从可使用的至少一个传输码率中选取与上行带宽匹配的传输码率,以确定可使用的传输码率。
64.一种可能的实现方式中,接收客户端所需的传输码率是指,接收客户端需要发送客户端上行发送会话数据的传输码率。由于在多个客户端进行通信会话的过程中,每个客户端在其他客户端为发送客户端情况下均可作为对应的接收客户端。因此,接收客户端所需的传输码率包括:接收客户端对全部发送客户端所需的传输码率。
65.以多个客户端为客户端a、客户端b、客户端c三个客户端为例,在客户端a、客户端b、客户端c进行通信会话的过程中,客户端a可以在客户端b为发送客户端的情况下作为接收客户端,也可以在客户端c为发送客户端的情况下作为接收客户端。此时,对于作为接收客户端的客户端a而言,客户端a所需的传输码率是指:客户端a需要客户端b上行发送会话数据的传输码率,以及客户端a需要客户端c上行发送会话数据的传输码率。
66.同样的,客户端b可以在客户端a为发送客户端的情况下作为接收客户端,也可以在客户端c为发送客户端的情况下作为接收客户端。此时,对于作为接收客户端的客户端b而言,客户端b所需的传输码率是指:客户端b需要客户端a上行发送会话数据的传输码率,以及客户端b需要客户端c上行发送会话数据的传输码率。
67.基于相同原理,客户端c可以在客户端a为发送客户端的情况下作为接收客户端,也可以在客户端b为发送客户端的情况下作为接收客户端。此时,对于作为接收客户端的客户端c而言,客户端b所需的传输码率是指:客户端b需要客户端a上行发送会话数据的传输码率,以及客户端b需要客户端c上行发送会话数据的传输码率。
68.一种可能的实现方式中,下行参数一般包括接收客户端所需的视频分辨率和接收客户端的下行带宽。此时,根据下行参数,生成接收客户端所需的传输码率的具体实现方式可以为:根据接收客户端所需的视频分辨率以及下行带宽,生成接收客户端所需的传输码率。当然,本技术实施例中对生成接收客户端所需的传输码率的具体实现方式不做具体限定。
69.一种可能的实现方式中,所谓下行带宽是指客户端作为接收客户端的情况可用于进行接收发送会话数据的带宽。
70.接收客户端所需的视频分辨率是指,接收客户端需要发送客户端上行发送会话数据的视频分辨率。由于多个客户端进行通信会话的过程中,每个客户端在其他客户端为发送客户端情况下均可作为对应的接收客户端。因此,接收客户端所需的视频分辨率包括:接收客户端对全部发送客户端所需的视频分辨率。
71.同样以多个客户端为客户端a、客户端b、客户端c三个客户端为例,在客户端a、客户端b、客户端c进行通信会话的过程中,客户端a可以在客户端b为发送客户端的情况下作为接收客户端,也可以在客户端c为发送客户端的情况下作为接收客户端。此时,对于作为接收客户端的客户端a而言,客户端a所需的视频分辨率是指:客户端a需要客户端b上行发送会话数据的视频分辨率,以及客户端a需要客户端c上行发送会话数据的视频分辨率。
72.客户端b可以在客户端a为发送客户端的情况下作为接收客户端,也可以在客户端c为发送客户端的情况下作为接收客户端。此时,对于作为接收客户端的客户端b而言,客户端b所需的视频分辨率是指:客户端b需要客户端a上行发送会话数据的视频分辨率,以及客户端b需要客户端c上行发送会话数据的视频分辨率。
73.客户端c可以在客户端a为发送客户端的情况下作为接收客户端,也可以在客户端b为发送客户端的情况下作为接收客户端。此时,对于作为接收客户端的客户端c而言,客户
端b所需的视频分辨率是指:客户端b需要客户端a上行发送会话数据的视频分辨率,以及客户端b需要客户端c上行发送会话数据的视频分辨率。
74.本技术的实施例中,接收客户端所需的视频分辨率往往利用发送客户端支持的视频分辨率以及发送客户端上行发送的会话数据的重要程度得到。具体的,可以在发送客户端支持的视频分辨率中,针对发送客户端上行发送的会话数据的重要程度,查找重要程度与视频分辨率的对应关系,以获得接收客户端所需的视频分辨率。
75.具体的,重要程度往往是由会话数据的数据类型决定所决定的。例如:数据类型为共享数据的会话数据往往具有较高的重要程度。
76.一种可能的实现方式中,根据接收客户端所需的视频分辨率以及下行带宽,生成接收客户端所需的传输码率的过程可以如图3所示,图3为本技术实施例提供的一种传输码率的确定过程的示例图。图3中的a用于客户端a、b用于客户端b、c用于表示客户端c。
77.图3中在客户端a、客户端b以及客户端c作为发送客户端时支持的视频分辨率为:720p(plixe,像素)、360p以及180p。在客户端a、客户端b以及客户端c作为发送客户端上行发送720p的会话数据时支持的传输码率均为:1.4m、1.1m以及0.8m。在客户端a、客户端b以及客户端c作为发送客户端上行发送360p的会话数据时支持的传输码率均为:700k、500k以及300k。在客户端a、客户端b以及客户端c作为发送客户端上行发送180p的会话数据时支持的传输码率均为:250k、170k以及90k。
78.由图3可知,在客户端a作为发送客户端时,客户端b以及客户端c作为对应的接收客户端;在客户端b作为发送客户端时,客户端a以及客户端c作为对应的接收客户端;在客户端c作为发送客户端时,客户端a以及客户端b作为对应的接收客户端。
79.假设对于作为接收客户端的客户端a而言,客户端a需要客户端b上行发送会话数据的视频分辨率为180p,以及客户端a需要客户端c上行发送会话数据的视频分辨率为720p。此时,如果以180p、720p为背包算法的输入,以客户端a当前对应的下行带宽为约束。可以计算出客户端a需要客户端b上行发送会话数据的优选的传输码率为250k,以及客户端a需要客户端c上行发送会话数据的优选的传输码率为1.1m。
80.假设对于作为接收客户端的客户端b而言,客户端b需要客户端a上行发送会话数据的视频分辨率为720p,以及客户端b需要客户端c上行发送会话数据的视频分辨率为180p。此时,如果以180p、720p为背包算法的输入,以客户端b当前对应的下行带宽(例如:5m)为约束。可以计算出客户端b需要客户端a上行发送会话数据的优选的传输码率为1.4m,以及客户端b需要客户端c上行发送会话数据的优选的传输码率为250k。
81.假设对于作为接收客户端的客户端c而言,客户端c需要客户端a上行发送会话数据的视频分辨率为720p,以及客户端c需要客户端b上行发送会话数据的视频分辨率为720p。此时,如果以720p、720p为背包算法的输入,以客户端c当前对应的下行带宽为约束。可以计算出客户端c需要客户端a上行发送会话数据的优选的传输码率为1.1m,以及客户端c需要客户端b上行发送会话数据的优选的传输码率为1.4m。
82.在接收客户端所需的优选的传输码率后,可以基于该优选的传输码率确定接收客户端所需的传输码率。以接收客户端为客户端b为例,由于客户端b需要客户端a上行发送会话数据的优选的传输码率为1.4m,则720p下对应的1.1m以及0.8m也都可以作为客户端b需要客户端a上行发送会话数据的传输码率。即,客户端b需要客户端a上行发送会话数据的传
输码率包括:1.4m、1.1m以及0.8m。
83.本技术实施例中,由于发送客户端在上行发送时支持多个视频分辨率,并且在每个视频分辨率下还支持多个传输码率。因此,在上行带宽或者下行带宽发生较小的波动时,发送客户端可以仅产生较小的传输码率变化。这样,在上行带宽或者下行带宽发生较小的波动时,发送客户端上行发送的会话数据的数据质量往往不会存在较大的差异,从而能够保证参会者具有流畅的观感和体验。
84.另外,本技术实施例中,对根据接收客户端所需的视频分辨率以及下行带宽,生成接收客户端所需的传输码率的过程的实现方式不做具体限定。例如还可以通过如下方式来生成接收客户端所需的传输码率:根据接收客户端所需的视频分辨率以及下行带宽,生成接收客户端所需的传输码率的过程还可以为:以接收客户端所需的视频分辨率以及下行带宽约束,以穷举的方式获得接收客户端所需的传输码率。
85.由于发送客户端在每个视频分辨率下仅能支持一种传输码率。因此,在基于接收客户端所需的传输码率,确定发送客户端根据下行参数上行发送会话数据时可使用的至少一个传输码率的具体实现方式为:对不同接收客户端针对该发送客户端在特定分辨率下所需的传输码率的求交集,获得不同接收客户端针对该发送客户端在特定分辨率下所需的传输码率的交集,将该交集作为发送客户端在特定分辨率下所需的传输码率。
86.请再参照图3,以发送客户端为客户端b为例,客户端a需要客户端b上行发送会话数据的传输码率包括:250k、170k以及90k,客户端c需要客户端b上行发送会话数据的传输码率包括:1.4m、1.1m以及0.8m。那么,客户端b可使用的至少一个传输码率包括:1.4m、1.1m、0.8m中的任意一个传输码率,与250k、170k以及90k中的一个传输码率的组合。即,客户端b可使用的至少一个传输码率包括九种码率组合,分别为:(1.4m、250k)、(1.1m、250k)、(0.8m、250k)、(1.4m、170k)、(1.1m、170k)、(0.8m、170k)、(1.4m、90k)、(1.1m、90k)、(0.8m、90k)。
87.对于发送客户端而言,在确定了接收客户端根据下行参数上行发送会话数据时可使用的至少一个传输码率后,只能代表发送客户端以相应的传输码率执行会话数据的上行发送,其发送的会话数据可以符合接收客户端的下行参数需求。但是,发送客户端当前对应的带宽却不一定能够支持以某些传输码率执行会话数据的上行发送。因此,为了能够在可使用的传输码率中能够确定出与发送客户端的上行带宽匹配的目标传输码率,则需要可使用的传输码率中存在与上行带宽匹配的传输码率,并从可使用的至少一个传输码率中选取与上行带宽匹配的传输码率,以确定可使用的传输码率。
88.以客户端b为发送客户端为例,来对从可使用的至少一个传输码率中选取与上行带宽匹配的传输码率,以确定可使用的传输码率的实现过程具体说明:首先,确定客户端b在以九种码率组合执行会话数据的上行发送时,是否存在超出上行带宽的情况。然后,将超出上行带宽的码率组合排除,以获得可使用的传输码率。
89.另外,为了确保可使用的至少一个传输码率中一定存在与上行带宽匹配的传输码率,进而确保可在可使用的传输码率中确定出目标传输码率。在可使用的至少一个传输码率中不存在与上行带宽匹配的传输码率时可以执行如下迭代步骤,直至可使用的至少一个传输码率中存在与上行带宽匹配的传输码率:
90.首先,更新接收客户端的下行参数。然后,基于更新后接收客户端下行参数,重新
确定发送客户端根据下行参数上行发送会话数据时可使用的至少一个传输码率。
91.其中,更新接收客户端的下行参数,包括:更新接收客户端的下行参数中接收客户端所需的视频分辨率。例如:客户端b在以九种码率组合执行会话数据的上行发送时均会超出上行带宽,那么,则证明客户端c需要客户端b上行发送会话数据的传输码率以及客户端a需要客户端b上行发送会话数据的传输码率过高。即,客户端b无法支持以1.4m、1.1m或者0.8m的传输码率上行发送会话数据。也就是说,需要将1.4m、1.1m或者0.8m从客户端b支持的传输码率中排除。此时,客户端b仅支持上行发送360p以及180p的会话数据。在排除客户端b支持的传输码率后,需要同步更新接收客户端的下行参数中接收客户端所需的视频分辨率。
92.请再参照图2,在确定发送客户端上行发送会话数据时可使用的传输码率,需要进一步执行步骤s202。
93.s202,在可使用的传输码率中,确定与发送客户端的上行带宽匹配的目标传输码率。
94.本技术实施例中,可使用的传输码率的数目可能是多个,也可能是一个。在可使用的传输码率的数目仅为一个时,则在可使用的传输码率中,确定与发送客户端的上行带宽匹配的目标传输码率的实现方式为:将可使用的传输码率确定为与发送客户端的上行带宽匹配的目标传输码率。
95.另外,在可使用的传输码率的数目仅为多个时,则在可使用的传输码率中,确定与发送客户端的上行带宽匹配的目标传输码率的实现方式如下:
96.首先,确定可使用的传输码率中与上行带宽匹配的多个候选传输码率。然后,确定多个候选传输码率对应的优先级。最后,基于优先级,在多个候选传输码率中确定目标传输码率。
97.本技术的实施例中,确定多个候选传输码率对应的优先级的方式可以如图4所示,图4为本技术实施例提供的一种优先级确定方法的流程图。
98.步骤s401,确定多个候选传输码率对应的会话数据的重要程度。
99.重要程度往往是由会话数据的数据类型决定所决定的。例如:数据类型为共享数据的会话数据往往具有较高的重要程度。例如:客户端b上行发送的会话数据为共享会话,则证明该会话数据具有较高的重要程度。
100.步骤s402,基于重要程度,在预设的权重对应关系列表中查找重要程度对应的优先级权重。
101.一般情况下,重要程度往往是由会话数据的数据类型决定所决定的,并且重要程度与接收客户端所需的视频分辨率具有一定的对应关系,该对应关系可以是指,重要程度越高,则接收客户端所需的视频分辨率越高。
102.请再参照图3,以发送客户端为客户端b,且发送端b上行发送的会话数据的重要程度较高为例,为了确保重要程度较高会话数据可以被发送客户端以较高的传输码率上行发送,可以将该优先级权重设置为720p下支持的传输码率的权重为0.7,180p下支持的传输码率的权重为0.3。
103.请再参照图4,在确定优先级权重后,为了确定多个候选传输码率对应的优先级,还需要进一步执行步骤s403。
104.步骤s403,利用优先级权重以及多个候选传输码率对应的码率值,确定优先级。
105.一种可能的实现方式中,利用优先级权重以及多个候选传输码率对应的码率值,确定优先级的具体实现方式为:针对多个候选传输码率,分别计算优先级权重与单个候选传输码率对应的码率值的权重和,将该权重和确定为优先级。
106.请再参照图3,假设客户端b可使用的传输码率包括(1.4m、250k)、(1.1m、250k)、(0.8m、250k)、(1.4m、170k)、(1.1m、170k)、(0.8m、170k)、(1.4m、90k)、(1.1m、90k)、(0.8m、90k),优先级权重是:720p下支持的传输码率的权重为0.7,180p下支持的传输码率的权重为0.3。此时,单个候选传输码率(1.4m、250k)对应的优先级为:1400k*07+250k*03,单个候选传输码率(1.1m、250k)对应的优先级为:1100k*07+250k*03
…
,单个候选传输码率(0.8m、90k)对应的优先级为:800k*07+90k*03。
107.一种可能的实现方式中,会将多个候选传输码率中优先级最高的候选传输码率确定为目标传输码率。
108.以图3为例,假设客户端c可使用的传输码率包括(1.1m、250k)、(0.8m、250k)、(1.1m、170k)、(0.8m、170k)、(1.1m、90k)、(0.8m、90k)。如果经过优先级计算,确定客户端c可使用的传输码率中的(1.1m、250k)具有最高的优先级,则将(1.1m、250k)确定为匹配的目标传输码率。
109.请再参照图2,在本技术的实施例中,在确定与发送客户端的上行带宽匹配的目标传输码率后,需要进一步执行步骤s203。
110.步骤s203,将匹配的目标传输码率发送至对应客户端,以供多个客户端作为发送客户端执行会话数据的上行发送中使用。
111.本技术实施例中,由于多个客户端均可以作为发送客户端。因此,对于每个客户端而言,该客户端都会具有匹配的目标传输码率。为了能够让每个客户端在作为发送客户端时,均能够以匹配的目标传输码率来上行发送会话数据,则需要将匹配的目标传输码率发送至对应客户端。
112.本技术实施例提供的传输码率的确定方法,在多个客户端进行通信会话的过程中,针对通信会话的过程中的发送客户端以及与发送客户端对应的至少一个接收客户端,需要先利用接收客户端对应的下行参数得到发送客户端上行发送会话数据时可使用的传输码率,再在可使用的传输码率中,确定与发送客户端的上行带宽匹配的目标传输码率。在确定与发送客户端的上行带宽匹配的目标传输码率之后,会将匹配的目标传输码率发送至对应客户端,以供多个客户端作为发送客户端执行会话数据的上行发送中使用。
113.由于可使用的传输码率是利用接收客户端对应的下行参数得到的,匹配的目标传输码率是与发送客户端的上行带宽匹配的目标传输码率。因此,目标传输码率能够同时满足发送客户端的上行带宽以及接收客户端对应的下行参数。从而避免了通信会话过程中因传输码率不满足上行带宽或者下行参数而导致的通信卡顿及通信时延问题,进而提高了通信会话过程中的通信质量。
114.另外,由于针对进行通信会话的多个客户端,均能够确定其作为发送客户端执行会话数据的上行发送中使用的目标传输码率。因此,本技术提供的传输码率的确定方法,可以在整体上减少多个客户端进行通信会话的过程中存在的通信卡顿以及通信时延问题。
115.在将匹配的目标传输码率发送至对应客户端后,需要获取送客户端以匹配的目标
传输码率发送的会话数据,以便对应的接收客户端能够根据自身对应的下行参数来获取对应的会话数据,从而确保通信会话的顺畅进行。
116.在将匹配的目标传输码率发送至对应客户端之后,本技术实施例提供的传输码率的确定方法还可以进一步执行如下步骤:首先,获取发送客户端针对匹配的目标传输码率发送的会话数据上行发送请求。然后,向发送客户端发送用于指示上行发送会话数据的会话数据上行发送指令。最后,获取发送客户端基于会话数据上行发送指令以匹配的目标传输码率发送的会话数据。
117.另外,在获取发送客户端基于会话数据上行发送指令以匹配的目标传输码率发送的会话数据之后,本技术实施例提供的传输码率的确定方法还可以进一步执行如下步骤:首先,获取接收客户端发送的会话数据获取请求。然后,针对会话数据获取请求,在会话数据中确定与下行参数匹配的会话数据。最后,将与下行参数匹配的会话数据发送至接收客户端。
118.与本技术上述实施例提供的传输码率的确定方法相对应的,本技术实施例还提供了一种视频通话数据的传输方法。与本技术上述实施例提供的传输码率的确定方法的不同之处在于:本技术实施例提供的视频通话数据的传输方法应用于多个客户端进行视频会议的过程中,除此之外,本技术实施例提供的视频通话数据的传输方法部分相似于本技术上述实施例提供的传输码率的确定方法。因此,对于本技术实施例提供的视频通话数据的传输方法的实施例描述的较为简单,对于本技术实施例提供的视频通话数据的传输方法与本技术上述实施例提供的传输码率的确定方法之间的相似之处,不再一一进行详细描述。
119.本技术实施例提供的另一种视频通话数据的传输方法的实现过程可以如图5所示,图5为本技术另一实施例提供的视频通话数据的传输方法的流程图。如图5所示,该方法包括:
120.步骤s501,针对视频会议的过程中的发送客户端以及与发送客户端对应的至少一个接收客户端,确定发送客户端上行发送视频通话数据时可使用的传输码率,可使用的传输码率利用接收客户端对应的下行参数得到。
121.本技术实施例中,在多个客户端进行视频会议的过程中,多个客户端中的各个客户端均既能够作为发送客户端,同时又能够在其他客户端为发送客户端的情况下作为对应的接收客户端。由此可知,在多个客户端进行视频会议的过程中,往往至少有一个发送客户端,而每个发送客户端均会有各自对应的接收客户端。
122.因此,本技术实施例中,针对视频会议的过程中的发送客户端以及与发送客户端对应的至少一个接收客户端,确定发送客户端上行发送视频通话数据时可使用的传输码率的具体实现方式一般为:先确定视频通话数据的发送客户端与至少一个接收客户端构成的数据传输组合,再以数据传输组合为单位,对于视频通话数据的发送客户端与至少一个接收客户端构成的数据传输组合,分别针对视频会议的过程中的发送客户端以及与发送客户端对应的至少一个接收客户端,来确定发送客户端上行发送视频通话数据时可使用的传输码率。
123.在多个客户端进行视频会议的过程中,发送客户端与至少一个接收客户端构成的数据传输组合往往是多个。并且在一般情况下,数据传输组合的数目与多个客户端对应的客户端数目相同。
124.以进行视频会议的多个客户端包括第一客户端、第二客户端以及第三客户端为例,在第一客户端、第二客户端以及第三客户端进行视频会议的过程中,构成的数据传输组合一般共有三个,分别记为:第一数据传输组合、第二数据传输组合以及第三数据传输组合。其中,第一数据传输组合是由第一客户端作为发送客户端,第二客户端、第三客户端作为接收客户端而构成的数据传输组合;第二数据传输组合是由第二客户端作为发送客户端,第一客户端、第三客户端作为接收客户端而构成的数据传输组合;第三数据传输组合是由第三客户端作为发送客户端,第一客户端、第二客户端作为接收客户端而构成的数据传输组合。
125.步骤s502,在可使用的传输码率中,确定与发送客户端的上行带宽匹配的目标传输码率。
126.在实际应用中,发送客户端上行发送视频通话数据时的传输码率一般被称为上传码率,具体是指发送客户端发送视频通话数据时单位时间传送的数据位数;接受客户端下行接收视频通话数据时的传输码率一般被称为下载码率,具体是指接收客户端下载视频通话数据时单位时间传送的数据位数。
127.在实际应用中,下载码率往往是由上传码率的决定的。具体的,在发送客户端与至少一个接收客户端进行视频会议的过程中,如果发送客户端执行视频通话数据的上行发送中使用的上传码率是1.4m、700k以及90k,则接收客户端下行接收视频通话数据时可使用的下载码率一般只能是1.4m、700k以及90k中的一种。
128.由于下载码率往往是由上传码率的决定的,因此,为了使发送客户端使用特定的传输码率上行发送视频通话数据后,接收客户端能够在满足下行参数的条件下成功的下行接收对应的视频通话数据,在确定可使用的传输码率的过程中,需要利用接收客户端对应的下行参数,来得到发送客户端上行发送视频通话数据时可使用的传输码率。传输码率是指视频通话数据传输时单位时间传送的数据位数,传输码率的单位一般为kbps,k=1000或mbps。上行带宽是指客户端作为发送客户端的情况可用于进行上行发送视频通话数据的带宽。
129.步骤s503,将匹配的目标传输码率发送至对应客户端,以供多个客户端作为发送客户端执行视频通话数据的上行发送中使用。
130.本技术实施例中,由于多个客户端均可以作为发送客户端。因此,对于每个客户端而言,该客户端都会具有匹配的目标传输码率。为了能够让每个客户端在作为发送客户端时,均能够以匹配的目标传输码率来上行发送视频通话数据,则需要将匹配的目标传输码率发送至对应客户端。
131.步骤s504,获取发送客户端以匹配的目标传输码率发送的视频通话数据。
132.在将匹配的目标传输码率发送至对应客户端后,需要获取送客户端以匹配的目标传输码率发送的视频通话数据,以便对应的接收客户端能够根据自身对应的下行参数来获取对应的视频通话数据,从而确保视频会议的顺畅进行。
133.步骤s505,将视频通话数据中与下行参数匹配的视频通话数据发送至对应接收客户端。
134.本技术实施例提供的视频通话数据的传输方法,在多个客户端进行视频会议的过程中,会先确定与发送客户端的上行带宽匹配的目标传输码率,并将匹配的目标传输码率
发送至对应客户端,以供多个客户端作为发送客户端执行视频通话数据的上行发送中使用。在将匹配的目标传输码率发送至对应客户端后,会获取发送客户端以匹配的目标传输码率发送的视频通话数据,并将视频通话数据中与下行参数匹配的视频通话数据发送至对应接收客户端。
135.由于可使用的传输码率是利用接收客户端对应的下行参数得到的,匹配的目标传输码率是与发送客户端的上行带宽匹配的目标传输码率。因此,目标传输码率能够同时满足发送客户端的上行带宽以及接收客户端对应的下行参数。从而避免了视频会议过程中因传输码率不满足上行带宽或者下行参数而导致的通信卡顿及通信时延问题,进而提高了视频会议过程中的通信质量。
136.另外,由于针对进行视频会议的多个客户端,均能够确定其作为发送客户端执行视频通话数据的上行发送中使用的目标传输码率。因此,本技术实施例提供的视频通话数据的传输方法,可以在整体上减少多个客户端进行视频会议的过程中存在的通信卡顿以及通信时延问题。
137.与本技术实施例提供的方法的应用场景以及传输码率的确定方法相对应地,本技术实施例还提供一种传输码率的确定装置,该装置应用于多个客户端进行通信会话的过程中。如图6所示为本技术一实施例提供的传输码率的确定装置的结构框图,该传输码率的确定装置可以包括:
138.传输码率确定模块601,用于针对通信会话的过程中的发送客户端以及与发送客户端对应的至少一个接收客户端,确定发送客户端上行发送会话数据时可使用的传输码率,可使用的传输码率利用接收客户端对应的下行参数得到;
139.目标传输码率确定模块602,用于在可使用的传输码率中,确定与发送客户端的上行带宽匹配的目标传输码率;
140.目标传输码率发送模块603,用于将匹配的目标传输码率发送至对应客户端,以供多个客户端作为发送客户端执行会话数据的上行发送中使用。
141.一种可能的实现方式中,传输码率确定模块601具体用于根据下行参数,生成接收客户端所需的传输码率;基于接收客户端所需的传输码率,确定发送客户端根据下行参数上行发送会话数据时可使用的至少一个传输码率;从可使用的至少一个传输码率中选取与上行带宽匹配的传输码率,以确定可使用的传输码率。
142.一种可能的实现方式中,传输码率确定模块601还用于若可使用的至少一个传输码率中不存在与上行带宽匹配的传输码率,则更新接收客户端的下行参数;基于更新后接收客户端下行参数,重新确定发送客户端根据下行参数上行发送会话数据时可使用的至少一个传输码率;迭代执行上述确定可使用的至少一个传输码率的过程,直至可使用的至少一个传输码率中存在与上行带宽匹配的传输码率。
143.一种可能的实现方式中,下行参数包括接收客户端所需的视频分辨率和接收客户端的下行带宽;
144.传输码率确定模块601具体用于根据接收客户端所需的视频分辨率以及下行带宽,生成接收客户端所需的传输码率。
145.一种可能的实现方式中,传输码率确定模块601具体用于更新接收客户端的下行参数中接收客户端所需的视频分辨率。
146.一种可能的实现方式中,目标传输码率确定模块602,包括:
147.候选传输码率确定子模块,用于确定可使用的传输码率中与上行带宽匹配的多个候选传输码率;
148.优先级确定子模块,用于确定多个候选传输码率对应的优先级;
149.目标传输码率确定子模块,用于基于优先级,在多个候选传输码率中确定目标传输码率。
150.一种可能的实现方式中,优先级确定子模块具体用于确定多个候选传输码率对应的会话数据的重要程度;基于重要程度,在预设的权重对应关系列表中查找重要程度对应的优先级权重;利用优先级权重以及多个候选传输码率对应的码率值,确定优先级。
151.一种可能的实现方式中,该装置还包括:
152.上行发送请求获取模块,用于在将匹配的目标传输码率发送至对应客户端之后,获取发送客户端针对匹配的目标传输码率发送的会话数据上行发送请求;
153.上行发送指令发送模块,用于向发送客户端发送用于指示上行发送会话数据的会话数据上行发送指令;
154.会话数据获取模块,用于获取发送客户端基于会话数据上行发送指令以匹配的目标传输码率发送的会话数据。
155.一种可能的实现方式中,该装置还包括:
156.会话数据获取请求获取模块,用于在获取发送客户端基于会话数据上行发送指令以匹配的目标传输码率发送的会话数据之后,获取接收客户端发送的会话数据获取请求;
157.会话数据确定模块,用于针对会话数据获取请求,在会话数据中确定与下行参数匹配的会话数据;
158.会话数据发送模块,用于将与下行参数匹配的会话数据发送至接收客户端。
159.与本技术实施例提供的方法的应用场景以及方法相对应地,本技术实施例还提供一种视频通话数据的传输装置,该装置应用于多个客户端进行视频会议的过程中。如图7所示为本技术另一实施例提供的视频通话数据的传输装置的结构框图,该视频通话数据的传输装置可以包括:
160.传输码率确定模块701,用于针对视频会议的过程中的发送客户端以及与发送客户端对应的至少一个接收客户端,确定发送客户端上行发送视频通话数据时可使用的传输码率,可使用的传输码率利用接收客户端对应的下行参数得到;
161.目标传输码率确定模块702,用于在可使用的传输码率中,确定与发送客户端的上行带宽匹配的目标传输码率;
162.目标传输码率发送模块703,用于将匹配的目标传输码率发送至对应客户端,以供多个客户端作为发送客户端执行视频通话数据的上行发送中使用;
163.视频通话数据获取模块704,用于获取发送客户端以匹配的目标传输码率发送的视频通话数据;
164.视频通话数据发送模块705,用于将视频通话数据中与下行参数匹配的视频通话数据发送至对应接收客户端。
165.图8为用来实现本技术实施例的电子设备的框图。如图8所示,该电子设备包括:存储器810和处理器820,存储器810内存储有可在处理器820上运行的计算机程序。处理器820
执行该计算机程序时实现上述实施例中的方法。存储器810和处理器820的数量可以为一个或多个。
166.该电子设备还包括:
167.通信接口830,用于与外界设备进行通信,进行数据交互传输。
168.如果存储器810、处理器820和通信接口830独立实现,则存储器810、处理器820和通信接口830可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component interconnect,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
169.可选的,在具体实现上,如果存储器810、处理器820及通信接口830集成在一块芯片上,则存储器810、处理器820及通信接口830可以通过内部接口完成相互间的通信。
170.本技术实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现本技术实施例中提供的方法。
171.本技术实施例还提供了一种芯片,该芯片包括,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本技术实施例提供的方法。
172.本技术实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行申请实施例提供的方法。
173.应理解的是,上述处理器可以是中央处理器(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced risc machines,arm)架构的处理器。
174.进一步地,可选的,上述存储器可以包括只读存储器和随机存取存储器,还可以包括非易失性随机存取存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以包括随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用。例如,静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic random access memory,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
175.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品
包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
176.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本技术的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
177.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
178.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
179.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
180.应理解的是,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
181.此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
182.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
技术特征:1.一种视频通话数据的传输方法,其特征在于,应用于多个客户端进行视频会议的过程中,所述方法包括:针对视频会议的过程中的发送客户端以及与所述发送客户端对应的至少一个接收客户端,确定所述发送客户端上行发送视频通话数据时可使用的传输码率,所述可使用的传输码率利用所述接收客户端对应的下行参数得到;在所述可使用的传输码率中,确定与所述发送客户端的上行带宽匹配的目标传输码率;将匹配的目标传输码率发送至对应客户端,以供所述多个客户端作为发送客户端执行视频通话数据的上行发送中使用;获取所述发送客户端以匹配的目标传输码率发送的视频通话数据;将所述视频通话数据中与所述下行参数匹配的视频通话数据发送至对应接收客户端。2.一种传输码率的确定方法,其特征在于,应用于多个客户端进行通信会话的过程中,所述方法包括:针对通信会话的过程中的发送客户端以及与所述发送客户端对应的至少一个接收客户端,确定所述发送客户端上行发送会话数据时可使用的传输码率,所述可使用的传输码率利用所述接收客户端对应的下行参数得到;在所述可使用的传输码率中,确定与所述发送客户端的上行带宽匹配的目标传输码率;将匹配的目标传输码率发送至对应客户端,以供所述多个客户端作为发送客户端执行会话数据的上行发送中使用。3.根据权利要求2所述的方法,其特征在于,所述确定所述发送客户端上行发送会话数据时可使用的传输码率,包括:根据所述下行参数,生成所述接收客户端所需的传输码率;基于所述接收客户端所需的传输码率,确定所述发送客户端根据所述下行参数上行发送会话数据时可使用的至少一个传输码率;从所述可使用的至少一个传输码率中选取与所述上行带宽匹配的传输码率,以确定所述可使用的传输码率。4.根据权利要求3所述的方法,其特征在于,所述确定所述发送客户端上行发送会话数据时可使用的传输码率还包括:若所述可使用的至少一个传输码率中不存在与所述上行带宽匹配的传输码率,则更新所述接收客户端的下行参数;基于更新后所述接收客户端下行参数,重新确定所述发送客户端根据所述下行参数上行发送会话数据时可使用的至少一个传输码率;迭代执行上述确定所述可使用的至少一个传输码率的过程,直至所述可使用的至少一个传输码率中存在与所述上行带宽匹配的传输码率。5.根据权利要求4所述的方法,其特征在于,所述下行参数包括所述接收客户端所需的视频分辨率和所述接收客户端的下行带宽;所述根据所述下行参数,生成所述接收客户端所需的传输码率,包括:根据所述接收客户端所需的视频分辨率以及所述下行带宽,生成所述接收客户端所需的传输码率。
6.根据权利要求5所述的方法,其特征在于,所述更新所述接收客户端的下行参数,包括:更新所述接收客户端的下行参数中所述接收客户端所需的视频分辨率。7.根据权利要求2-6中任一项所述的方法,其特征在于,所述在所述可使用的传输码率中,确定与所述发送客户端的上行带宽匹配的目标传输码率,包括:确定所述可使用的传输码率中与所述上行带宽匹配的多个候选传输码率;确定所述多个候选传输码率对应的优先级;基于所述优先级,在所述多个候选传输码率中确定所述目标传输码率。8.根据权利要求7所述的方法,其特征在于,所述确定所述多个候选传输码率对应的优先级,包括:确定所述多个候选传输码率对应的会话数据的重要程度;基于所述重要程度,在预设的权重对应关系列表中查找所述重要程度对应的优先级权重;利用所述优先级权重以及所述多个候选传输码率对应的码率值,确定所述优先级。9.根据权利要求2-6中任一项所述的方法,其特征在于,在将匹配的目标传输码率发送至对应客户端之后,所述方法还包括:获取所述发送客户端针对匹配的目标传输码率发送的会话数据上行发送请求;向所述发送客户端发送用于指示上行发送会话数据的会话数据上行发送指令;获取所述发送客户端基于所述会话数据上行发送指令以匹配的目标传输码率发送的会话数据。10.根据权利要求9所述的方法,其特征在于,其特征在于,在获取所述发送客户端基于会话数据上行发送指令以匹配的目标传输码率发送的会话数据之后,所述方法还包括:获取所述接收客户端发送的会话数据获取请求;针对所述会话数据获取请求,在所述会话数据中确定与所述下行参数匹配的会话数据;将与所述下行参数匹配的会话数据发送至所述接收客户端。11.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器在执行所述计算机程序时实现权利要求1-10中任一项所述的方法。12.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-10中任一项所述的方法。
技术总结本申请提供了一种视频通话数据的传输方法、装置、电子设备及存储介质,涉及通信技术领域。其中,该方法应用于多个客户端进行通视频会议的过程中,包括:针对视频会议的过程中的发送客户端以及与发送客户端对应的至少一个接收客户端,确定发送客户端上行发送视频通话数据时可使用的传输码率;在可使用的传输码率中,确定与发送客户端的上行带宽匹配的目标传输码率;将匹配的目标传输码率发送至对应客户端;获取发送客户端以匹配的目标传输码率发送的视频通话数据;将视频通话数据中与下行参数匹配的视频通话数据发送至对应接收客户端。本申请的方案,避免了视频会议过程中因传输码率不满足上行带宽或者下行参数而导致的通信卡顿及通信时延问题。顿及通信时延问题。顿及通信时延问题。
技术研发人员:马云飞 林贤上 张俊韶 崔耀 李竞 刘洪强
受保护的技术使用者:阿里巴巴(中国)有限公司
技术研发日:2022.07.20
技术公布日:2022/11/1