一种媒体优化方法、装置和存储介质

文档序号:452558 发布日期:2021-12-28 浏览:3次 >En<

阅读说明:本技术 一种媒体优化方法、装置和存储介质 (Media optimization method, device and storage medium ) 是由 戚兴海 于 2020-06-28 设计创作,主要内容包括:本发明公开一种媒体优化方法、装置和存储介质,属于多流视频会议领域。该方法包括:本发明的技术方案,获取与多点控制单元MCU连接的每个客户端的网络信息;利用每个客户端的网络信息,确定客户端之间的链路信息;当与MCU连接的第一客户端与MCU之间的链路不通畅时,利用由每个客户端的网络信息和客户端之间的链路信息确定的能够传送媒体流的第二客户端,向第一客户端传送媒体流。本发明通过客户端的网络信息确定客户端之间的链路信息,在出现第一客户端与MCU之间的链路不通畅时,转由与第一客户端链路通畅的第二客户端向第一客户端转发MCU下发的媒体流,在弱网环境下,提升了客户端体验,分担了传统MCU压力,解决客户端及时获取媒体流的问题。(The invention discloses a media optimization method, a media optimization device and a storage medium, and belongs to the field of multi-stream video conferences. The method comprises the following steps: according to the technical scheme, network information of each client connected with a Multipoint Control Unit (MCU) is obtained; determining link information between the clients by using the network information of each client; and when the link between the first client connected with the MCU and the MCU is not smooth, transmitting the media stream to the first client by using a second client which is determined by the network information of each client and the link information between the clients and can transmit the media stream. According to the method and the device, the link information between the client sides is determined through the network information of the client sides, when the link between the first client side and the MCU is not smooth, the second client side which is smooth in link with the first client side forwards the media stream issued by the MCU to the first client side, the client side experience is improved under a weak network environment, the traditional MCU pressure is shared, and the problem that the client side acquires the media stream in time is solved.)

一种媒体优化方法、装置和存储介质

技术领域

本发明涉及多流视频会议技术领域,尤其涉及一种媒体优化方法、装置和存储介质。

背景技术

当前多流视频会议,由客户端分别上传自己的视频数据到多点控制单元MCU,MCU再分发给各个客户端,MCU相当于一个中转站,每个客户端只能通过请求MCU去拉取要展示的视频会议流,如图1所示。

这种情况下,当某个客户端与MCU之间的网络状况很差时,便极大的影响视频拉取的速度和质量,客户端只能等待拉取视频会议流。

发明内容

本发明实施例的主要目的在于提出一种媒体优化方法、装置和存储介质,旨在某个客户端与MCU之间的网络状况很差时,获取媒体流。

为实现上述目的,本发明实施例提供了一种媒体优化方法,所述方法包括:

获取与多点控制单元MCU连接的每个客户端的网络信息;

利用每个客户端的网络信息,确定客户端之间的链路信息;

当与MCU连接的第一客户端与MCU之间的链路不通畅时,利用由每个客户端的网络信息和客户端之间的链路信息确定的能够传送媒体流的第二客户端,向第一客户端传送媒体流。

优选地,所述获取与MCU连接的每个客户端的网络信息包括:

周期性获取每个客户端发送的网络信息;或者定时获取每个客户端发送的网络信息;或者实时获取每个客户端发送的网络信息;

其中,所述每个客户端发送的网络信息包括客户端的IP地址、客户端所在的网段、客户端与MCU之间的链路的带宽和速率。

优选地,所述利用每个客户端的网络信息,确定客户端之间的链路信息包括:

将携带待测试链路的客户端IP地址的链路测试请求发送至与MCU连接的其它所有客户端,以便其它所有客户端根据所述链路测试请求中的待测试链路的客户端IP地址,分别确定与待测试链路的客户端之间的链路信息;

接收其它所有客户端响应所述链路测试请求返回的与待测试链路的客户端之间的链路信息。

优选地,在所述当与MCU连接的第一客户端与MCU之间的链路不通畅时,利用由每个客户端的网络信息和客户端之间的链路信息确定的能够传送媒体流的第二客户端向第一客户端传送媒体流之前,还包括:

根据周期性获取或者定时获取的每个客户端发送的网络信息以及利用周期性获取或者定时获取的每个客户端的网络信息确定的客户端之间的链路信息,为第一客户端生成包含能够为第一客户端传送媒体流的第二客户端信息的路由链路表。

优选地,所述当与MCU连接的第一客户端与MCU之间的链路不通畅时,利用由每个客户端的网络信息和客户端之间的链路信息确定的能够传送媒体流的第二客户端向第一客户端传送媒体流包括:

当第一客户端与MCU之间的链路不通畅时,获取第一客户端的路由链路表;

将为第一客户端传输媒体流的指令发送给所述路由链路表指示的第二客户端,以便由所述路由链路表指示的第二客户端向第一客户端传送媒体流。

优选地,所述当与MCU连接的第一客户端与MCU之间的链路不通畅时,利用由每个客户端的网络信息和客户端之间的链路信息确定的能够传送媒体流的第二客户端向第一客户端传送媒体流包括:

当第一客户端与MCU之间的链路不通畅时,根据实时获取的每个客户端发送的网络信息以及利用实时获取的每个客户端的网络信息确定的客户端之间的链路信息,为第一客户端生成包含能够为第一客户端传送媒体流的第二客户端信息的路由链路表;

将为第一客户端传输媒体流的指令发送给所述路由链路表指示的第二客户端,以便由所述路由链路表指示的第二客户端向第一客户端传送媒体流。

优选地,所述为第一客户端生成包含能够为第一客户端传送媒体流的第二客户端信息的路由链路表包括:

根据每个客户端与MCU之间的链路的带宽和速率,确定每个客户端与MCU之间的链路的通畅程度信息;

根据每个客户端所在的网段,确定处于同一网段的客户端;

根据客户端之间的链路信息,确定相互连接的客户端;

根据每个客户端与MCU之间的链路的通畅程度信息、处于同一网段的客户端、相互连接的客户端,为第一客户端生成包含能够为第一客户端传送媒体流的第二客户端信息的路由链路表。

优选地,所述根据每个客户端与MCU之间的链路的通畅程度信息、处于同一网段的客户端、相互连接的客户端,为第一客户端生成包含能够为第一客户端传送媒体流的第二客户端信息的路由链路表包括:

按照每个客户端与MCU之间的链路的通畅程度信息,确定与MCU之间的链路不通畅的第一客户端;

在与第一客户端处于同一网段的客户端以及相互连接的客户端中,为第一客户端检索与其连接通畅的客户端作为能够为第一客户端传送媒体流的第二客户端,并为第一客户端生成包含第二客户端的路由链路表。

为实现上述目的,本发明实施例还提出了一种媒体优化装置,所述装置包括:

获取模块,用于获取与多点控制单元MCU连接的每个客户端的网络信息;

确定模块,用于利用每个客户端的网络信息,确定客户端之间的链路信息;

优化模块,用于当与MCU连接的第一客户端与MCU之间的链路不通畅时,利用由每个客户端的网络信息和客户端之间的链路信息确定的能够传送媒体流的第二客户端,向第一客户端传送媒体流。

为实现上述目的,本发明提供了一种存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述方法的步骤。

本发明实施例提出的一种媒体优化方法、装置和存储介质,通过客户端的网络信息确定客户端之间的链路信息,在出现第一客户端与MCU之间的链路不通畅时,转由与第一客户端链路通畅的第二客户端向第一客户端转发MCU下发的媒体流,在弱网环境下,提升了客户端体验,分担了传统MCU压力,解决客户端及时获取媒体流的问题。

附图说明

图1是已有技术的媒体流传输网络示意图。

图2是本发明实施例提供的媒体优化方法的流程图。

图3是本发明实施例提供的媒体优化装置的结构示意图。

图4是本发明实施例提供的视频流优化的流程图。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特有的意义。因此,“模块”、“部件”或“单元”可以混合地使用。

实施例一

如图2所示,本实施例提供了一种媒体优化方法,该方法可以包括:

步骤S100:获取与多点控制单元MCU连接的每个客户端的网络信息。

具体地,可以周期性获取每个客户端发送的网络信息;也可以定时获取每个客户端发送的网络信息;或者还可以实时获取每个客户端发送的网络信息。

其中,所述每个客户端发送的网络信息包括客户端的IP地址、客户端所在的网段、客户端与MCU之间的链路的带宽和速率。

步骤S120:利用每个客户端的网络信息,确定客户端之间的链路信息。

具体地,将携带待测试链路的客户端IP地址的链路测试请求发送至与MCU连接的其它所有客户端,以便其它所有客户端根据所述链路测试请求中的待测试链路的客户端IP地址,分别确定与待测试链路的客户端之间的链路信息,然后接收其它所有客户端响应所述链路测试请求返回的与待测试链路的客户端之间的链路信息。

步骤S130:当与MCU连接的第一客户端与MCU之间的链路不通畅时,利用由每个客户端的网络信息和客户端之间的链路信息确定的能够传送媒体流的第二客户端,向第一客户端传送媒体流。

具体地,在一个实施方式中,可以预先根据周期性获取或者定时获取的每个客户端发送的网络信息以及利用周期性获取或者定时获取的每个客户端的网络信息确定的客户端之间的链路信息,为第一客户端生成包含能够为第一客户端传送媒体流的第二客户端信息的路由链路表。这样,当第一客户端与MCU之间的链路不通畅时,获取预先生成的第一客户端的路由链路表,并将为第一客户端传输媒体流的指令发送给所述路由链路表指示的第二客户端,以便由所述路由链路表指示的第二客户端向第一客户端传送媒体流。在另一实施方式中,当第一客户端与MCU之间的链路不通畅时,根据实时获取的每个客户端发送的网络信息以及利用实时获取的每个客户端的网络信息确定的客户端之间的链路信息,为第一客户端生成包含能够为第一客户端传送媒体流的第二客户端信息的路由链路表,并将为第一客户端传输媒体流的指令发送给所述路由链路表指示的第二客户端,以便由所述路由链路表指示的第二客户端向第一客户端传送媒体流。

其中,根据每个客户端与MCU之间的链路的带宽和速率,确定每个客户端与MCU之间的链路的通畅程度信息,根据每个客户端所在的网段,确定处于同一网段的客户端,根据客户端之间的链路信息,确定相互连接的客户端,根据每个客户端与MCU之间的链路的通畅程度信息、处于同一网段的客户端、相互连接的客户端,为第一客户端生成包含能够为第一客户端传送媒体流的第二客户端信息的路由链路表,具体地,按照每个客户端与MCU之间的链路的通畅程度信息,确定与MCU之间的链路不通畅的第一客户端,在与第一客户端处于同一网段的客户端以及相互连接的客户端中,为第一客户端检索与其连接通畅的客户端作为能够为第一客户端传送媒体流的第二客户端,并为第一客户端生成包含第二客户端的路由链路表。

本发明实施例提出的一种媒体优化方法,通过客户端的网络信息确定客户端之间的链路信息,在出现第一客户端与MCU之间的链路不通畅时,转由与之链路通畅的第二客户端向其转发MCU下发的媒体流,在弱网环境下,提升了客户端体验,分担了传统MCU压力,解决客户端及时获取媒体流的问题。

如图3所示,本实施例提供了一种媒体优化装置,所述装置可以包括:获取模块10、确定模块20和优化模块30。其中:

所述获取模块10,用于获取与多点控制单元MCU连接的每个客户端的网络信息,具体地,所述获取模块10可以周期性获取每个客户端发送的网络信息;也可以定时获取每个客户端发送的网络信息;或者还可以实时获取每个客户端发送的网络信息,其中,所述每个客户端发送的网络信息包括客户端的IP地址、客户端所在的网段、客户端与MCU之间的链路的带宽和速率。

所述确定模块20,用于利用每个客户端的网络信息,确定客户端之间的链路信息,具体地,所述确定模块20将携带待测试链路的客户端IP地址的链路测试请求发送至与MCU连接的其它所有客户端,以便其它所有客户端根据所述链路测试请求中的待测试链路的客户端IP地址,分别确定与待测试链路的客户端之间的链路信息,然后接收其它所有客户端响应所述链路测试请求返回的与待测试链路的客户端之间的链路信息。

优化模块30,用于当与MCU连接的第一客户端与MCU之间的链路不通畅时,利用由每个客户端的网络信息和客户端之间的链路信息确定的能够传送媒体流的第二客户端,向第一客户端传送媒体流。具体地,在一个实施方式中,所述优化模块30可以预先根据周期性获取或者定时获取的每个客户端发送的网络信息以及利用周期性获取或者定时获取的每个客户端的网络信息确定的客户端之间的链路信息,为第一客户端生成包含能够为第一客户端传送媒体流的第二客户端信息的路由链路表。这样,当第一客户端与MCU之间的链路不通畅时,获取预先生成的第一客户端的路由链路表,并将为第一客户端传输媒体流的指令发送给所述路由链路表指示的第二客户端,以便由所述路由链路表指示的第二客户端向第一客户端传送媒体流。在另一实施方式中,当第一客户端与MCU之间的链路不通畅时,所述优化模块30根据实时获取的每个客户端发送的网络信息以及利用实时获取的每个客户端的网络信息确定的客户端之间的链路信息,为第一客户端生成包含能够为第一客户端传送媒体流的第二客户端信息的路由链路表,并将为第一客户端传输媒体流的指令发送给所述路由链路表指示的第二客户端,以便由所述路由链路表指示的第二客户端向第一客户端传送媒体流。其中,根据每个客户端与MCU之间的链路的带宽和速率,确定每个客户端与MCU之间的链路的通畅程度信息,根据每个客户端所在的网段,确定处于同一网段的客户端,根据客户端之间的链路信息,确定相互连接的客户端,根据每个客户端与MCU之间的链路的通畅程度信息、处于同一网段的客户端、相互连接的客户端,为第一客户端生成包含能够为第一客户端传送媒体流的第二客户端信息的路由链路表,具体地,按照每个客户端与MCU之间的链路的通畅程度信息,确定与MCU之间的链路不通畅的第一客户端,在与第一客户端处于同一网段的客户端以及相互连接的客户端中,为第一客户端检索与其连接通畅的客户端作为能够为第一客户端传送媒体流的第二客户端,并为第一客户端生成包含第二客户端的路由链路表。

本发明实施例提出的一种媒体优化装置,通过客户端的网络信息确定客户端之间的链路信息,在出现第一客户端与MCU之间的链路不通畅时,转由与之链路通畅的第二客户端向其转发MCU下发的媒体流,在弱网环境下,提升了客户端体验,分担了传统MCU压力,解决客户端及时获取媒体流的问题。

下面以常见的视频会议场景为,进行详细说明。

如图4所示,媒体优化具体实现的步骤可以包括:

步骤401:客户端入会后,每隔一段时间上传自身的网络链路情况(相当于前述实施例中的网络信息)到业务服务器,包括自身的ip,网段,带宽和速率等信息。

步骤402:业务服务器收集到客户端相关信息后,组成一个可供操作的数据结构,保存客户端相关信息。然后通过下发需要测试链接的客户端ip地址到其他客户端,检索各个客户端之间的链路连接情况(相当于前述实施例中的客户端之间的链路信息)。

步骤403:根据获取到的各个客户端的连接情况,结合网段和带宽信息,建立若干个客户端的路由链路表。

其中,可以按照如下的客户端路由链路表生成原则生成客户端的路由链路表:步骤1、按客户端与MCU之间的连接状态分类,由链路的通畅程度由优至差的顺序分为ABC三类。步骤2、按客户端之间的连接状态分类,同一网段的归为一类,剩下的按照各自之间的链路通畅程度再归类,已相互匹配的不再进行分类。3、按照上面两步的分类结果,为步骤1中的C类客户端(即为与MCU链路不是很通畅的客户端),在步骤2中生成的分类结果中进行检索,找到与其连接通畅的客户端,如果对应的客户端在步骤1中为A类,则确认它们之间的路由关系;若不在A类中,则继续查找下一个C类客户端,直至遍历完成;如果都没有,则在B类中继续查找,直至确认路由关系。

步骤404:客户端A在检测到与MCU之间连接不畅时,上报到业务服务器,业务服务器根据生成的路由链路表,将指令分发到对应的客户端,例如与A相关的链路为:A---B---C,则B从C获取A所需的视频资源,A再从B获取。

步骤405:业务服务器根据链路分配和执行的情况,及时调整剩余客户端的路由链路表。

本实施例的客户端可以是视频会议客户端(软终端),本实施例的方法能够在弱网环境下,提升客户端视频体验和分担传统MCU压力的方法。

例如:假设当前有6个客户端同时入会,分别为代号a,b,c,d,e,f。按照上述原则进行如下处理:

1、按照与MCU的通畅程度分类为下面三类:

A类:a、b;

B类:c、d;

C类:e、f;

2、按照客户端之间的各自连接状态归为下面几类:

按同一网段分为:a、b、f和c、d、e两类;

按各自之间的连接情况分为:a、d、f和b、c、e两类;

3、按链路表生成规则,生成的链路为下面的情况:

当前与MCU之间的链路最差的为e和f;

e和d为同一网段,d和a的链路情况很好,a又属于和MCU连接最通畅的一类,则e的路由表为e-->d-->a;

同理可得f对应的路由表为f-->b;

这样,当e向业务服务器发起链路不通的请求时,业务服务器通知a向d转发视频资源,d向e转发视频资源,同时停止MCU向d和e之间的资源传输。

在图4所示实施例的基础上,MCU也可以通过与业务服务器之间通信,将自身的负荷情况以及和客户端的连接情况通知到业务服务器,帮助业务服务器完善链路信息,使MCU在自身负荷超载的时候采用这种方式分担一部分压力到客户端上。

本实施例通过客户端实时上传自身的网络状况来判断各个客户端之间的链路情况,在出现客户端与MCU链路不通畅的时候,转由与之网络通畅的其他客户端向其转发MCU下发的视频流,及时解决客户端的视频获取问题。将该方法应用于多流会议中,不仅可以使MCU在自身负荷超载的时候采用这种方式分担一部分压力到客户端上,而且当客户端拉取视频吃力的时候,也可以通过这种方式,寻求与之网络链路通畅的其他客户端获取视频。

需要说明的是,当前方案需要的带宽较大,在5G时代,网速和带宽不再是限制条件时,理论上该方案中的业务服务器可以取代MCU。

本发明实施例还提出一种存储介质,该计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现前述媒体优化方法的步骤。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。

在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种音频数据处理方法及电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类