一种动态获取视频数据的方法、装置及系统与流程

文档序号:13476614阅读:246来源:国知局
一种动态获取视频数据的方法、装置及系统与流程
本发明实施例涉及视频通信的
技术领域
,尤其涉及一种动态获取视频数据的方法、装置及系统。
背景技术
:传统的视频编解码是固定的,即编码器编出几种码流、发几个码流,客户端只能在有限的资源中调用码流,不能满足用户对码流可变的需求。另外,对于多用户不同分辨率的需求而言,编码器需要逐个编码,针对不同用户发送不同的码流,这将大大增加了编码器的工作量,在多码流的传输中势必会造成彼此信号间干扰,带宽资源的过度利用等导致视频的不流畅等问题。我们提出的系统避免了上述问题,即编码一次,同时传输一个码流,客户端根据自己实时的需求,来动态调整接收信号的层数信息,牢牢的获取了在视频分辨率方面的主动权,同时减少了不必要资源的浪费。技术实现要素:本发明实施例的目的在于提出一种动态获取视频数据的方法、装置及系统,旨在解决终端如何根据自身需求动态调整接收信息的层数信息的问题。为达此目的,本发明实施例采用以下技术方案:第一方面,一种动态获取视频数据的方法,所述方法包括:在视频媒体服务器接收到终端主动发送的视频请求的情况下,视频接入网关编码器接收视频媒体服务器发送的码流请求;所述视频接入网关编码器向前端摄像头采集视频信息;所述视频接入网关编码器经过转码和视频编码后,形成空间域多分层的单一码流,并将所述单一码流发送给所述视频媒体服务器,以使得所述视频媒体服务器接收所述单一码流,并整理叠加各层对应的分辨率列表,将所述分辨率列表发送给所述终端,所述终端根据所述分辨率列表确定接收所述单一码流的层数。优选地,所述视频接入网关编码器经过转码和视频编码后,形成空间域多分层的单一码流,包括:所述视频接入网关编码器编码后的码流经过空间域多分层后,形成的单一码流;其中,所述单一码流是终端需求中最高分辨率的码流,所述单一码流的编码格式是空间多层视频数据的叠加格式。第二方面,一种动态获取视频数据的方法,所述方法包括:视频媒体服务器接收终端主动发送的视频请求;所述视频媒体服务器向视频接入网关编码器发送码流请求,以使得所述视频接入网关编码器向前端摄像头采集视频信息,经过转码和视频编码后,形成空间域多分层的单一码流,并将所述单一码流发送给所述视频媒体服务器;所述视频媒体服务器接收所述单一码流,整理叠加各层对应的分辨率列表,将所述分辨率列表发送给所述终端,以使得所述终端根据所述分辨率列表确定接收所述单一码流的层数。优选地,所述视频媒体服务器接收所述单一码流,整理叠加各层对应的分辨率列表,包括:所述视频媒体服务器确定所述单一码流,叠加逐层视频数据对应的分辨率,以基础层bufferbase的分辨率为基础,分别获取对应的分辨率,并将所述的分辨率整理成分辨率列表,所述分辨率列表包括所述基础层bufferbase对应的分辨率、叠加第一个提高层bufferenhancelayer1对应的分辨率、叠加至第二个提高层bufferenhancelayer2对应的分辨率、叠加至第三个提高层bufferenhancelayer3对应的分辨率,以及叠加至第n-1个提高层(n-1)thenhancelayer对应的分辨率。第三方面,一种动态获取视频数据的方法,所述方法包括:终端向视频媒体服务器发送视频请求,以使得所述视频媒体服务器向视频接入网关编码器发送码流请求,所述视频接入网关编码器向前端摄像头采集视频信息,经过转码和视频编码后,形成空间域多分层的单一码流,并将所述单一码流发送给所述视频媒体服务器,所述视频媒体服务器接收所述单一码流,整理叠加各层对应的分辨率列表,将所述分辨率列表发送给所述终端;所述终端根据所述分辨率列表确定接收所述单一码流的层数。优选地,所述终端根据所述分辨率列表确定接收所述单一码流的层数,包括:若所述视频接入网关编码器编码后的码流,经过空间域分层后达到1层信息时,所述终端解析出的分辨率为一层信息baselayer对应的分辨率r1;若所述视频接入网关编码器编码后的码流,经过空间域分层后达到2层信息时,所述终端解析出的分辨率为一层信息baselayer对应的分辨率r1、两层信息(baselayer+1stenhancelayer)对应的分辨率r2;若所述视频接入网关编码器编码后的码流,经过空间域分层后达到3层信息时,所述终端解析出的分辨率为一层信息baselayer对应的分辨率r1、两层信息(baselayer+1stenhancelayer)对应的分辨率r2、三层信息(baselayer+1stenhancelayer+2ndenhancelayer)对应的分辨率r3;若所述视频接入网关编码器编码后的码流,经过空间域分层后达到n层信息时,所述终端解析出的分辨率为一层信息baselayer对应的分辨率r1、两层信息(baselayer+1stenhancelayer)对应的分辨率r2、三层信息(baselayer+1stenhancelayer+2ndenhancelayer)对应的分辨率r3、…n层信息(baselayer+1stenhancelayer+2ndenhancelayer+…+n-1thenhancelayer)对应的分辨率rn。优选地,所述终端根据所述分辨率列表确定接收所述单一码流的层数之后,还包括:在所述终端与其他服务器进行数据交互需占用带宽资源的情况下,所述终端根据当前视频分辨率调整接收所述单一码流的层数。第四方面,一种动态获取视频数据的装置,所述装置包括:接收模块,用于在视频媒体服务器接收到终端主动发送的视频请求的情况下,接收视频媒体服务器发送的码流请求;采集模块,用于向前端摄像头采集视频信息;编码模块,用于经过转码和视频编码后,形成空间域多分层的单一码流;发送模块,用于将所述单一码流发送给所述视频媒体服务器,以使得所述视频媒体服务器接收所述单一码流,并整理叠加各层对应的分辨率列表,将所述分辨率列表发送给所述终端,所述终端根据所述分辨率列表确定接收所述单一码流的层数。优选地,所述编码模块,用于:编码后的码流经过空间域多分层后,形成的单一码流;其中,所述单一码流是所有终端需求中最高分辨率的码流,所述单一码流的编码格式是空间多层视频数据的叠加格式。第五方面,一种动态获取视频数据的装置,所述装置包括:接收模块,用于接收终端主动发送的视频请求;发送模块,用于向视频接入网关编码器发送码流请求,以使得所述视频接入网关编码器向前端摄像头采集视频信息,经过转码和视频编码后,形成空间域多分层的单一码流,并将所述单一码流发送给所述视频媒体服务器;处理模块,用于接收所述单一码流,整理叠加各层对应的分辨率列表;发送模块,用于将所述分辨率列表发送给所述终端,以使得所述终端根据所述分辨率列表确定接收所述单一码流的层数。优选地,所述处理模块,用于:确定所述单一码流的每一层对应的分辨率,以基础层bufferbase的分辨率为基础,分别获取逐层叠加后对应的分辨率,并将所述对应的分辨率整理成分辨率列表,所述分辨率列表包括所述基础层bufferbase对应的分辨率、叠加第一个提高层bufferenhancelayer1对应的分辨率、叠加至第二个提高层bufferenhancelayer2对应的分辨率、叠加至第三个提高层bufferenhancelayer3对应的分辨率,以及第n-1个提高层(n-1)thenhancelayer对应的分辨率。第六方面,一种动态获取视频数据的装置,所述装置包括:发送模块,用于终端向视频媒体服务器发送视频请求,以使得所述视频媒体服务器向视频接入网关编码器发送码流请求,所述视频接入网关编码器向前端摄像头采集视频信息,经过转码和视频编码后,形成空间域多分层的单一码流,并将所述单一码流发送给所述视频媒体服务器,所述视频媒体服务器接收所述单一码流,整理叠加各层对应的分辨率列表,将所述分辨率列表发送给所述终端;确定模块,用于根据所述分辨率列表确定接收所述单一码流的层数。优选地,所述确定模块,用于:若所述视频接入网关编码器编码后的码流,经过空间域分层后达到1层信息时,解析出的分辨率为一层信息baselayer对应的分辨率r1;若所述视频接入网关编码器编码后的码流,经过空间域分层后达到2层信息时,解析出的分辨率为一层信息baselayer对应的分辨率r1、两层信息(baselayer+1stenhancelayer)对应的分辨率r2;若所述视频接入网关编码器编码后的码流,经过空间域分层后达到3层信息时,解析出的分辨率为一层信息baselayer对应的分辨率r1、两层信息(baselayer+1stenhancelayer)对应的分辨率r2、三层信息(baselayer+1stenhancelayer+2ndenhancelayer)对应的分辨率r3;若所述视频接入网关编码器编码后的码流,经过空间域分层后达到n层信息时,解析出的分辨率为一层信息baselayer对应的分辨率r1、两层信息(baselayer+1stenhancelayer)对应的分辨率r2、三层信息(baselayer+1stenhancelayer+2ndenhancelayer)对应的分辨率r3、…n层信息(baselayer+1stenhancelayer+2ndenhancelayer+…+n-1thenhancelayer)对应的分辨率rn。优选地,所述装置还包括:调整模块,用于在所述终端与其他服务器进行数据交互需占用带宽资源的情况下,所述终端根据当前视频分辨率调整接收所述单一码流的层数。第七方面,一种动态获取视频数据的系统,所述系统包括:视频接入网关编码器、视频媒体服务器和终端;所述视频接入网关编码器,用于在所述视频媒体服务器接收到所述终端主动发送的视频请求的情况下,接收所述视频媒体服务器发送的码流请求;向前端摄像头采集视频信息;经过转码和视频编码后,形成空间域多分层的单一码流,并将所述单一码流发送给所述视频媒体服务器;所述视频媒体服务器,用于接收所述终端主动发送的视频请求;向所述视频接入网关编码器发送码流请求;接收所述单一码流,整理叠加各层对应的分辨率列表,将所述分辨率列表发送给所述终端;所述终端,用于向所述视频媒体服务器发送视频请求;所述终端根据所述分辨率列表确定接收所述单一码流的层数。优选地,所述视频接入网关编码器,还用于:编码后的码流经过空间域多分层后,形成的单一码流包括一层码流baselayer;二层码流baselayer和1stenhancelayer;三层码流baselayer、1stenhancelayer和2ndenhancelayer;以及n层码流baselayer、1stenhancelayer、2ndenhancelayer…(n-1)thenhancelayer。优选地,所述视频媒体服务器,还用于:确定所述单一码流的逐层叠加对应的分辨率,以基础层bufferbase的分辨率为基础,分别获取叠加各层数据后对应的分辨率,并将所述对应的分辨率整理成分辨率列表,所述分辨率列表包括所述基础层bufferbase对应的分辨率、叠加第一个提高层bufferenhancelayer1对应的分辨率、叠加至第二个提高层bufferenhancelayer2对应的分辨率、叠加至第三个提高层bufferenhancelayer3对应的分辨率,以及叠加至第n-1个提高层(n-1)thenhancelayer对应的分辨率。优选地,所述终端还用于:若所述视频接入网关编码器编码后的码流,经过空间域分层后达到1层信息时,解析出的分辨率为一层信息baselayer对应的分辨率r1;若所述视频接入网关编码器编码后的码流,经过空间域分层后达到2层信息时,解析出的分辨率为一层信息baselayer对应的分辨率r1、两层信息(baselayer+1stenhancelayer)对应的分辨率r2;若所述视频接入网关编码器编码后的码流,经过空间域分层后达到3层信息时,解析出的分辨率为一层信息baselayer对应的分辨率r1、两层信息(baselayer+1stenhancelayer)对应的分辨率r2、三层信息(baselayer+1stenhancelayer+2ndenhancelayer)对应的分辨率r3;若所述视频接入网关编码器编码后的码流,经过空间域分层后达到n层信息时,解析出的分辨率为一层信息baselayer对应的分辨率r1、两层信息(baselayer+1stenhancelayer)对应的分辨率r2、三层信息(baselayer+1stenhancelayer+2ndenhancelayer)对应的分辨率r3、…n层信息(baselayer+1stenhancelayer+2ndenhancelayer+…+n-1thenhancelayer)对应的分辨率rn。优选地,所述终端还用于:在所述终端与其他服务器进行数据交互需占用带宽资源的情况下,根据当前视频分辨率调整接收所述单一码流的层数。本发明实施例提供一种动态获取视频数据的方法、装置及系统,在视频媒体服务器接收到终端主动发送的视频请求的情况下,视频接入网关编码器接收视频媒体服务器发送的码流请求;所述视频接入网关编码器向前端摄像头采集视频信息;所述视频接入网关编码器经过转码和视频编码后,形成空间域多分层的单一码流,并将所述单一码流发送给所述视频媒体服务器,以使得所述视频媒体服务器接收所述单一码流,并整理叠加各层对应的分辨率列表,将所述分辨率列表发送给所述终端,所述终端根据所述分辨率列表确定接收所述单一码流的层数,从而实现客户端能动态调整接收编码信息并自主解析编码,获取实时情况下的分辨率来满足客户端的需求,避免了过多带宽资源浪费、多次编码、多次传输,传输对象检索匹配的问题。附图说明图1是本发明实施例提供的一种动态获取视频数据的方法的流程示意图;图2是本发明实施例提供的一种h264svc编码的示意图;图3是本发明实施例提供的另一种动态获取视频数据的方法的流程示意图;图4是本发明实施例提供的另一种动态获取视频数据的方法的流程示意图;图5是本发明实施例提供的另一种动态获取视频数据的方法的流程示意图;图6是本发明实施例提供的另一种动态获取视频数据的方法的流程示意图;图7是本发明实施例提供的一种动态获取视频数据的装置的功能模块示意图;图8是本发明实施例提供的另一种动态获取视频数据的装置的功能模块示意图;图9是本发明实施例提供的另一种动态获取视频数据的装置的功能模块示意图;图10是本发明实施例提供的一种动态获取视频数据的系统的结构示意图。具体实施方式下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。参考图1,图1是本发明实施例提供的一种动态获取视频数据的方法的流程示意图。如图1所示,所述动态获取视频数据的方法包括:步骤101,在视频媒体服务器接收到终端主动发送的视频请求的情况下,视频接入网关编码器接收视频媒体服务器发送的码流请求;具体的,基于h264svc空域分层编码,客户端动态调整接收码流调看视频的单一终端用户。以终端ep通过视频媒体服务器vms获取经视频接入网关vsag编码器h264encoder编码的视频码流,终端ep动态调整的方法调看视频,具体操作流程如下:ep以客户端的身份主动向vms发起监控视频调看请求,vms继续向vsag发送码流请求。步骤102,所述视频接入网关编码器向前端摄像头采集视频信息;具体的,vsag向前端摄像头采集视频信息。步骤103,所述视频接入网关编码器经过转码和视频编码后,形成空间域多分层的单一码流,并将所述单一码流发送给所述视频媒体服务器,以使得所述视频媒体服务器接收所述单一码流,并整理叠加各层对应的分辨率列表,将所述分辨率列表发送给所述终端,所述终端根据所述分辨率列表确定接收所述单一码流的层数。具体的,vsag经过转码,h264svc视频编解码后,形成空间域多分层的单一码流,发送给vms;vms接收vsag发出的码流,并整理叠加各层可提供的分辨率列表并下发至终端ep;ep根据当时的需求,想调看高清视频流以供演示大屏使用,根据分辨率列表,决定接收码流中的各个分层,即高清(720p/1080p),四层信息(baselayer+1stenhancelayer+2ndenhancelayer+3rdenhancelayer);ep接收码流的全部分层,并进行解码,开始观看监控视频。优选地,所述视频接入网关编码器经过转码和视频编码后,形成空间域多分层的单一码流,包括:所述视频接入网关编码器编码后的码流经过空间域多分层后,形成的单一码流;其中,所述单一码流是所有终端用户需求中最高分辨率的码流,所述单一码流的编码格式是空间多层视频数据的叠加格式。具体的,视频接入网关实时采集前端摄像头的图像信息,经过vsag转码,h264svc编码后,形成空域分层的单一码流,将各层编码信息依次存储在不同的encoderlayer_buffer中,发送给视频媒体服务器,视频媒体服务器将接收到的码流,依据encoderlayer_buffer的数量来判断空域层数,并据此来列出可提供的视频分辨率,并下发到各个请求视频码流的终端,终端根据自身的实时带宽和对分辨率的需求,来具体决定需要接收码流中的几层信息即encoderlayer_buffer的个数,舍弃无用层的编码信息,完成相应的解码操作,获取需求的分辨率图像信息。以经过h264svc编码后,如图2所示,形成具有一个baselayer和n-1个enhancelayer的空域分层码流为例,分别实现分辨率r1,r2…rn的多种分辨率,且满足0<r1<r2<…<rn的条件。当编码器编码后的码流,经过空间域分层后达到1层信息时,即baselayer。客户端可以解析出的分辨率为一种:r1,一层信息(baselayer);当编码器编码后的码流,经过空间域分层后达到2层信息时,即baselayer和1stenhancelayer。客户端可以解析出的分辨率为两种:r1,一层信息(baselayer);r2,两层信息(baselayer+1stenhancelayer)。当编码器编码后的码流,经过空间域分层后达到3层信息时,即baselayer、1stenhancelayer和2ndenhancelayer。客户端可以解析出的分辨率为三种:r1,一层信息(baselayer);r2,两层信息(baselayer+1stenhancelayer)。r3,三层信息(baselayer+1stenhancelayer+2ndenhancelayer)。当编码器编码后的码流,经过空间域分层后达到n层信息时,即baselayer、1stenhancelayer、2ndenhancelayer和3rdenhancelayer。客户端可以解析出的分辨率为四种:r1,一层信息(baselayer);r2,两层信息(baselayer+1stenhancelayer)。r3,三层信息(baselayer+1stenhancelayer+2ndenhancelayer);…rn,n层信息(baselayer+1stenhancelayer+2ndenhancelayer+…+n-1thenhancelayer);为了解决在视频通信中编码器无法预知传输网络状态和终端设备能力,即不同带宽和不同处理能力的终端对接收视频质量的不同需求,提供按需传输的方法,兼顾最少次编码,最少次码流传输,最大化的提供多种不同分辨率的视频质量,本系统基于svc编码,实现客户端动态调整接收码流实现多分辨率的方法。可伸缩编码(scalablevideocoding,svc)在编码空间域上,依据不同的分辨率分为两大部分:低分辨率且丢失高分辨率高频部分的基础层(baselayer);提高层(enhancelayer)是区别于基础层,拥有高清图像的高频部分,需要依赖基础层编解码的部分,提高层可以依次根据不同的分辨率逐一划分层数,每一提高层都具有依赖上一层图像编解码的特征,同时独立于其它层对接收端单独恢复原始图像无任何意义。现在常用的视频分辨率有高清(720p/1080p)、vga(640×480)、d1(720*576)、cif(352*288)等几种,在编码端根据h264svc的编码方法,以编码具有4个空间域分层的码流为例,依次为baselayer,1stenhancelayer、2ndenhancelayer和3rdenhancelayer,在接收端根据不同的用户需求和网络带宽等条件,由用户自己来决定接收几个分层信息来解码得到用户所需的码流信息。用户根据自身的实际情况来衡量取舍接收编码的层数来满足实时的需求。编码端即视频接入网关,在获取前端摄像头的视频采集后,dvr/vms经过vsag转码,h264svc编码后,传输一个码流给视频媒体服务器即可,至于图像分辨率的选择,网络带宽的传输情况均无需考虑。同时,客户端同样也只关心自己的解码能力,自己当下的视频需求,适时的接收相应的编码层即可。使编码器和解码器在编解码处理上更直接,更快捷,更有效。本发明实施例提供一种动态获取视频数据的方法,在视频媒体服务器接收到终端主动发送的视频请求的情况下,视频接入网关编码器接收视频媒体服务器发送的码流请求;所述视频接入网关编码器向前端摄像头采集视频信息;所述视频接入网关编码器经过转码和视频编码后,形成空间域多分层的单一码流,并将所述单一码流发送给所述视频媒体服务器,以使得所述视频媒体服务器接收所述单一码流,并整理叠加各层对应的分辨率列表,将所述分辨率列表发送给所述终端,所述终端根据所述分辨率列表确定接收所述单一码流的层数,从而实现客户端能动态调整接收编码信息并自主解析编码,获取实时情况下的分辨率来满足客户端的需求,避免了过多带宽资源浪费、多次编码、多次传输,传输对象检索匹配的问题。参考图3,图3是本发明实施例提供的另一种动态获取视频数据的方法的流程示意图。如图3所示,所述动态获取视频数据的方法包括:步骤301,视频媒体服务器接收终端主动发送的视频请求;具体的,基于h264svc空域分层编码,客户端动态调整接收码流调看视频的多个终端用户。以客户端ep1,ep2,ep3通过视频媒体服务器vms获取经视频接入网关vsag编码器h264encoder编码的视频码流,终端ep1,ep2,ep3动态调整的方法调看视频。步骤302,所述视频媒体服务器向视频接入网关编码器发送码流请求,以使得所述视频接入网关编码器向前端摄像头采集视频信息,经过转码和视频编码后,形成空间域多分层的单一码流,并将所述单一码流发送给所述视频媒体服务器;具体的,终端ep1,ep2,ep3以客户端的身份主动向vms发起监控视频调看请求,vms继续向vsag发送码流请求。vsag向前端摄像头采集视频信息;vsag经过转码,h264svc视频编解码后,形成空间域多分层的单一码流,发送给vms。步骤303,所述视频媒体服务器接收所述单一码流,整理叠加各层对应的分辨率列表,将所述分辨率列表发送给所述终端,以使得所述终端根据所述分辨率列表确定接收所述单一码流的层数。具体的,vms接收vsag发出的码流,并整理叠加各层可提供的分辨率列表1并下发至终端ep1,ep2,ep3。layer_buffernresolutionbufferbase0bufferenhancelayer11bufferenhancelayer22bufferenhancelayer33表1如表1所示,nresolution=0表示,cif(352*288),nresolution=1d1(720*576),nresolution=2表示vga(640×480),nresolution=3表示高清(720p/1080p)。根据分辨率列表1,ep1作为移动终端,受网络带宽的限制,所以选择接收码流中的一层(baselayer)信息解码cif(352*288);根据分辨率列表1,ep2作为电视墙的视频源,在有线环境,要求高清(720p/1080p)图像,接收四层信息(baselayer+1stenhancelayer+2ndenhancelayer+3rdenhancelayer)解码;根据分辨率列表1,ep3作为监控中心,需要一般清晰度视频,接收三层信息(baselayer+1stenhancelayer+2ndenhancelayer)解码vga(640×480)即可;同时在各个终端进行接收解码工作。优选地,所述视频媒体服务器接收所述单一码流,整理叠加各层对应的分辨率列表,包括:所述视频媒体服务器确定所述单一码流的最高分辨率,以基础层bufferbase的分辨率为基础,分别叠加各提高层对应的分辨率,并将所述对应的分辨率整理成分辨率列表,所述分辨率列表包括所述基础层bufferbase对应的分辨率、叠加第一个提高层bufferenhancelayer1对应的分辨率、叠加至第二个提高层bufferenhancelayer2对应的分辨率、叠加至第三个提高层bufferenhancelayer3对应的分辨率,以及叠加第n-1个提高层(n-1)thenhancelayer对应的分辨率。具体的,在上述的编码传输和解码的过程中,统一的buffer标志不同的层数和相对应的分辨率,以达到数据间的互通。基础层对应bufferbase,第一个提高层对应bufferenhancelayer1,第二个提高层对应bufferenhancelayer2,第三个提高层对应bufferenhancelayer3。本发明实施例提供一种动态获取视频数据的方法,视频接入网关编码h264svc发给视频媒体服务器,视频媒体服务器根据编码的层数,区分各层编码层信息,同时列出分辨率匹配表,以供客户端接收解析使用;终端根据解码能力,图像质量,带宽等关系间的权衡,选取最优层数解码。参考图4,图4是本发明实施例提供的另一种动态获取视频数据的方法的流程示意图。如图4所示,所述动态获取视频数据的方法包括:步骤401,终端向视频媒体服务器发送视频请求,以使得所述视频媒体服务器向视频接入网关编码器发送码流请求,所述视频接入网关编码器向前端摄像头采集视频信息,经过转码和视频编码后,形成空间域多分层的单一码流,并将所述单一码流发送给所述视频媒体服务器,所述视频媒体服务器接收所述单一码流,整理叠加各层对应的分辨率列表,将所述分辨率列表发送给所述终端;步骤402,所述终端根据所述分辨率列表确定接收所述单一码流的层数。优选地,所述终端根据所述分辨率列表确定接收所述单一码流的层数,包括:若所述视频接入网关编码器编码后的码流,经过空间域分层后达到1层信息时,所述终端解析出的分辨率为一层信息baselayer对应的分辨率r1;若所述视频接入网关编码器编码后的码流,经过空间域分层后达到2层信息时,所述终端解析出的分辨率为一层信息baselayer对应的分辨率r1、两层信息(baselayer+1stenhancelayer)对应的分辨率r2;若所述视频接入网关编码器编码后的码流,经过空间域分层后达到3层信息时,所述终端解析出的分辨率为一层信息baselayer对应的分辨率r1、两层信息(baselayer+1stenhancelayer)对应的分辨率r2、三层信息(baselayer+1stenhancelayer+2ndenhancelayer)对应的分辨率r3;若所述视频接入网关编码器编码后的码流,经过空间域分层后达到n层信息时,所述终端解析出的分辨率为一层信息baselayer对应的分辨率r1、两层信息(baselayer+1stenhancelayer)对应的分辨率r2、三层信息(baselayer+1stenhancelayer+2ndenhancelayer)对应的分辨率r3、…n层信息(baselayer+1stenhancelayer+2ndenhancelayer+…+n-1thenhancelayer)对应的分辨率rn。本发明实施例提供一种动态获取视频数据的方法,视频接入网关在获取前端摄像头的视频采集后,经过vsag转码,h264svc编码后,传输一个码流给视频媒体服务器即可,至于图像分辨率的选择,网络带宽的传输情况均无需考虑。同时,客户端同样也只关心自己的解码能力,自己当下的视频需求,适时的接收相应的编码层即可。使编码器和解码器在编解码处理上更直接,更快捷,更有效。参考图5,图5是本发明实施例提供的另一种动态获取视频数据的方法的流程示意图。如图5所示,所述动态获取视频数据的方法包括:步骤501,终端向视频媒体服务器发送视频请求,以使得所述视频媒体服务器向视频接入网关编码器发送码流请求,所述视频接入网关编码器向前端摄像头采集视频信息,经过转码和视频编码后,形成空间域多分层的单一码流,并将所述单一码流发送给所述视频媒体服务器,所述视频媒体服务器接收所述单一码流,整理叠加各层对应的分辨率列表,将所述分辨率列表发送给所述终端;步骤502,所述终端根据所述分辨率列表确定接收所述单一码流的层数;步骤503,在所述终端与其他服务器进行数据交互需占用带宽资源的情况下,所述终端根据当前视频分辨率调整接收所述单一码流的层数。具体的,演示结束后,终端ep准备与其他服务器进行大量的数据交互,需要占用大量的带宽资源,所以需要重新调整视频的分辨率,以满足当前的带宽利用率,调整接收码流的分层信息。cif(352*288),一层信息(baselayer)即可满足对当前监控视频质量要求不高的情况,又能节省部分带宽资源,来更好的进行大数据交互工作;ep想正常观看监控的小视频,清晰度的要求降低,分辨率要求d1(720*576)即可满足需求,所以决定接收码流的前两层信息,即baselayer和1stenhancelayer。终端具有以下处理能力:终端当前的带宽资源利用情况;终端对视频质量的实时需求;终端的解码能力决定了终端对视频图像清晰度高低的需求;图像越清晰即视频质量越高,带宽占用越多,反之,亦然。解码能力越高,带宽越大越稳定,终端越可以获取更多的分辨率下的码流,三者关系相辅相成,终端权衡利弊,取最优码流。假设摄像头支持最高层分辨率的图像采集,经过这样的一次编码后,终端可以获取多种分辨率的码流。如果实时的带宽变化较大,或自身解码处理能力发生变化,抑或是改变对图像质量的需求,终端均可以在第一时间接收码流处做出相应的处理,避免了带宽资源的浪费,避免了闭环反馈的时延,避免了不必要的解码工作量等等,这样编码的结果就可以满足所有终端对视频分辨率的需求。参考图6,图6是本发明实施例提供的另一种动态获取视频数据的方法的流程示意图。如图6所示,所述动态获取视频数据的方法包括:步骤601,终端ep向vms发送监控视频调看请求;步骤602,向vsag请求;步骤603,判断vsag是否接受请求;步骤604,若是,则前端摄像头采集图像信息;步骤605,若否,则返回执行向vsag请求;步骤606,转码;步骤607,h264svc编码;步骤608,layer_buffernresolution赋值。参考图7,图7是本发明实施例提供的一种动态获取视频数据的装置的功能模块示意图。如图7所示,所述动态获取视频数据的装置包括:接收模块701,用于在视频媒体服务器接收到终端主动发送的视频请求的情况下,接收视频媒体服务器发送的码流请求;采集模块702,用于向前端摄像头采集视频信息;编码模块703,用于经过转码和视频编码后,形成空间域多分层的单一码流;优选地,所述编码模块703,用于:编码后的码流经过空间域多分层后,形成的单一码流包括一层码流baselayer;二层码流baselayer和1stenhancelayer;三层码流baselayer、1stenhancelayer和2ndenhancelayer;以及n层码流baselayer、1stenhancelayer、2ndenhancelayer…(n-1)thenhancelayer。发送模块704,用于将所述单一码流发送给所述视频媒体服务器,以使得所述视频媒体服务器接收所述单一码流,并整理叠加各层对应的分辨率列表,将所述分辨率列表发送给所述终端,所述终端根据所述分辨率列表确定接收所述单一码流的层数。本发明实施例提供一种动态获取视频数据的装置,在视频媒体服务器接收到终端主动发送的视频请求的情况下,视频接入网关编码器接收视频媒体服务器发送的码流请求;所述视频接入网关编码器向前端摄像头采集视频信息;所述视频接入网关编码器经过转码和视频编码后,形成空间域多分层的单一码流,并将所述单一码流发送给所述视频媒体服务器,以使得所述视频媒体服务器接收所述单一码流,并整理叠加各层对应的分辨率列表,将所述分辨率列表发送给所述终端,所述终端根据所述分辨率列表确定接收所述单一码流的层数,从而实现客户端能动态调整接收编码信息并自主解析编码,获取实时情况下的分辨率来满足客户端的需求,避免了过多带宽资源浪费、多次编码、多次传输,传输对象检索匹配的问题。参考图8,图8是本发明实施例提供的另一种动态获取视频数据的装置的功能模块示意图。如图8所示,所述动态获取视频数据的装置包括:接收模块801,用于接收终端主动发送的视频请求;发送模块802,用于向视频接入网关编码器发送码流请求,以使得所述视频接入网关编码器向前端摄像头采集视频信息,经过转码和视频编码后,形成空间域多分层的单一码流,并将所述单一码流发送给所述视频媒体服务器;处理模块803,用于接收所述单一码流,整理叠加各层对应的分辨率列表;优选地,所述处理模块803,用于:确定所述单一码流的逐层叠加后对应的分辨率,以基础层bufferbase的分辨率为基础,分别获取叠加各层对应的分辨率,并将所述各层对应的分辨率整理成分辨率列表,所述分辨率列表包括所述基础层bufferbase对应的分辨率、叠加第一个提高层bufferenhancelayer1对应的分辨率、叠加至第二个提高层bufferenhancelayer2对应的分辨率、叠加至第三个提高层bufferenhancelayer3对应的分辨率,以及叠加至第n-1个提高层(n-1)thenhancelayer对应的分辨率。发送模块804,用于将所述分辨率列表发送给所述终端,以使得所述终端根据所述分辨率列表确定接收所述单一码流的层数。本发明实施例提供一种动态获取视频数据的装置,视频接入网关编码h264svc发给视频媒体服务器,视频媒体服务器根据编码的层数,区分各层编码层信息,同时列出分辨率匹配表,以供客户端接收解析使用;终端根据解码能力,图像质量,带宽等关系间的权衡,选取最优层数解码。参考图9,图9是本发明实施例提供的另一种动态获取视频数据的装置的功能模块示意图。如图9所示,所述动态获取视频数据的装置包括:发送模块901,用于终端向视频媒体服务器发送视频请求,以使得所述视频媒体服务器向视频接入网关编码器发送码流请求,所述视频接入网关编码器向前端摄像头采集视频信息,经过转码和视频编码后,形成空间域多分层的单一码流,并将所述单一码流发送给所述视频媒体服务器,所述视频媒体服务器接收所述单一码流,整理叠加各层对应的分辨率列表,将所述分辨率列表发送给所述终端;确定模块902,用于根据所述分辨率列表确定接收所述单一码流的层数。优选地,所述确定模块902,用于:若所述视频接入网关编码器编码后的码流,经过空间域分层后达到1层信息时,解析出的分辨率为一层信息baselayer对应的分辨率r1;若所述视频接入网关编码器编码后的码流,经过空间域分层后达到2层信息时,解析出的分辨率为一层信息baselayer对应的分辨率r1、两层信息(baselayer+1stenhancelayer)对应的分辨率r2;若所述视频接入网关编码器编码后的码流,经过空间域分层后达到3层信息时,解析出的分辨率为一层信息baselayer对应的分辨率r1、两层信息(baselayer+1stenhancelayer)对应的分辨率r2、三层信息(baselayer+1stenhancelayer+2ndenhancelayer)对应的分辨率r3;若所述视频接入网关编码器编码后的码流,经过空间域分层后达到n层信息时,解析出的分辨率为一层信息baselayer对应的分辨率r1、两层信息(baselayer+1stenhancelayer)对应的分辨率r2、三层信息(baselayer+1stenhancelayer+2ndenhancelayer)对应的分辨率r3、…n层信息(baselayer+1stenhancelayer+2ndenhancelayer+…+n-1thenhancelayer)对应的分辨率rn。优选地,所述装置还包括:调整模块,用于在所述终端与其他服务器进行数据交互需占用带宽资源的情况下,所述终端根据当前视频分辨率调整接收所述单一码流的层数。本发明实施例提供一种动态获取视频数据的装置,视频接入网关在获取前端摄像头的视频采集后,经过vsag转码,h264svc编码后,传输一个码流给视频媒体服务器即可,至于图像分辨率的选择,网络带宽的传输情况均无需考虑。同时,客户端同样也只关心自己的解码能力,自己当下的视频需求,适时的接收相应的编码层即可。使编码器和解码器在编解码处理上更直接,更快捷,更有效。参考图10,图10是本发明实施例提供的一种动态获取视频数据的系统的结构示意图。如图10所示,所述动态获取视频数据的系统包括:视频接入网关编码器1001、视频媒体服务器1002和终端1003;所述视频接入网关编码器1001,用于在所述视频媒体服务器接收到所述终端主动发送的视频请求的情况下,接收所述视频媒体服务器发送的码流请求;向前端摄像头采集视频信息;经过转码和视频编码后,形成空间域多分层的单一码流,并将所述单一码流发送给所述视频媒体服务器;优选地,所述视频接入网关编码器1001,还用于:编码后的码流经过空间域多分层后,形成的单一码流包括一层码流baselayer;二层码流baselayer和1stenhancelayer;三层码流baselayer、1stenhancelayer和2ndenhancelayer;以及n层码流baselayer、1stenhancelayer、2ndenhancelayer…(n-1)thenhancelayer。所述视频媒体服务器1002,用于接收所述终端主动发送的视频请求;向所述视频接入网关编码器发送码流请求;接收所述单一码流,整理叠加各层对应的分辨率列表,将所述分辨率列表发送给所述终端;优选地,所述视频媒体服务器1002,还用于:确定所述单一码流的逐层叠加后对应的分辨率,以基础层bufferbase的分辨率为基础,分别获取叠加各层的分辨率,并将所述对应的分辨率整理成分辨率列表,所述分辨率列表包括所述基础层bufferbase对应的分辨率、叠加第一个提高层bufferenhancelayer1对应的分辨率、叠加至第二个提高层bufferenhancelayer2对应的分辨率、叠加至第三个提高层bufferenhancelayer3对应的分辨率,以及叠加至第n-1个提高层(n-1)thenhancelayer对应的分辨率。所述终端1003,用于向所述视频媒体服务器发送视频请求;所述终端根据所述分辨率列表确定接收所述单一码流的层数。优选地,所述终端1003还用于:若所述视频接入网关编码器编码后的码流,经过空间域分层后达到1层信息时,解析出的分辨率为一层信息baselayer对应的分辨率r1;若所述视频接入网关编码器编码后的码流,经过空间域分层后达到2层信息时,解析出的分辨率为一层信息baselayer对应的分辨率r1、两层信息(baselayer+1stenhancelayer)对应的分辨率r2;若所述视频接入网关编码器编码后的码流,经过空间域分层后达到3层信息时,解析出的分辨率为一层信息baselayer对应的分辨率r1、两层信息(baselayer+1stenhancelayer)对应的分辨率r2、三层信息(baselayer+1stenhancelayer+2ndenhancelayer)对应的分辨率r3;若所述视频接入网关编码器编码后的码流,经过空间域分层后达到n层信息时,解析出的分辨率为一层信息baselayer对应的分辨率r1、两层信息(baselayer+1stenhancelayer)对应的分辨率r2、三层信息(baselayer+1stenhancelayer+2ndenhancelayer)对应的分辨率r3、…n层信息(baselayer+1stenhancelayer+2ndenhancelayer+…+n-1thenhancelayer)对应的分辨率rn。优选地,所述终端1003还用于:在所述终端与其他服务器进行数据交互需占用带宽资源的情况下,根据当前视频分辨率调整接收所述单一码流的层数。以上结合具体实施例描述了本发明实施例的技术原理。这些描述只是为了解释本发明实施例的原理,而不能以任何方式解释为对本发明实施例保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明实施例的其它具体实施方式,这些方式都将落入本发明实施例的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1