一种视频监控系统中动态调整编码器分辨率的方法

文档序号:8514835阅读:923来源:国知局
一种视频监控系统中动态调整编码器分辨率的方法
【技术领域】
[0001]本发明涉及视频播放领域,尤其涉及一种视频监控系统中动态调整编码器分辨率的方法。
【背景技术】
[0002]为了兼顾视频的流畅性和清晰度,现有技术的视频监控系统中一般都提出了主、子码流的概念:即一路视频进入编码器之后,编码器编码出两种不同分辨率的码流:主码流和子码流,且主码流分辨率大于子码流。当无线网络带宽较好情况下,用户可以选择主码流调看,这样可以获得较高的清晰度,而当无线网络状况不佳时,可以选择子码流调看,尽量保持视频的流畅性。
[0003]主、子码流技术兼顾了流畅性和清晰度,但是同一时刻只能提供两种分辨率的视频码流,当客户端常用的视频分辨率有多种时,会出现主、子码流所提供的两种分辨率都不为客户端所需的情况,尽管可以人为的更改主、子码流的视频分辨率,但这样也只是适应了一个客户端的要求,却不能统筹全局所需,而且费时费力,在多客户端连接的情况下很容易造成某些客户端得不到适合的视频码流而出现黑屏的情况。

【发明内容】

[0004]为了避免现有技术的某些客户端得不到适合的视频码流而出现黑屏的情况,本发明提供了一种实时动态调整编码器的监控视频分辨率的方法,可以最大限度的满足客户端的视频需求。该方法包括:
[0005]客户端发出视频请求时,视频接入网关获取客户端的需求视频分辨率的集合,如果编码器当前的主、子码流的分辨率的集合不包含需求视频分辨率的集合,则通知编码器做出更改使得编码器提供的码流的分辨率的集合包含需求视频分辨率的集合。
[0006]优选的,当需求视频分辨率仅有一种时,所述更改具体为:如果需求视频分辨率大于主码流分辨率,则将主码流分辨率改为需求视频分辨率;否则将子码流分辨率改为需求视频分辨率。
[0007]优选的,当需求视频分辨率有两种时,所述更改具体为:将主码流分辨率改为需求视频分辨率中较高的分辨率,将子码流分辨率改为需求视频分辨率中较低的分辨率。
[0008]优选的,当需求视频分辨率大于两种时,所述更改具体为:编码器创建新的编码通道以保证编码器能提供的码流的种数大于等于需求视频分辨率的种数,然后设置原编码通道和新编码通道的主、子码流的分辨率使得编码器提供的码流的分辨率的集合包含需求视频分辨率的集合。进一步的,如果需求视频分辨率有三种,则编码器创建一个新的编码通道,分别设置原编码通道的主、子码流的分辨率和新编码通道的主码流的分辨率为三种需求视频分辨率。
[0009]优选的,上述方法的具体实现步骤可以为:
[0010]a,视频接入网关实时监听是否有客户端发起视频请求;
[0011]b,客户端发出视频请求时,视频接入网关获取此客户端的需求视频分辨率,并写入视频分辨率需求列表中;
[0012]C,视频接入网关向编码器发出查询主、子码流分辨率的消息,编码器返回当前主、子码流的分辨率;
[0013]d,视频接入网关将主、子码流的分辨率写入主、子码流分辨率记录列表,然后将客户端的需求视频分辨率与当前主、子码流的分辨率相比较,如果编码器当前的主、子码流的分辨率的集合包含需求视频分辨率的集合,则维持编码器原状,否则计算编码器应提供的码流的分辨率,通知编码器做出更改使得编码器提供的码流的分辨率的集合包含需求视频分辨率的集合,并将计算结果写入主、子码流分辨率记录列表;
[0014]e,编码器向客户端发送其需要的码流。
[0015]本发明能够根据客户端的视频需求对编码器做出实时的调整,客户端无需关心编码器主、子码流的视频分辨率,只需按照本地的网络状况,选择所需的视频即可,不会出现得不到适合的视频码流而出现黑屏的情况,从而最大限度的满足客户端正常调看视频的要求。
【附图说明】
[0016]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]图1是本发明实施例一的客户端调看视频的方法流程图。
【具体实施方式】
[0018]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例;需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0019]实施例一
[0020]本实施例一以客户端A通过视频接入网关B向编码器C发起视频调看请求为例来说明客户端调看视频的方法流程,如图1所示,该方法在视频接入网关B处进行处理,具体过程为:
[0021](I)A以客户端的身份主动向视频接入网关B发起调看编码器C的视频请求;
[0022](2)视频接入网关B接收到A的视频请求,获得A的视频分辨率,写入视频分辨率需求列表;
[0023](3)视频接入网关B向编码器C发出查询视频分辨率的请求;
[0024](4)编码器C收到请求,向视频接入网关B发出主、子码流视频分辨率;
[0025](5)视频接入网关B根据客户端和编码器的反馈开始动态计算编码器实际应提供的码流的分辨率,若此时客户端分辨率需求小于等于两种则执行步骤(6),否则,执行步骤(7);
[0026](6)若计算结果为编码器维持原状则执行步骤(8),否则,执行步骤(9);
[0027](7)通知编码器C新创建新的编码通道,原编码通道和新的编码通道一起用于编码客户端所需分辨率视频,视频接入网关B将编码器C中符合条件的码流转发到客户端A ;
[0028](8)视频接入网关B将编码器C中符合需求条件的码流转发到客户端A ;
[0029](9)视频接入网关B向编码器C发出更改分辨率消息,更改成功后,将编码器C中符合需求条件的码流转发到客户端A ;
[0030](10)视频接入网关将更改后的编码器主、子码流分辨率写入主、子码流分辨率记录列表。
[0031]实施例二
[0032]在实施例一的步骤(5)中,视频接入网关B需要计算编码器实际应提供的码流的分辨率,本实施例将举例说明具体是如何计算的。
[0033]本实施例假设客户端常用的视频分辨率有Dl (704*576)、CIF (352*288)、QCIF(176*144)3种,Dl分辨率最大,清晰度最高,所占带宽也最高,CIF分辨率、清晰度及占带宽均适中,QCIF分辨率最小,清晰度最低,所占带宽也最小。计算规则如下:
[0034]1,当视频需求列表中的需求格式有两种时:
[0035](I)当视频需求列表中为D1,主、子码流为Dl,CIF0计算结果:维持原状。
[0036](2)当视频需求列表中为CIF,主、子码流为D1,CIF。计算结果:维持原状。
[
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1