视频码流传输控制装置及控制方法与流程

文档序号:13534466阅读:252来源:国知局
视频码流传输控制装置及控制方法与流程

本发明涉及数据传输领域,具体涉及一种视频码流传输控制装置及控制方法。



背景技术:

随着移动通信技术的日渐成熟和网络的普及,随时随地查看视频图像成为一种趋势,视频监控业务也从传统的服务于安防行业,逐渐发展为面向大众的信息化服务,并随着图像处理技术的提高,应用领域越来越广泛,逐渐渗透至教育、政府、娱乐、医疗等领域。

为了实现视频流的实时传输,一般采用udp(userdataprotocol,用户数据报协议)方式进行传输,将一帧图像数据按照网络数据的最大传输单元(mtu)大小进行切包传输,但是由于udp是一个非连接的协议,传输数据之前源端和终端不建立连接,属于非可靠传输,当网络不稳定时,很容易出现丢包现象,导致视频流的不连续,数据不完整,卡顿等现象。

为了解决上述问题,现有技术公开了一种视频监控数据传输的控制方法,包括以下步骤:实时监测并获取上行链路可用带宽;根据所述上行链路可用带宽确定目标码率,所述目标码率不大于所述上行链路可用带宽;根据所述目标码率及预设的判断策略判断当前码率是否需要调整,如果是,将当前码率调整为所述目标码率,并根据场景需求对应的预设控制策略调整所述视频流的分辨率和/或帧率。其中,对应的预设控制策略为:根据所述目标码率确定相应的视频质量级别;根据所述目标码率、目标分辨率确定目标帧率;判断所述目标帧率对应的视频质量级别相比于所述目标码率对应的视频质量级别是否上升,如果是,且目标分辨率未达终端支持的最高分辨率,则将目标分辨率上调一预设的分辨率等级,否则,以所述目标分辨率为最终目标分辨率,以所述目标帧率为最终目标帧率。

上述视频流的分辨率和/或帧率的控制调整策略中,首先需要按照分辨率、帧率以及码率制定不同的视频质量等级,并且需要根据目标码率查询得到对应的视频质量级别,再对目标帧率对应的视频质量级别相对于目标码率对应的视频质量级别是否下降进行判断,然后根据判断结果进一步调整视频质量级别以及调整对应的帧率和分辨率。整个调整策略非常繁琐,需要不断地比对查找,调整效率非常低下。另外,现有技术只根据获取的宽带值调整视频流的各个参数,实际上视频流的质量还与采集参数有关,当两者不匹配时,视频流或图像很容易出现卡顿或抖动,导致图像不连贯。并且,视频流的传输速度和缓冲速度也需要达到匹配程度,若不匹配,很容易导致缓冲太满、数据丢失或者传输速度太快导致网络负载过大的现象。



技术实现要素:

为此,本发明所要解决的技术问题是:现有技术中视频流的帧率调整策略过于复杂,调整效率低下。

为解决上述技术问题,本发明采用的技术方案如下:

本发明提供了一种视频码流传输控制方法,包括以下步骤:

获取视频接收端反馈回来的带宽;

判断所述带宽是否小于预先设置的最低编码码率值;

当所述带宽小于所述最低编码码率值时,根据以下公式计算得到编码帧率值:

fr=acptframerate-(minbitrate-fbbitrate)/m

其中,acptframerate表示预先设置的最低帧率值,minbitrate表示所述最低编码码率值,fbbitrate表示所述带宽,m表示常数;

利用计算得到的编码帧率值对视频码流进行编码控制。

可选地,当所述带宽大于等于所述最低编码码率值时,根据以下公式计算得到编码帧率值:

fr=acptframerate+(fbbitrate-minbitrate)/n

其中,n表示常数。

可选地,还包括:

当所述带宽小于所述最低编码码率值时,将所述最低编码码率值作为当前的编码码率值对所述视频码流进行编码;

当所述带宽大于等于所述最低编码码率值并且小于用户配置的编码码率值时,将所述带宽作为当前的编码码率值对所述视频码流进行编码;

当所述带宽大于等于所述用户配置的编码码率值时,使用所述用户配置的编码码率值作为当前的编码码率值对所述视频码流进行编码。

可选地,所述利用计算得到的编码帧率值对视频码流进行编码控制的步骤包括:

获取所述视频码流的采集帧率值;

判断所述采集帧率值与所述计算得到的编码帧率值是否存在大于1的公约数;

当存在大于1的公约数时,获取所述采集帧率值与所述计算得到的编码帧率值的最大公约数;

根据所述采集帧率值、计算得出的编码帧率值以及所述最大公约数确定出编码过程中的丢帧策略。

可选地,所述丢帧策略为:

每af/a帧视频帧中丢弃(af-fr)/a帧视频帧;

其中,af表示采集帧率值,fr表示编码帧率值,a表示采集帧率值和编码帧率值的最大公约数。

本发明还提供一种视频码流传输控制装置,包括:

第一获取单元,用于获取视频接收端反馈回来的带宽;

第一判断单元,用于判断所述带宽是否小于预先设置的最低编码码率值;

第一计算单元,用于当所述第一判断单元判断结果为所述带宽小于所述最低编码码率值时,根据以下公式计算得到编码帧率值:

fr=acptframerate-(minbitrate-fbbitrate)/m

其中,acptframerate表示预先设置的最低帧率值,minbitrate表示所述最低编码码率值,fbbitrate表示所述带宽,m表示常数;

编码控制单元,用于利用计算得到的编码帧率值对视频码流进行编码控制。

可选地,还包括:

第二计算单元,用于当所述第一判断单元判断结果为所述带宽大于等于所述最低编码码率值时,根据以下公式计算得到编码帧率值:

fr=acptframerate+(fbbitrate-minbitrate)/n

其中,n表示常数。

本发明还提供一种视频码流传输控制终端,包括:

至少一个处理器;

以及,与所述至少一个处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1至5中任一项所述的视频码流传输控制方法。

本发明还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行权利要求1至5中任一项所述的视频码流传输控制方法。

本发明还提供一种计算机程序产品,包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行权利要求1至5任一项所述的视频码流传输控制方法。

本发明的上述技术方案相对于现有技术具有以下优点:

本发明提供的视频码流传输控制方法,首先获取视频接收端反馈回来的带宽,然后判断所述带宽是否小于预先设置的最低编码码率值,当带宽小于所述最低编码码率值时,根据相应的公式计算得出编码帧率,最后利用计算得到的编码帧率对视频码流进行编码控制。

本发明一方面根据视频接收端的实时带宽对视频发送端的编码帧率进行实时调整,保证了编码帧率与带宽相适应,避免了因编码帧率与带宽不相匹配而导致的图像卡顿或拖尾的现象,提高了视频的流畅性;另一方面,本发明获取到视频接收端反馈回来的带宽后,仅需要根据对应的计算公式便可直接得出最终的编码帧率值,相比于传统的多次查找比对帧率和码率所对应的视频质量级别从而确定目标帧率的方法,本发明提供的视频码流传输控制方法更加简单快捷,显著提高了帧率的调整效率。并且,以预先设置的最低帧率值、最低编码码率值以及视频接收端反馈回来的带宽作为计算参数,保证了帧率调整的准确性。另外可以根据需求或者网络环境调整常数值,提高了该控制方法的灵活性。

本发明提供的视频码流传输控制方法,当带宽小于最低编码码率值时,将最低编码码率值作为当前的编码码率值对视频码流进行编码;当带宽大于等于最低编码码率值并且小于用户配置的编码码率值时,将带宽作为当前的编码码率值对视频码流进行编码;当带宽大于等于用户配置的编码码率值时,使用用户配置的编码码率值作为当前的编码码率值对视频码流进行编码。

一方面,本发明根据视频接收端反馈回来的带宽对编码码率进行实时调整,保证了编码码率与带宽相适应,提高了图像的清晰度;另一方面,本发明设置了最低编码码率值,当带宽小于最低编码码率值时,以最低编码码率值作为当前的编码码率值对视频码流进行编码,由此避免了编码码率值无限制随反馈带宽下调,保证了图像基本的清晰程度,保证图像质量。

本发明提供的视频码流传输控制方法,利用计算得到的编码帧率对视频码流进行编码控制具体包括:首先获取视频码流的采集帧率值;然后判断采集帧率值与计算得到的编码帧率值是否存在大于1的公约数;当存在大于1的公约数时,获取采集帧率值与计算得到的编码帧率值的最大公约数;最后根据采集帧率值、计算得出的编码帧率值以及最大公约数确定出编码过程中的丢帧策略。

对视频流进行编码前,需要采集图像,由于图像采集和编码特性,采集帧率值和编码帧率值不相匹配会导致图像会卡顿或抖动。本发明在计算得出编码帧率值后,根据采集帧率值、计算得出的编码帧率值以及最大公约数确定出编码过程中的丢帧策略,使得利用计算得到的编码帧率值对视频码流进行编码的过程中,可以根据确定出的丢帧策略进行均匀丢帧,避免图像太过跳跃,保证图像的连贯性。

本发明提供的视频码流传输控制装置,包括第一获取单元、第一判断单元、第一计算单元以及编码控制单元,第一获取单元用于获取视频接收端反馈回来的带宽,第一判断单元用于判断带宽是否小于预先设置的最低编码码率值,第一计算单元用于当第一判断单元判断结果为带宽小于最低编码码率值时,通过相应的公式计算得出编码帧率值,编码控制单元用于利用计算得到的编码帧率值对视频码流进行编码控制。

本发明一方面通过第一计算单元根据视频接收端的实时带宽对视频发送端的编码帧率进行实时调整,保证了编码帧率与带宽相适应,避免了因编码帧率与带宽不相匹配而导致的图像卡顿或拖尾的现象,提高了视频的流畅性;另一方面,本发明获取到视频接收端反馈回来的带宽后,仅需要通过第一计算单元根据对应的计算公式便可直接得出最终的编码帧率值,相比于传统的多次查找比对帧率和码率所对应的视频质量级别从而确定目标帧率,本发明提供的视频码流传输控制装置结构更为简单,显著提高了帧率的调整效率。并且,以预先设置的最低帧率值、最低编码码率值以及视频接收端反馈回来的带宽作为计算参数,保证了帧率调整的准确性。另外可以根据需求或者网络环境调整常数值,提高了该控制装置的使用灵活性。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例1提供的视频码流传输控制方法的方法流程图;

图2为本发明实施例2提供的视频码流传输控制方法的方法流程图;

图3为本发明实施例2提供的视频码流传输控制方法中的步骤s29的具体方法流程图;

图4为本发明实施例3提供的视频码流传输控制方法中的部分方法流程图;

图5为本发明实施例3提供的视频码流传输控制方法中的部分方法流程图;

图6为本发明实施例4提供的视频码流传输控制装置的结构框图;

图7为本发明实施例4提供的视频码流传输控制装置的一个具体示例的结构框图;

图8为本发明实施例4提供的视频码流传输控制装置的编码控制单元的结构框图;

图9为本发明实施例4提供的视频码流传输控制装置的部分结构框图;

图10为本发明实施例4提供的视频码流传输控制装置的部分结构框图;

图11为本发明实施例5提供的视频码流传输控制终端的结构框图。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性。

此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。

本发明实施例提供的视频码流传输控制方法主要应用于视频码流传输过程中,包括视频流发送端和视频流接收端。

视频流发送端一般为前段网络摄像机(简称ipc),ipc是一种由传统摄像机和网络技术结合所产生的新一代摄像机,由网络编码模块和模拟摄像机组合而成,网络编码模块将模拟摄像机采集到的模拟视频信号编码压缩成数字信号,从而可以直接接入网络交换及路由设备。

视频流接收端一般为网络硬盘录像机(简称nvr)或者客户端软件等,nvr最主要的功能是通过网络接收ipc设备传输的数字视频码流,并进行存储、管理。

下文是以ipc作为视频流发送端,以nvr作为视频流接收端进行说明。

实施例1

本发明实施例提供一种视频码流传输控制方法,如图1所示,包括以下步骤:

步骤s11、获取视频接收端反馈回来的带宽;

步骤s12、判断带宽是否小于预先设置的最低编码码率值,当带宽小于最低编码码率值时,执行步骤s13,否则执行其他操作;

步骤s13、根据以下公式计算得到编码帧率值:

fr=acptframerate-(minbitrate-fbbitrate)/m

其中,acptframerate表示预先设置的最低帧率值,minbitrate表示最低编码码率值,fbbitrate表示带宽,m表示常数;

需要说明的是,最低帧率值表示在保证图像流畅的前提下编码帧率的最低值,例如12帧;最低编码码率值表示在保证图像质量的前提下编码码率的最低值;m为常数,可以通过调整m的数值调整帧率的变化幅度,本实施例中,m优选为64。

步骤s14、利用计算得到的编码帧率值对视频码流进行编码控制。

本发明实施例一方面根据视频接收端的实时带宽对视频发送端的编码帧率进行实时调整,保证了编码帧率与带宽相适应,避免了因编码帧率与带宽不相匹配而导致的图像卡顿或拖尾的现象,提高了视频的流畅性;另一方面,本发明获取到视频接收端反馈回来的带宽后,仅需要根据对应的计算公式便可直接得出最终的编码帧率值,相比于传统的多次查找比对帧率和码率所对应的视频质量级别从而确定目标帧率的方法,本发明实施例提供的视频码流传输控制方法更加简单快捷,显著提高了帧率的调整效率。并且,以预先设置的最低帧率值、最低编码码率值以及视频接收端反馈回来的带宽作为计算参数,保证了帧率调整的准确性。另外可以根据需求或者网络环境调整常数值,提高了该控制方法的灵活性。

实施例2

本发明实施例提供一种视频码流传输控制方法,如图2所示,包括以下步骤:

步骤s21、获取视频接收端反馈回来的带宽;

步骤s22、判断带宽是否小于预先设置的最低编码码率值;当带宽小于最低编码码率值时,执行步骤s23,否则执行步骤s25;

步骤s23、将最低编码码率值作为当前的编码码率值对视频码流进行编码;

步骤s24、根据以下公式计算得到编码帧率值:

fr=acptframerate-(minbitrate-fbbitrate)/m

其中,acptframerate表示预先设置的最低帧率值,minbitrate表示最低编码码率值,fbbitrate表示带宽,m表示常数。

需要说明的是,最低帧率值表示在保证图像流畅的前提下编码帧率的最低值,例如12帧;最低编码码率值表示在保证图像质量的前提下编码码率的最低值;m为常数,其值可以根据需求或者网络环境进行设置,本实施例中,m优选为64。

步骤s25、判断带宽是否小于用户配置的编码码率值,当带宽小于用户配置的编码码率值时,执行步骤s26,否则执行步骤s28;

步骤s26、将带宽作为当前的编码码率值对视频码流进行编码;

步骤s27、根据以下公式计算得到编码帧率值:

fr=acptframerate+(fbbitrate-minbitrate)/n

其中,n表示常数,其值可以根据需求或者网络环境进行设置,本实施例中,常数n优选为128。

需要说明的是,如果计算得到的编码帧率值大于用户所设置的编码帧率值,则使用用户设置的编码帧率值进行编码。

步骤s28、使用用户配置的编码码率值和编码帧率值分别作为当前的编码码率值和编码帧率值对视频码流进行编码;

本实施例提供的视频码流传输控制方法,一方面根据视频接收端反馈回来的带宽对编码码率进行实时调整,保证了编码码率与带宽相适应,提高了图像的清晰度;另外还设置了最低编码码率值,当带宽小于最低编码码率值时,以最低编码码率值作为当前的编码码率值对视频码流进行编码,由此避免了编码码率值无限制随反馈带宽下调,保证了图像基本的清晰程度,保证图像质量。

同时,也对编码帧率值也进行了相应的调整,使得编码帧率值与编码码率值以及反馈回来的带宽相适应,在宽带发生变化时,同时保证图像的画质清晰以及图像的连贯性。

另一方面,获取到视频接收端反馈回来的带宽后,仅需要根据对应的计算公式便可直接得出最终的编码帧率值,相比于传统的多次查找比对帧率和码率所对应的视频质量级别从而确定目标帧率的方法,本发明提供的视频码流传输控制方法更加简单快捷,显著提高了帧率的调整效率。并且,以预先设置的最低帧率值、最低编码码率值以及视频接收端反馈回来的带宽作为计算参数,保证了帧率调整的准确性。另外可以根据需求或者网络环境调整常数值,提高了该控制方法的灵活性。

步骤s29、利用计算得到的编码帧率值对视频码流进行编码控制。

其中,如图3所示,步骤s29具体包括:

步骤s291、获取视频码流的采集帧率值;

步骤s292、判断采集帧率值与计算得到的编码帧率值是否存在大于1的公约数,当存在大于1的公约数时,执行步骤s293,否则执行步骤s296;

步骤s293、获取采集帧率值与计算得到的编码帧率值的最大公约数;

步骤s294、根据采集帧率值、计算得到的编码帧率值以及最大公约数确定出编码过程中的丢帧策略;

本实施例中,丢帧策略为:

每af/a帧视频帧中丢弃(af-fr)/a帧视频帧;

其中,af表示采集帧率值,fr表示编码帧率值,a表示采集帧率值和编码帧率值的最大公约数;

例如,采集帧率值为30,编码帧率为25,则两者之间的最大公约数为5,丢帧策略为每6帧视频帧中丢弃1帧视频帧。相比较于将采集到的30帧视频帧后面的5帧视频帧连续丢弃,本发明提供的丢帧策略能够保证均匀丢帧。

步骤s295、根据确定出的丢包策略对视频码流进行编码控制;

步骤s296、调整计算得到的编码帧率值,返回执行步骤s292;

本实施例中,调整计算得到的编码帧率值的步骤一般为增大或减小计算得到的编码帧率值。例如,采集帧率值为30,计算得到的编码帧率值为17,则增大编码帧率值为18或者减小编码帧率值为16,保证采集帧率值与编码帧率值之间具有大于1的最大公约数时,再继续执行后续步骤。

对视频流进行编码前,需要采集图像,由于图像采集和编码特性,采集帧率值和编码帧率值不相匹配会导致图像会卡顿或抖动。本发明实施例在计算得出编码帧率值后,根据采集帧率值、计算得出的编码帧率值以及最大公约数确定出编码过程中的丢帧策略,使得利用计算得到的编码帧率值对视频码流进行编码的过程中,可以根据获取到的丢帧策略进行均匀丢帧,避免图像太过跳跃,保证了图像的连贯性。

实施例3

本发明实施例提供一种视频码流传输控制方法,包括实施例2中记载的全部内容,在此不再赘述,如图4所示,本实施例在实施例2公开的内容基础上,还包括以下步骤:

步骤s31、获取反馈回来的带宽小于最低编码码率值的连续次数;

步骤s32、判断连续次数是否小于预设次数,当连续次数小于预设次数时,执行步骤s33,否则执行步骤s34;

步骤s33、判断带宽的反馈时间是否小于等于预设时间,当反馈时间小于等于预设时间时,返回执行步骤s31,否则执行步骤s34;

步骤s34、增大视频发送端的缓冲大小,并延长视频流的发送间隔。

具体地,视频发送端是通过调用linuxc系统函数中send函数来进行发送,在相邻的两次调用间隔内设置一个或多个时延,从而减慢了调用速度,延长了视频流的发送间隔。

如图5所示,本实施例中还包括以下步骤:

步骤s35、获取反馈回来的带宽连续增加的次数;

步骤s36、判断连续增加的次数是否小于预设次数,当连续增加的次数小于预设次数时,执行步骤s37,否则执行步骤s38;

步骤s37、判断反馈回来的带宽是否小于用户配置的编码码率值,当反馈回来的带宽小于用户配置的编码码率值时,返回执行步骤s35,否则执行步骤s38;

步骤s38、判断视频流发送端的缓冲大小是否小于预设参考值,当视频流发送端的缓冲大小小于预设参考值时,返回执行步骤s35,否则执行步骤s39;

步骤s39、缩短视频流的发送间隔;具体地,减小相邻的两次send函数调用间隔时间。

本实施例中根据反馈回来的带宽对视频流发送端的数据缓冲状态和发送状态进行动态调整,一方面有利于防止数据丢失,另一方面使得缓冲大小和发送节奏能够相互适应,保证图像的流畅性。

实施例4

本发明实施例提供了一种视频码流传输控制装置,如图6所示,包括第一获取单元41、第一判断单元42、第一计算单元43和编码控制单元44。

第一获取单元41用于获取视频接收端反馈回来的带宽;

第一判断单元42用于判断带宽是否小于预先设置的最低编码码率值;

第一计算单元43用于当第一判断单元42判断结果为带宽小于最低编码码率值时,根据以下公式计算得到编码帧率值:

fr=acptframerate-(minbitrate-fbbitrate)/m

其中,acptframerate表示预先设置的最低帧率值,minbitrate表示最低编码码率值,fbbitrate表示带宽,m表示常数;

编码控制单元44用于利用计算得到的编码帧率值对视频码流进行编码控制。

本发明实施例一方面通过第一计算单元43根据视频接收端的实时带宽对视频发送端的编码帧率进行实时调整,保证了编码帧率与带宽相适应,避免了因编码帧率与带宽不相匹配而导致的图像卡顿或拖尾的现象,提高了视频的流畅性;另一方面,本发明获取到视频接收端反馈回来的带宽后,仅需要通过第一计算单元43根据对应的计算公式便可直接得出最终的编码帧率值,相比于传统的多次查找比对帧率和码率所对应的视频质量级别从而确定目标帧率,本发明提供的视频码流传输控制装置结构更为简单,显著提高了帧率的调整效率。并且,以预先设置的最低帧率值、最低编码码率值以及视频接收端反馈回来的带宽作为计算参数,保证了帧率调整的准确性。另外可以根据需求或者网络环境调整常数值,提高了该控制装置的使用灵活性。

作为本实施例的一种实施方式,如图7所示,还包括第二计算单元45,用于当第一判断单元42判断结果为带宽大于等于最低编码码率值时,根据以下公式计算得到编码帧率值:

fr=acptframerate+(fbbitrate-minbitrate)/n

其中,n表示常数。

作为本实施例的一种实施方式,还包括第一调整单元46,用于当第一判断单元42判断结果为带宽小于最低编码码率值时,将最低编码码率值作为当前的编码码率值对视频码流进行编码。

作为本实施例的一种实施方式,还包括第二判断单元47和第二调整单元48;

第二判断单元47用于当第一判断单元42判断结果为带宽大于等于最低编码码率值时,判断带宽是否小于用户配置的编码码率值;

第二调整单元48用于当第二判断单元47判断结果为带宽小于用户配置的编码码率值时,将带宽作为当前的编码码率值对视频码流进行编码;

需要说明的是,当第二判断单元47的判断结果为带宽大于用户配置的编码码率值时,不需对编码码率值和编码帧率值进行调整。

作为本实施例的一种实施方式,如图8所示,编码控制单元44具体包括第二获取单元441、第三判断单元442、第三获取单元443、第三调整单元444、确定单元445以及控制单元446;

第二获取单元441用于获取视频码流的采集帧率值;

第三判断单元442用于判断采集帧率值与计算得到的编码帧率值是否存在大于1的公约数;

第三获取单元443用于当第三判断单元442判断结果为采集帧率值与计算得到的编码帧率值存在大于1的公约数时,获取采集帧率值与计算得到的编码帧率值的最大公约数;

第三调整单元444用于当第三判断单元442判断结果为采集帧率值与计算得到的编码帧率值不存在大于1的公约数时,调整计算得到的编码帧率值,直到第三判断单元442判断结果为存在大于1的公约数;

本实施例中,第三调整单元444一般是通过增大或减小计算得到的编码帧率值。例如,采集帧率值为30,计算得到的编码帧率值为17,则增大编码帧率值为18或者减小编码帧率值为16,保证采集帧率值与编码帧率值之间具有大于1的最大公约数。

确定单元445用于根据采集帧率值、计算得到的编码帧率值以及最大公约数确定出编码过程中的丢帧策略;

本实施例中,丢帧策略为:

每af/a帧视频帧中丢弃(af-fr)/a帧视频帧;

其中,af表示采集帧率值,fr表示编码帧率值,a表示采集帧率值和编码帧率值的最大公约数;

例如,采集帧率值为30,编码帧率为25,则两者之间的最大公约数为5,丢帧策略为每6帧视频帧中丢弃1帧视频帧。相比较于将采集到的30帧视频帧后面的5帧视频帧连续丢弃,本发明提供的丢帧策略能够保证均匀丢帧。

控制单元446用于根据确定出的丢包策略对视频码流进行编码控制。

作为本实施例的一种实施方式,如图9所示,本实施例提供的视频码流传输控制装置还包括第四获取单元49、第四判断单元410、第四调整单元411以及第五判断单元412;

第四获取单元49用于获取反馈回来的带宽小于最低编码码率值的连续次数;

第四判断单元410用于判断连续次数是否小于预设次数;

第四调整单元411用于当第四判断单元410判断结果为连续次数大于等于预设次数时,增大视频发送端的缓冲大小,并延长视频流的发送间隔;

第五判断单元412用于当第四判断单元410判断结果为连续次数小于预设次数时,判断带宽的反馈时间是否小于等于预设时间;当第五判断单元412判断结果为反馈时间小于预设时间时,则通过第四获取单元49继续获取反馈回来的带宽小于最低编码码率值的连续次数,当第五判断单元412判断结果为反馈时间大于等于预设时间时,则通过第四调整单元411增大视频发送端的缓冲大小,并延长视频流的发送间隔。

作为本实施例的一种实施方式,如图10所示,本实施例提供的视频码流传输控制装置还包括第五获取单元413、第六判断单元414、第七判断单元415、第八判断单元416以及第五调整单元417;

第五获取单元413用于获取反馈回来的带宽连续增加的次数;

第六判断单元414用于判断连接增加的次数是否小于预设次数;

第七判断单元415用于当第六判断单元414判断结果为连续增加的次数小于预设次数时,判断反馈回来的带宽是否小于用户配置的编码码率值;

第八判断单元416用于当第六判断单元414判断结果为连续增加的次数大于等于预设次数时,或者当第七判断单元415判断结果为反馈回来的带宽大于等于用户配置的编码码率值时,判断视频流发送端的缓冲大小是否小于预设参考值;

第五调整单元417用于当第八判断单元416判断结果为视频流发送端的缓冲大小大于等于预设参考值时,缩短视频流的发送间隔;当第八判断单元416判断结果为视频流发送端的缓冲大小大于等于预设参考值时,则通过第五获取单元413继续获取反馈回来的带宽连续增加的次数。

实施例5

本发明实施例提供了一种视频码流传输控制终端,如图11所示,该设备包括一个或多个处理器51以及存储器52,图中以一个处理器51为例。

处理器51可以为中央处理器(centralprocessingunit,cpu)。处理器51还可以为其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器51也可以是任何常规的处理器等。

存储器52作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的多业务系统的运行方法对应的程序指令/模块。处理器51通过运行存储在存储器52中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述实施例中的视频码流传输控制方法。

存储器52可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据多业务系统的运行装置的使用所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至视频码流传输控制装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

一个或者多个模块存储在存储器52中,当被一个或者多个处理器51执行时,执行实施例1中的视频码流传输控制方法。

上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,具体可参见如图所示的实施例中的相关描述。

实施例6

本发明实施例提供了一种非暂态计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行实施例1中的视频码流传输控制方法。其中,存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)、随机存储记忆体(randomaccessmemory,ram)、快闪存储器(flashmemory)、硬盘(harddiskdrive,缩写:hdd)或固态硬盘(solid-statedrive,ssd)等;存储介质还可以包括上述种类的存储器的组合。

本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一种计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(rom)或随机存储记忆体(ram)等。

实施例7

本发明实施例提供了一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行实施例1中的视频码流传输控制方法。

显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

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