一种将多路视频流压缩成一路视频流的方法及系统的制作方法

文档序号:9691357阅读:577来源:国知局
一种将多路视频流压缩成一路视频流的方法及系统的制作方法
【技术领域】
[0001]本发明涉及视频技术领域,更具体地说,涉及一种将多路视频流压缩成一路视频流的方法及系统。
【背景技术】
[0002]随着移动端的普及和移动网络的进一步加强,音视频会话进入移动终端已经成为一种趋势。两个客户端之间进行音视频会话的技术和产品已经相当成熟。但是多人音视频的会话对于客户端来说仍然效果不太理想,多路视频流的接收、处理、解码给予客户端的压力太大,3G/4G环境下耗费的流量太大以及客户端根据视频流的数量来布局显示都影响了多人音视频会话在客户端的发展。
[0003]由于客户端CPU、内存和显卡的处理功能有限,服务器如果只是做传统的从各个客户端接收视频流后然后转发给其他的客户端,每个客户端都需要建立η个连接(η为进行多人音视频的人数),1个用来上传自己的视频流,η-l个用来接收其他客户端的视频流,如图1所示,客户端接收多路视频流之后再进行处理和解码,这对客户端的性能要求太高,就很可能导致处理数据不及时而引起网络阻塞和视频延时及不连续等异常情况的产生。
[0004]如图2所示,以单个客户端为例说明客户端和服务器的数据连接和交互过程,客户端上传视频流至服务器,服务器接收到该客户端的视频流及该客户端所在房间内其他客户端的视频流后转发给该客户端,如图所示总共为三路视频流,每一客户端对这三路视频流进行缓存并分别对每路视频流取出分辨率等参数进行布局处理,之后分别对每路视频流进行解码,依布局显示在该客户端的界面上。因此现有的方案虽然能实现多路视频连接,但占用带宽大,每一客户端需要接收并解码多路视频流,浪费流量且性能要求较高。总之,在现有的多人视频会话中,客户端的处理负担较大,占用CHJ和内存过高。

【发明内容】

[0005]本发明要解决的技术问题在于,针对现有技术的上述客户端的处理负担较大的缺陷,提供一种将多路视频流压缩成一路视频流的方法及系统。
[0006]本发明解决其技术问题所采用的技术方案是:构造一种将多路视频流压缩成一路视频流的方法,所述方法包括:
[0007]S1、多个客户端分别上传相关信息和视频流给服务器;
[0008]S2、所述服务器接收并缓存每一所述客户端上传的视频流,依据不同的客户端上传的相关信息,分别对所述多个客户端上传的视频流进行初始布局,并依所述初始布局将多个客户端上传的多路视频流压缩成一路视频流;
[0009]S3、将压缩后的所述一路视频流发送给相应的客户端以进行显示。
[0010]在上述将多路视频流压缩成一路视频的方法中,每一所述客户端上传给所述服务器的相关信息包括本客户端的基本用户信息、屏幕尺寸以及本客户端的视频窗口在自身屏幕上所占位置。
[0011]在上述将多路视频流压缩成一路视频的方法中,若所述多个客户端中有一个或多个退出连接,所述方法还包括:
[0012]所述服务器在进行初始布局时空余出退出的客户端的视频窗口,退出的客户端上传的视频流压缩后的数据为空,同时参与连接的其余客户端在相应的视频窗口显示黑屏。
[0013]在上述将多路视频流压缩成一路视频的方法中,若有一个或多个客户端请求加入连接,所述方法还包括:
[0014]检测所述服务器的初始布局上是否有空余的视频窗口,若有则优先占用空余的视频窗口,若没有则依照与服务器进行连接的先后顺序进行初始布局。
[0015]在上述将多路视频流压缩成一路视频的方法中,在将压缩后的一路视频流发送给相应的客户端之前还包括:
[0016]所述服务器检测每一所述客户端的网络状态,并根据每一所述客户端的网络状态确定发送给该客户端的视频分辨率。
[0017]在上述将多路视频流压缩成一路视频的方法中,若某一客户端指定查看所述多个客户端中的一个或多个上传的视频流,所述步骤S3包括:
[0018]所述服务器对从所述多个客户端中指定的一个或多个客户端上传的视频流进行初始布局,并依所述初始布局将从所述多个客户端中指定的一个或多个客户端上传的视频流压缩成一路视频流。
[0019]还提供一种将多路视频流压缩成一路视频流的系统,包括服务器及与所述服务器网络连接的多个客户端,所述服务器包括第一视频接收模块、布局模块、压缩模块以及视频转发模块,每一所述客户端包括视频传输模块、相关信息传输模块,其中:
[0020]所述视频传输模块,用于上传视频流给所述第一视频接收模块;
[0021]所述视频接收模块,用于接收并缓存第一客户端上传的视频流;
[0022]所述相关信息传输模块,用于上传相关信息给所述布局模块;
[0023]所述布局模块,用于依据不同的客户端上传的相关信息,分别对所述多个客户端上传的视频流进行初始布局;
[0024]所述压缩模块,用于依所述初始布局将多路视频流压缩成一路视频流;
[0025]所述视频转发模块,用于将压缩后的所述一路视频发送给相应的客户端。
[0026]在上述将多路视频流压缩成一路视频流的系统中,每一所述客户端还包括依次连接的第二视频接收模块、解码模块以及显示模块,所述第二视频接收模块用于从所述服务器接收相应的经压缩后的一路视频流并发送给所述解码模块进行解码,由所述解码模块解码后发送给所述显示模块进行显示。
[0027]在上述将多路视频流压缩成一路视频流的系统中,每一所述客户端上传给服务器的相关信息包括本客户端的基本用户信息、屏幕尺寸以及本客户端的视频窗口在自身屏幕上所占位置。
[0028]在上述将多路视频流压缩成一路视频流的系统中,若某一客户端指定查看所述多个客户端中的一个或多个上传的视频流,所述布局模块用于对从所述多个客户端中指定的一个或多个客户端上传的视频流进行初始布局;所述压缩模块用于依所述初始布局将从所述多个客户端中指定的一个或多个客户端上传的视频流压缩成一路视频流。
[0029]实施本发明的将多路视频流压缩成一路视频流的方法及系统,具有以下有益效果:服务器依据不同的客户端上传的相关信息,分别对多个客户端上传的视频流进行初始布局,并依该初始布局将多个客户端上传的多路视频流压缩成一路视频流后转发给相应的客户端以按照初始布局进行显示,从而使视频流传输的主要工作在服务器进行,减轻了客户端的压力,减少了网络连接数量和视频流量,节省了系统带宽;另外客户端还可指定查看某一路或几路视频,更加灵活,满足客户多样化的需求。
【附图说明】
[0030]下面将结合附图及实施例对本发明作进一步说明,附图中:
[0031 ]图1是现有技术中的η个客户端与服务器建立视频会话连接的示意图;
[0032]图2是现有技术中的客户端和服务器之间进行数据连接和交互过程的结构示意图;
[0033]图3是本发明一种将多路视频流压缩成一路视频流的方法的流程示意图;
[0034]图4是将多路视频流压缩成一路视频流
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1