一种视频编码中码率控制方法及系统技术方案

技术编号:14890693 阅读:88 留言:0更新日期:2017-03-28 23:14
本发明专利技术提供了一种视频编码中码率控制方法及系统,该方法包括抓取编码器的码流数据包,按照抓取时间顺序缓存至缓冲池;将码流数据包按照抓取时间顺序传输到复用器,并保存至已发送区;在已发送区内预设有保存码流数据包的时间阈值和数据包阀值;判断已发送区内缓存的码流数据包的抓取时间与当前时间的差值是否超出时间阈值,并将超出时间阈值的码流数据包删除;若码流数据包的数量大于或等于数据包阀值,则停止数据传输;若码流数据包的数量小于数据包阀值,则进行数据传输。本发明专利技术带宽的输出值限定在稳定的范围内,有效控制码率输出,既达到了平滑传输的作用,又起到了预防编码器的码率输出不稳定的现象出现。

【技术实现步骤摘要】

本专利技术涉属于多媒体播放
,特别涉及一种视频编码中码率控制方法及系统
技术介绍
移动多媒体广播(CMMB)是通过采用数字编码,经过无线发射,移动抓取的方法进行电视节目的传播。移动多媒体广播支持移动抓取,在信号覆盖区域内,可以通过诸如手机、MP4播放器、GPS等移动终端随时随地抓取新闻、资讯、娱乐等电视节目,以满足不同用户的各种各样的需求。为了增加CMMB视频节目的清晰度,大多数厂家尝试使用高码率的编码器播放高清视频,在使用高清编码器时,由于需要的宽度比较大,编码器对输出的码率控制不稳,很容易导致视频节目存在卡顿现象。为了解决节目卡顿的问题,现有专利公开号CN105516721A公开的一种视频编码器及其码率控制方法,该技术中提供了一种新的视频编码器,并通过该编码器通过将图像预处理与视频压缩结合在一起考虑,通过图像预处理模块的处理强度与视频编码的码率控制结合调节,可以达到更佳的图像质量与编码效率的平衡点,从而使视频流在较低的码率下保持较好的图像质量。但是该技术必须将现有的编码器进行改进,而且其并没有解决现有的编码器在高码率的情况下容易出现卡顿的问题,为了防止出现卡顿,必须更换编码器,为此将造成经济成本提高,为了控制编码器的输出码率,急需开发一种能够直接应用到现有的编码器中的系统,能够有效控制编码器输出码率且能够解决视频节目卡顿的方法。
技术实现思路
为了解决现有技术存在的上述问题,本专利技术提供了一种能够直接应用到现有编码器中且能够有效实现对码率输出不稳的控制,同时确保数据在复用器设备中不溢出的视频编码中码率控制方法及系统。本专利技术具体技术方案如下:本专利技术提供了一种视频编码中码率控制方法,所述控制方法包括以下步骤:S1、数据抓取:实时抓取来自编码器的码流数据包,并将所述码流数据包按照抓取时间顺序缓存至缓冲池;S2、数据传输:将所述缓冲池内的所述码流数据包按照抓取时间顺序传输到复用器,同时保存至已发送池;S3、预设阈值:在所述已发送池内预设保存所述码流数据包的时间阈值和数据包阀值,所述数据包阀值为时间阈值内的数据包总数;S4、判断所述已发送池内保存的所述码流数据包的抓取时间与当前时间的差值是否超出所述时间阈值,并将超出所述时间阈值的所述码流数据包删除;S5、比较所述已发送池内所述码流数据包的数量与所述数据包阀值的大小,若所述码流数据包的数量大于或等于所述数据包阀值,则停止数据传输,反之,若所述码流数据包的数量小于所述数据包阀值,则进入步骤S2进行数据传输。进一步的,步骤S2还包括所述缓冲池数据管理:将所述缓冲池内已经传输至所述复用器内的所述码流数据包删除。进一步的,当所述已发送池内所述码流数据包的数量变化时,根据所述已发送池内所述码流数据包的总数实时调整所述缓冲池内的所述码流数据包的传输速率和/或时间。进一步的,若所述缓冲池内抓取的所述码流数据包的抓取时间小于所述时间阈值时,步骤S2中,减少所述缓冲池内的所述码流数据包向所述复用器和所述已发送池的传输率。进一步的,步骤S2中,数据传输时,首先判断所述已发送池内是否存在所述码流数据包,若所述已发送池内不存在所述码流数据包,则直接进行数据传输,将所述缓冲池内的所述码流数据包按照抓取时间顺序传输到复用器,同时缓存至已发送池;若所述已发送池内存在所述码流数据包,则直接进入步骤S3。优选的,步骤S3中,所述数据包阀值即为预设带宽阀值,所述预设带宽阀值大于所述编码器实际输出码率带宽平均值。优选的,步骤S1中,所述编码器通过设置IP地址及与所述IP地址对应的输出端口输出所述码流数据包,数据抓取时,通过监听所述IP地址对应的所述输出端口抓取所述编码器发送的所述码流数据包,并将所述码流数据包按照抓取时间顺序保存至所述缓冲池。本专利技术还提供了一种视频编码中码率控制系统,包括码流控制服务器,所述码流控制服务器分别与所述编码器、所述复用器相通讯,所述码流控制服务器包括数据库及与所述数据库相通讯的数据抓取模块、数据传输模块、时间阈值预设模块、数据包阀值预设模块、判断模块、第一删除模块、对比模块;所述数据库内设有缓冲池和已发送池;所述数据抓取模块用于循环实时抓取所述编码器输出的码流数据包,并将所述码流数据包按照抓取时间顺序保存至所述缓冲池;所述数据传输模块用于将所述缓冲池内存储的所述码流数据包传输至所述复用器,同时备份缓存至所述已发送池;所述时间阈值预设模块用于预设所述已发送池内保存所述码流数据包的时间阈值,并将所述时间阈值发送至所述判断模块;所述判断模块用于判断所述已发送池内缓存的所述码流数据包的抓取时间与当前时间的差值是否超出所述时间阈值,并将超出所述时间阈值的所述码流数据包发送至所述第一删除模块;所述第一删除模块用于将超出所述时间阈值的所述码流数据包删除;所述数据包阀值预设模块用于预设所述已发送池内保存所述码流数据包的数据包阀值,并将所述数据包阀值发送至所述对比模块,所述对比模块用于比较所述已发送池内所述码流数据包的数量与所述数据包阀值的大小,若所述码流数据包的数量大于或等于所述数据包阀值,则生成停止数据传输的指令发送至所述数据传输模块,使所述数据传输模块停止数据传输;反之,若所述码流数据包的数量小于所述数据包阀值,则生成继续进行数据传输的指令发送至所述数据传输模块,使所述数据传输模块进行数据传输。进一步的,所述码流控制服务器还包括第二删除模块,所述第二删除模块用于将所述缓冲池内已经传输至所述复用器内的所述码流数据包删除。优选的,所述编码器设有输出端口,所述编码器通过所述输出端口设有输出的IP地址,所述数据抓取模块通过监听所述IP地址与所述输出端口相通讯,并用于抓取所述编码器由所述输出端口发送的所述码流数据包。本专利技术的有益效果如下:本专利技术提供的码率控制方法能够通过采用码率平均值发送码流数据,超出码率平均值的数据缓冲起来,即将异常的“波峰”使用时间的缓冲平滑掉,将带宽的输出值限定在稳定的范围内,有效控制码率输出,既达到了平滑传输的作用,又起到了预防编码器输出不稳定,造成视频卡顿的现象出现,该方法和系统不仅无需改进现有的编码器和复用器,直接通讯连接即可,不仅有效实现了码率平滑的效果,而且经济成本低,使用方便,操作简单,实用性强。附图说明图1为实施例1所述的一种视频编码中码率控制方法的流程图;图2为实施例3所述的一种视频编码中码率控制系统的结构示意图;图3为实施例3所述的一种视频编码中码率控制系统的结构框图;图4为实施例4所述的一种视频编码中码率控制系统的结构框图。其中:1、码流控制服务器;101、数据库;102、数据抓取模块;103、数据传输模块;104、时间阈值预设模块;105、数据包阀值预设模块;106、判断模块;107、第一删除模块;108、对比模块;109、第二删除模块;2、编码器;3、复用器。具体实施方式下面结合附图和以下实施例对本专利技术作进一步详细说明。实施例1如图1所示,本专利技术实施例1提供了一种视频编码中码率控制方法,所述控制方法包括以下步骤:S1、数据抓取:监听编码器2的数据输出端口,实时抓取或抓取来自编码器2的码流数据包,并将所述码流数据包按照抓取时间顺序保存至缓冲池,监听过程无线循环运行,只要系统运行,则持续抓取或抓取码流数据包。S2、第一次数据传输:首本文档来自技高网...
一种视频编码中码率控制方法及系统

【技术保护点】
一种视频编码中码率控制方法,其特征在于,所述控制方法包括以下步骤:S1、数据抓取:实时抓取来自编码器(2)的码流数据包,并将所述码流数据包按照抓取时间顺序缓存至缓冲池;S2、数据传输:将所述缓冲池内的所述码流数据包按照抓取时间顺序传输到复用器(3),同时保存至已发送池;S3、预设阈值:在所述已发送池内预设保存所述码流数据包的时间阈值和数据包阀值,所述数据包阀值为时间阈值内的数据包总数;S4、判断所述已发送池内保存的所述码流数据包的抓取时间与当前时间的差值是否超出所述时间阈值阈值,并将超出所述时间阈值的所述码流数据包删除;S5、比较所述已发送池内所述码流数据包的数量与所述数据包阀值的大小,若所述码流数据包的数量大于或等于所述数据包阀值,则停止数据传输,反之,若所述码流数据包的数量小于所述数据包阀值,则进入步骤S2进行数据传输。

【技术特征摘要】
1.一种视频编码中码率控制方法,其特征在于,所述控制方法包括以下步骤:S1、数据抓取:实时抓取来自编码器(2)的码流数据包,并将所述码流数据包按照抓取时间顺序缓存至缓冲池;S2、数据传输:将所述缓冲池内的所述码流数据包按照抓取时间顺序传输到复用器(3),同时保存至已发送池;S3、预设阈值:在所述已发送池内预设保存所述码流数据包的时间阈值和数据包阀值,所述数据包阀值为时间阈值内的数据包总数;S4、判断所述已发送池内保存的所述码流数据包的抓取时间与当前时间的差值是否超出所述时间阈值阈值,并将超出所述时间阈值的所述码流数据包删除;S5、比较所述已发送池内所述码流数据包的数量与所述数据包阀值的大小,若所述码流数据包的数量大于或等于所述数据包阀值,则停止数据传输,反之,若所述码流数据包的数量小于所述数据包阀值,则进入步骤S2进行数据传输。2.如权利要求1所述的视频编码中码率控制方法,其特征在于,步骤S2还包括所述缓冲池数据管理:将所述缓冲池内已经传输至所述复用器(3)内的所述码流数据包删除。3.如权利要求1所述的视频编码中码率控制方法,其特征在于,当所述已发送池内所述码流数据包的数量变化时,根据所述已发送池内所述码流数据包的总数实时调整所述缓冲池内的所述码流数据包的传输速率和/或时间。4.如权利要求1所述的视频编码中码率控制方法,其特征在于,若所述缓冲池内接收的所述码流数据包的抓取时间小于所述时间阈值时,步骤S2中,减少所述缓冲池内的所述码流数据包向所述复用器(3)和所述已发送池的传输率。5.如权利要求1所述的视频编码中码率控制方法,其特征在于,步骤S2中,数据传输时,首先判断所述已发送池内是否存在所述码流数据包,若所述已发送池内不存在所述码流数据包,则直接进行数据传输,将所述缓冲池内的所述码流数据包按照抓取时间顺序传输到复用器(3),同时保存至已发送池;若所述已发送池内存在所述码流数据包,则直接进入步骤S3。6.如权利要求2所述的视频编码中码率控制方法,其特征在于,步骤S3中,所述数据包阀值即为预设带宽阀值,所述预设带宽阀值大于所述编码器(2)实际输出码率带宽平均值。7.如权利要求1所述的视频编码中码率控制方法,其特征在于,步骤S1中,所述编码器(2)通过设置IP地址及与所述IP地址对应的输出端口输出所述码流数据包,数据抓取时,通过监听所述IP地址对应的所述输出端口接收所述编码器(2)发送的所述码流数据包,并将所述码流数据包按照抓取时间顺序缓...

【专利技术属性】
技术研发人员:纪琦华蒲珂方宏李哲山胡彬陈传海蔡忠善张毅萍魏明
申请(专利权)人:中广热点云科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1