一种视频会议系统的视频流轮播方法与流程

文档序号:11778836阅读:631来源:国知局
一种视频会议系统的视频流轮播方法与流程

本发明涉及视频会议技术领域,尤其涉及一种视频会议系统的视频流轮播方法。



背景技术:

现有的视频会议系统,通常均具备4x4(16人)及以上的布局显示方式。布局可容纳的人数越多,每一路视频流在布局显示的画面就越小,从而影响到用户体验。因此,考虑到用户观看视频画面的体验,一般来说最大选择4x4布局显示方式。但是,如果与会视频终端超过了布局可容纳最大方数,那么如果要将不在布局中的视频流显示到布局中,则需要人为通过会控系统将其拉入布局。

轮播功能就是基于这种与会视频终端较多的视频会议场景下提出的一种解决方案。所谓的轮播功能,即定时的将与会的视频流解码数据,添加到布局中指定位置进行视频画面合成编码,再发送给各个会场终端,无需人为进行会控操作。随着会议的进行,每个会场都可以观察到其他会场的视频画面。

现有的会议视频轮播技术,主要存在以下两个缺点:

第一,对于没在轮播合成画面中的会场终端,并没有停止向服务器发送视频流,而这些视频流对于当下轮播合成画面是没有用的。在与会视频终端较多的情况下,对服务器的下行带宽造成较大压力,容易造成网络拥塞,导致在轮播合成画面中的视频流丢包,影响体验;

第二,服务器对于没有在轮播合成画面中的视频流会继续解码,从而达到轮播切换的过程平滑。但是,在某个轮播周期内,并没有必要对没在轮播合成画面中的视频流一直解码,而只要在需要合成某路视频流时,提前一定时间对视频流进行解码,并对解码数据进行缓存。这样,当需要合成某路视频流时,能够从解码缓存中获取解码数据进行合成,即可实现平滑切换。如果在某个轮播周期内,一直对不在轮播合成画面中的视频流进行解码,其实对于服务器的硬件性能是一种浪费,也降低了服务器可支持的最大并发方数。



技术实现要素:

本发明要解决的技术问题,在于提供一种视频会议系统的视频流轮播方法,有效降低带宽压力,提升服务器可支持的最大并发方数。

本发明是这样实现的:

一种视频会议系统的视频流轮播方法,包括如下步骤:

步骤1、mcu服务器配置轮播预测时间t,根据轮播预测时间t确定出每一轮播周期内的预测开始时刻t1和预测结束时刻t2;

步骤2、当到达本轮轮播的预测开始时刻t1时,mcu服务器向下一轮轮播的视频终端发送开始发送视频流的控制指令,下一轮轮播的视频终端接收到该开始发送视频流的控制指令后,向mcu服务器发送对应的视频流;

步骤3、mcu服务器向下一轮轮播的视频终端发送关键帧请求,下一轮轮播的视频终端接收到该关键帧请求后,将视频画面编码成关键帧,并发送给mcu服务器;

步骤4、mcu服务器开启下一轮轮播的视频流的解码开关,对接收的下一轮轮播的视频流进行解码,将解码后的视频数据存储至解码缓存队列中;

步骤5、当到达本轮轮播的预测结束时刻t2时,mcu服务器将本轮轮播的视频终端对应的视频画面移出轮播合成画面;

步骤6、mcu服务器向本轮轮播的视频终端发送停止发送视频流的指令,本轮轮播的视频终端接收到该停止发送视频流的指令后,停止向mcu服务器发送对应的视频流;

步骤7、mcu服务器重置本轮轮播的视频终端的视频流的解码器,并关闭本轮轮播的视频流的解码开关,暂停解码功能;

步骤8、mcu服务器从下一轮轮播的视频终端的视频流的解码缓存队列中获取视频数据进行轮播合成画面的合成和编码,并发送给所有视频终端。

进一步地,所述步骤1中mcu服务器配置轮播预测时间t具体为:

所述mcu服务器根据视频终端的发送帧率、mcu服务器设置的抖动缓冲器最小缓存大小、解码器的解码预估时间以及网络延迟预估时间,获得最优的轮播预测时间t;

所述轮播预测时间t是通过视频终端的发送帧率、mcu服务器设置的抖动缓冲器最小缓存大小以及自定义预留时间计算出来的,所述自定义预留时间是通过解码器的解码预估时间和网络延迟预估时间得到的,其计算公式为:

轮播预测时间t=抖动缓冲器最小缓存大小/视频终端的发送帧率+解码器的解码预估时间+网络延迟预估时间;

其中,轮播预测时间t的单位为秒,抖动缓冲器最小缓存大小的单位为帧,视频终端的发送帧率的单位为帧/秒,解码器的解码预估时间和网络延迟预估时间的单位为秒。

进一步地,所述步骤4和步骤8构成的解码过程具体为:

mcu服务器接收下一轮轮播的视频终端发送过来的视频流,并存储至mcu服务器上对应的抖动缓冲器内进行缓存,mcu服务器开启下一轮轮播的视频流的解码开关,mcu服务器上对应的解码器从抖动缓冲器内获取对应的视频流进行解码,并将解码后的视频数据存储至mcu服务器上对应的解码缓存队列中;

mcu服务器从对应的解码缓存队列中获取相应的视频数据进行轮播合成画面的合成,并将合成后的视频数据通过mcu服务器上的编码器进行编码,再将编码后的轮播合成画面发送给所有视频终端。

本发明具有如下优点:

本发明通过引入带有终端视频流发送控制的控制指令的rtcp报文,以及提前预测处理功能,在保证轮播平滑切换的前提下,可以在高并发条件下有效地降低服务器的下行带宽压力,改善网络拥塞情况。同时,也可以充分地利用服务器的硬件性能,提高服务器的并发性能,即可并发参会的视频方数。

本发明给出了预测时间计算公式,mcu服务器根据视频终端的发送帧率、mcu服务器设置的抖动缓冲器最小缓存大小、解码器的解码能力(解码器的解码预估时间)以及网络传输情况(网络延迟预估时间),获得最优的轮播预测时间t。如果设置的预测时间大于最优的轮播预测时间t,那么需要同时解8路视频流的时间也就越长,对于服务器并发解码压力也就越大。

附图说明

下面参照附图结合实施例对本发明作进一步的说明。

图1为本发明一种视频会议系统的视频流轮播方法中轮播周期及预测时间时间轴示意图。

图2为本发明一种视频会议系统的视频流轮播方法中第n个轮播周期示意图。

图3为本发明一种视频会议系统的视频流轮播方法中视频流开始发流控制指令示意图。

图4为本发明一种视频会议系统的视频流轮播方法中关键帧请求响应示意图

图5为本发明一种视频会议系统的视频流轮播方法中mcu服务器解码合成编码处理示意图。

图6为本发明一种视频会议系统的视频流轮播方法中视频流停止发流控制指令示意图。

图7为本发明一种视频会议系统的视频流轮播方法中第n+1个轮播周期示意图。

具体实施方式

为使得本发明更明显易懂,现以一优选实施例,并配合附图作详细说明如下。

本发明的一种视频会议系统的视频流轮播方法,其特征在于:包括如下步骤:

步骤1、mcu服务器配置轮播预测时间t,根据轮播预测时间t确定出每一轮播周期内的预测开始时刻t1和预测结束时刻t2;

所述mcu服务器配置轮播预测时间t具体为:

所述mcu服务器根据视频终端的发送帧率、mcu服务器设置的抖动缓冲器(jitterbuffer)最小缓存大小、解码器的解码预估时间以及网络延迟预估时间,获得最优的轮播预测时间t;

所述轮播预测时间t是通过视频终端的发送帧率、mcu服务器设置的抖动缓冲器最小缓存大小以及自定义预留时间计算出来的,所述自定义预留时间是通过解码器的解码预估时间和网络延迟预估时间得到的,其计算公式为:

轮播预测时间t=抖动缓冲器最小缓存大小/视频终端的发送帧率+解码器的解码预估时间+网络延迟预估时间;

其中,轮播预测时间t的单位为秒,抖动缓冲器最小缓存大小的单位为帧,视频终端的发送帧率的单位为帧/秒,解码器的解码预估时间和网络延迟预估时间的单位为秒。

步骤2、当到达本轮轮播的预测开始时刻t1时,mcu服务器向下一轮轮播的视频终端发送开始发送视频流的控制指令,下一轮轮播的视频终端接收到该开始发送视频流的控制指令后,开始向mcu服务器发送对应的视频流;

步骤3、mcu服务器向下一轮轮播的视频终端发送关键帧请求(fir,fullintrarequest),下一轮轮播的视频终端接收到该关键帧请求后,将视频画面编码成关键帧,并发送给mcu服务器;

步骤4、mcu服务器开启下一轮轮播的视频流的解码开关,对接收的下一轮轮播的视频流进行解码,将解码后的视频数据存储至解码缓存队列中;

步骤5、当到达本轮轮播的预测结束时刻t2时,mcu服务器将本轮轮播的视频终端对应的视频画面移出轮播合成画面;

步骤6、mcu服务器向本轮轮播的视频终端发送停止发送视频流的指令,本轮轮播的视频终端接收到该停止发送视频流的指令后,停止向mcu服务器发送对应的视频流;

步骤7、mcu服务器重置本轮轮播的视频终端的视频流的解码器,并关闭本轮轮播的视频流的解码开关,暂停解码功能;

步骤8、mcu服务器从下一轮轮播的视频终端的视频流的解码缓存队列中获取视频数据进行轮播合成画面的合成编码,并发送给所有视频终端。

如图5所示,所述步骤4和步骤8构成的整个解码过程具体为:

mcu服务器上设有抖动缓冲器(jitterbuffer)、解码器、解码缓存队列、编码器,mcu服务器接收下一轮轮播的视频终端发送过来的视频流,并存储至对应的抖动缓冲器内进行缓存,mcu服务器开启下一轮轮播的视频流的解码开关,对应的解码器从抖动缓冲器内获取对应的视频流进行解码,并将解码后的视频数据存储至对应的解码缓存队列中;

mcu服务器从对应的解码缓存队列中获取相应的视频数据进行轮播合成画面的合成,并将合成后的视频数据通过编码器进行编码,再将编码后的轮播合成画面发送给所有视频终端。

实施例一:

如图1所示,mcu服务器根据视频终端的发送帧率、mcu服务器设置的抖动缓冲器最小缓存大小、解码器的解码预估时间以及网络延迟预估时间,配置出轮播预测时间t为500ms,即mcu服务器在某一轮轮播结束前的500ms要开始轮播预测的相关处理。第n个轮播周期为tn,第n+1个轮播周期为tn+1,第n+2个轮播周期为tn+2。

如图2所示,假设某个轮播会议场景中,拥有8个视频终端,且该会议布局方式设置成2x2的布局,同时假设轮播顺序为1、2、…8。在第n个轮播周期中,轮播合成画面需要合成来自视频终端1、视频终端2、视频终端3、视频终端4的视频画面,然后发送给所有视频终端。此时,由于需要合成视频终端1、视频终端2、视频终端3、视频终端4的视频画面,那么这4个视频终端需要向mcu服务器发送视频流,而视频终端5、视频终端6、视频终端7、视频终端8不在轮播合成画面中,没有必要向mcu服务器发送视频流。视频终端开始发送或停止发送的控制方式是通过rtcp报文进行控制的,rtcp报文中增加有开始发送视频流的控制指令或停止发送视频流的控制指令,当需要视频终端发送视频流时,mcu服务器发送带有开始发送视频流的控制指令的rtcp报文给相应的视频终端,视频终端接收后,通过识别rtcp报文中的开始发送视频流的控制指令,从而相应的视频终端发送视频流给mcu服务器;当不需要视频终端发送视频流时,mcu服务器发送带有停止发送视频流的控制指令的rtcp报文给相应的视频终端,视频终端接收后,通过识别rtcp报文中的停止发送视频流的控制指令,从而相应的视频终端不再发送视频流给mcu服务器。

当时间到达第n轮轮播结束前的500ms时(即预测开始时刻t1,见图1),开始预测的相关处理。由图2可知,第n轮轮播的轮播合成画面为视频终端1、视频终端2、视频终端3、视频终端4,则第n+1轮轮播的轮播合成画面就为视频终端5、视频终端6、视频终端7、视频终端8。此时,mcu服务器与视频终端之间需要完成三个任务:

a1、如图3所示,mcu服务器通过发送带有开始发送视频流的控制指令的rtcp报文给视频终端5、视频终端6、视频终端7、视频终端8,告知视频终端5、视频终端6、视频终端7、视频终端8往mcu服务器发送视频流,视频终端5、视频终端6、视频终端7、视频终端8接收到该rtcp报文后,识别开始发送视频流的控制指令,将对应的视频流发送给mcu服务器;

a2、如图4所示,紧接着mcu服务器向视频终端5、视频终端6、视频终端7、视频终端8发送关键帧请求,视频终端5、视频终端6、视频终端7、视频终端8接收到该关键帧请求后,将视频画面编码成关键帧,方便合成视频画面,并发送给mcu服务器;

a3、如图5所示,mcu服务器接收下一轮轮播的视频终端发送过来的视频流,并对应存储至抖动缓冲器5、抖动缓冲器6、抖动缓冲器7、抖动缓冲器8内进行缓存,mcu服务器开启视频终端5、视频终端6、视频终端7、视频终端8这4路视频流的解码开关(解码器在n-1轮轮播结束时已完成重置),对应的解码器5、解码器6、解码器7、解码器8从抖动缓冲器5、抖动缓冲器6、抖动缓冲器7、抖动缓冲器8内获取对应的视频流进行解码,成功解码的视频数据放入对应的解码缓存队列5、解码缓存队列6、解码缓存队列7、解码缓存队列8中。

当时间到达第n轮轮播结束时刻时(即预测结束时刻t2,见图1),此时,mcu服务器与视频终端之间需要完成三个操作:

b1、mcu服务器将视频终端1、视频终端2、视频终端3、视频终端4的视频画面移出轮播合成画面;

b2、如图6所示,mcu服务器通过发送带有停止发送视频流的控制指令的rtcp报文给视频终端1、视频终端2、视频终端3、视频终端4,告知视频终端1、视频终端2、视频终端3、视频终端4停止往mcu服务器发送视频流,视频终端1、视频终端2、视频终端3、视频终端4接收到该rtcp报文后,识别停止发送视频流的控制指令,停止将对应的视频流发送给mcu服务器;

b3、mcu服务器重置视频终端1、视频终端2、视频终端3、视频终端4的视频流的解码器,并关闭视频终端1、视频终端2、视频终端3、视频终端4的视频流的解码开关,暂停解码功能;

接下来,如图5所示,mcu服务器从视频终端5、视频终端6、视频终端7、视频终端8的视频流对应的的解码缓存队列5、解码缓存队列6、解码缓存队列7、解码缓存队列8中获取相应的视频数据进行轮播合成画面的合成编码,并将合成后的视频数据通过编码器进行编码,再将编码后的轮播合成画面发送给所有视频终端,如图7所示。

本发明的优点如下:

本发明通过引入带有终端视频流发送控制的控制指令的rtcp报文,以及提前预测处理功能,在保证轮播平滑切换的前提下,可以在高并发条件下有效地降低服务器的下行带宽压力,改善网络拥塞情况。同时,也可以充分地利用服务器的硬件性能,提高服务器的并发性能,即可并发参会的视频方数。

本发明给出了预测时间计算公式,mcu服务器根据视频终端的发送帧率、mcu服务器设置的抖动缓冲器最小缓存大小、解码器的解码能力(解码器的解码预估时间)以及网络传输情况(网络延迟预估时间),获得最优的轮播预测时间t。如果设置的预测时间大于最优的轮播预测时间t,那么需要同时解8路视频流的时间也就越长,对于服务器并发解码压力也就越大。

虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1