一种视频传输方法与流程

文档序号:12183538阅读:276来源:国知局
一种视频传输方法与流程

本发明属于通信技术领域,尤其涉及一种视频传输方法。



背景技术:

随着智能终端的普及,越来越多的人,通过监控设备,记录车辆行驶过程中的信息,生成视频。当发生交通意外或交通纠纷时,可以通过查看视频来判断责任方,因此视频是解决交通意外或交通纠纷的有效证据。

然而,现有的系统在视频传输时,在网络不稳定情况下,不能保证视频数据实时传输的可靠性,降低了视频的质量。其原因在于,在车辆行驶过程中,会经过不同的基站,在不同的基站之间切换,会引起网络的不稳定,出现带宽波动、延迟抖动和丢包等现象,因此不能保证视频数据实时传输的可靠性,因此降低了实时传输后的视频的质量。



技术实现要素:

本发明实施例的目的在于提供一种视频传输方法,旨在现有的视频监控系统,在在视频图像实时缓存数据量时,不能保证视频数据实时传输的可靠性,降低了视频的质量的问题。

本发明实施例是这样实现的,一种视频传输方法,包括:

获取当前网络传输该视频图像的网络参数信息;

查找所述网络参数信息对应的视频编码参数,其中,所述视频编码参数与网络传输质量呈正相关关系,包括码率和帧率;

根据所述视频图像实时缓存的数据量,实时调整自身的编码码率;

根据所述编码码率,对所述视频图像进行编码,生成视频数据包;

传输所述视频数据包。

在本发明实施例中,根据视频图像实时缓存的数据量,实时调整自身的编码码率;根据编码码率,对视频图像进行编码,生成视频数据包;传输视频数据包。避免了在视频图像实时缓存数据量时,出现不能保证视频数据实时传输的可靠性,降低了视频的质量的问题,能最大化减小实时视频传输时的丢包率,获得平稳的实时视频流,从而既保证了视频数据实时传输的可靠性,也提高了视频的质量。

附图说明

图1是本发明实施例提供的视频传输方法的实现流程图;

图2是本发明实施例提供的视频传输方法步骤S102的实施过程图;

图3是本发明实施例提供的步骤S201的实施过程图;

图4是本发明实施例提供的步骤S202的实施过程图;

图5是本发明实施例提供的视频传输装置的结构框图;

图6是本发明实施例提供的视频传输装置中编码码率调整模块53的结构框图;

图7是本发明实施例提供的视频传输装置中编码码率降低单元531的结构框图;

图8是本发明实施例提供的视频传输装置中编码码率调高单元532的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例一

图1是本发明实施例提供的视频传输方法的实现流程图,详述如下:

在步骤S101中,获取当前网络传输该视频图像的网络参数信息;

本实施例中,需要实时获取反映当前网络传输质量的网络参数信息,以满足为用户在线实时传输视频的需要。其中,网络参数信息要能够反映当前网络状况的优劣。例如,网络参数信息可以是当前网络的传输带宽或信道质量。

在步骤S102中,查找所述网络参数信息对应的视频编码参数,其中,所述视频编码参数与网络传输质量呈正相关关系,包括码率和帧率;

本实施例中,可以在预先建立网络信息参数与视频编码参数的对应关系,包括码率和帧率。需要说明的是,网络传输质量与视频编码参数之间应当成正相关关系,即当网络传输质量较差时,对应的视频编码信息应当较大,由此在不同的网络传输质量状况下,根据实际获取到的网络参数,找到对应于最优的编码参数。

进一步的,网络参数信息与视频编码参数之间对应的关系可以是具体的函数关系,也可以是具体的表格映射关系。

在步骤S103中,根据所述视频图像实时缓存的数据量,实时调整自身的编码码率;

其中,实时缓存的数据量表示缓存区中缓存数据的累积程度,直接利用缓存区中缓存数据的累积程度,实时编码码率,以此适应网络带宽的变化,无须增加网络额外流量,即可达 到增加可靠性的目的。例如,在网络不稳定情况下,建立缓存区,通过所述缓存区缓存当前的视频图像,通过缓存区,可以缓存由于网络拥塞没有及时发送的视频图像。

在步骤S104中,根据所述编码码率,对所述视频图像进行编码,生成视频数据包;

可采用现有任意一种视频格式,对所述视频图像进行编码,生成视频数据包,在此不做限制。

在步骤S105中,传输所述视频数据包。

采用预定的网络传输协议,传输所述视频数据包,所述网络传输协议包括但不限于用户数据报协议(User Datagram Protocol,UDP)、传输控制协议(Transmission Control Protocol,TCP)。

在本发明实施例中,根据视频图像实时缓存的数据量,实时调整自身的编码码率;根据编码码率,对视频图像进行编码,生成视频数据包;传输视频数据包。避免了在网络不稳定情况下,出现不能保证视频数据实时传输的可靠性,降低了视频的质量的问题,能最大化减小实时视频传输时的丢包率,获得平稳的实时视频流,从而既保证了视频数据实时传输的可靠性,也提高了视频的质量。

实施例二

图2是本发明实施例提供的视频传输方法步骤S102的实施过程图,详述如下:

在步骤S201中,当所述根据所述视频图像实时缓存的数据量增大时,实时降低自身的编码码率,直至所述数据量接近预设数据量;

其中,当所述根据所述视频图像实时缓存的数据量增大时,实时降低自身的编码码率,并根据自定义的所述编码码率与帧率的对应关系,相应减小帧率,以保证实时传输的视频质量。

在步骤S202中,当所述根据所述视频图像实时缓存的数据量减小时,实时调高自身的编码码率,直至所述数据量接近预设数据量。

其中,当所述根据所述视频图像实时缓存的数据量减小时,实时调高自身的编码码率,并根据自定义的所述编码码率与帧率的对应关系,相应调高帧率,以保证实时传输的视频质量。

在本发明实施例中,根据视频图像实时缓存的数据量,实时调整自身的编码码率;根据编码码率,对视频图像进行编码,生成视频数据包;传输视频数据包。能最大化减小实时视频传输时的丢包率,获得平稳的实时视频流,从而既保证了视频数据实时传输的可靠性,也提高了视频的质量。

实施例三

图3是本发明实施例提供的步骤S201的实施过程图,详述如下:

在步骤S301中,获取所述视频图像实时的写入速度和读取速度之间的差值;

在步骤S302中,判断在预设时间内所述差值是否大于预设差值;

在步骤S303中,当在预设时间内所述差值是否大于预设差值时,表示所述视频图像实时缓存的数据量增大,实时降低自身的编码码率,直至所述数据量接近预设数据量。

其中,在降低编码码率的采样时间内,对读写针和读指针的差值进行采样并统计,通过采样统计,当在预设时间内所述差值是否大于预设差值时,表示所述视频图像实时缓存的数据量增大,实时降低自身的编码码率。

为便于说明,以实际应用为例,详述如下:

其中,缓存区由多个缓存单元组成,H264编码器每单位时间产生的视频数据写入到缓存区的一个或多个缓存单元,数据写入位置用写指针表示,每个缓存单元的大小为一固定值,如1024byte;

读指针一次将一个单位缓存单元作为一个数据包发送到TCP发送队列,如果写指针与读指针的差值小于一个单元,则读指针置为等待状态;

写指针的移动速度受编码码率影响,而读指针的速度受TCP发送码率的影响,网络状态越差,则丢包概率大,则编码码率应该调为更小,也就是降低编码码率。

在本发明实施例中,为了实时视频的尽可能的稳定和平滑,降低编码码率是快速响应的,因此降低编码码率的采样时间比升高编码码率的采样时间要短,通过降低编码码率,能最大化减小实时视频传输时的丢包率,获得平稳的实时视频流,从而既保证了视频数据实时传输的可靠性,也提高了视频的质量。

实施例四

图4是本发明实施例提供的步骤S202的实施过程图,详述如下:

在步骤S401中,获取所述视频图像实时的写入速度和读取速度之间的差值;

写入速度为写指针的值,读取速度为读指针的值。

在步骤S402中,判断在预设时间内所述差值是否不大于预设差值;

在步骤S403中,当在预设时间内所述差值是否不大于预设差值时,表示所述视频图像实时缓存的数据量减小,实时调高自身的编码码率,直至所述数据量接近预设数据量。

其中,在升高编码码率的采样时间内,对读写针和读指针的差值进行采样并统计,通过 采样统计,当在预设时间内所述差值是否不大于预设差值时,表示所述视频图像实时缓存的数据量减小,实时调高自身的编码码率。

其中,升高编码码率的采样时间比降低编码码率的采样时间要长。

为便于说明,以实际应用为例,详述如下:

其中,缓存区由多个缓存单元组成,H264编码器每单位时间产生的视频数据写入到缓存区的一个或多个缓存单元,数据写入位置用写指针表示,每个缓存单元的大小为一固定值,如1024byte;

读指针一次将一个单位缓存单元作为一个数据包发送到TCP发送队列,如果写指针与读指针的差值小于一个单元,则读指针置为等待状态;

写指针的移动速度受编码码率影响,而读指针的速度受TCP发送码率的影响,如果网络状态越好,则TCP发送视频数据的速度越快,读视频数据的速度就越快,就允许编码器编码更多的视频数据,即编码码率可以调为更大,帧率亦可以调大;

如果写指针和读指针的差值大于0且近似于整个缓存区的大小,则表示单位时间内TCP发送的视频数据量小于编码产生的视频数据,应该降低编码码率;如果写指针和读指针的差值为0,且一段时间内保持差值为0,则升高编码码率;

在本发明实施例中,为了实时视频的尽可能的稳定和平滑,升高编码码率是慢速响应的,因此升高编码码率的采样时间比降低编码码率的采样时间要长,通过升高编码码率,能在减小实时视频传输时的丢包率的情况下,提高传输速度,获得平稳的实时视频流,从而既保证了视频数据实时传输的可靠性,也提高了视频的质量。

实施例五

本实施例主要描述了在实际应用中视频传输的实现流程,详述如下:

1、将车载DVR安装好在车上,接好摄像头和3G天线,插上无线3G卡,给设备正常上电,车载DVR正常启动;

2、设备正常上电启动之后,进行3G拨号联网,并注册联网到视频服务器;

3、打开实时视频客户端,通过客户端申请设备端实时视频,进行实时视频监控;

4、设备编码产生实时视频数据,通过无线3G发送至服务器,服务器转发至客户端,客户端进行解码回放;

5、设备编码码率启动时,首先会默认一个初始码率值,而后会根据3G网络的实时状况进行自适应码率调整,以达到充分利用无线网络资源,保证实时视频的传输质量;

6、设备编码产生视实时频数据后,通过TCP协议发往服务器,在应用层申请缓存区, 并分别置位缓存区的读写指针,根据实时视频数据应用层发送缓存区读写指针的差值,即利用发送缓存区缓存数据的累积程度,实时调整发送端的编码码率,以此适应网络带宽的变化,无须增加网络额外流量;

7、发送缓存区由多个缓存单元组成,H264编码器每单位时间产生的视频数据写入到环形缓存区的一个或多个缓存单元,数据写入位置用写指针表示,每个缓存单元的大小为一固定值,如1024byte,每写入一定量的编码视频数据,写指针进行相应的移位操作;

8、读指针一次将一个单位缓存单元作为一个数据包发送到TCP发送队列,如果写指针与读指针的差值小于一个单元,则读指针置为等待状态;

9、写指针的移动速度受编码码率影响,而读指针的速度受TCP发送码率的影响,如果网络状态越好,则TCP发送视频数据的速度越快,读视频数据的速度就越快,就允许编码器编码更多的视频数据,即码率可以调为更大,帧率亦可以调大;相反,网络状态越差,则丢包概率大,则码率应该调为更小,帧率也应降低;

10、如果写指针和读指针的差值大于0且近似于整个缓存区的大小,则表示单位时间内TCP发送的视频数据量小于编码产生的视频数据,应该降低编码码率;如果写指针和读指针的差值为0,且一段时间内保持差值为0,则应该升高编码码率;

11、降低编码码率和升高编码码率是本自适应码率调整算法的两种调整策略,当实时视频的编码码率大于网络的传输码率时,进行降低编码码率调整,当实时视频编码小于网络传输码率时,进行升高的编码码率调整。实际中,为了实时视频的尽可能的稳定和平滑,降低编码码率是快速响应的,但升高编码码率是慢速响应的,即升高编码码率是需要等待网络平稳一定时段才进行调整的;

12、虽然降低编码码率是快速响应,而升高编码码率是慢速响应,但是两种编码调整策略都需要进行采样统计,即通过一定时段的读写指针位置差值的采样统计,来判断是否进行编码码率调整响应,而且升高编码码率的采样时间比降低编码码率的采样时间要长;

13、采取编码码率调整的同时,为了保证实时视频质量,相应对帧率也进行调整,码率降低时减小帧率,码率升高时增大帧率;

实施例六

图5是本发明实施例提供的视频传输装置的结构框图,该装置可以运行于视频监控设备中。为了便于说明,仅示出了与本实施例相关的部分。

参照图5,该视频传输装置,包括:

网络参数信息获取模块51,用于获取当前网络传输该视频图像的网络参数信息;

视频编码参数查找模块52,用于查找所述网络参数信息对应的视频编码参数,其中,所述视频编码参数与网络传输质量呈正相关关系,包括码率和帧率;

编码码率调整模块53,用于根据所述视频图像实时缓存的数据量,实时调整自身的编码码率;

视频数据包生成模块54,用于根据所述编码码率,对所述视频图像进行编码,生成视频数据包;

视频数据包传输模块55,用于传输所述视频数据包。

在本实施例的一种实现方式中,在该视频传输装置中,所述视频图像缓存模块51具体用于在网络不稳定情况下,建立缓存区,通过所述缓存区缓存当前的视频图像。

在本实施例的一种实现方式中,参考图6,图6是本发明实施例提供的视频传输装置中编码码率调整模块53的结构框图,在该视频传输装置中,所述编码码率调整模块53包括:

编码码率降低单元531,用于当所述根据所述视频图像实时缓存的数据量增大时,实时降低自身的编码码率,直至所述数据量接近预设数据量;

编码码率调高单元532,用于当所述根据所述视频图像实时缓存的数据量减小时,实时调高自身的编码码率,直至所述数据量接近预设数据量。

在本实施例的一种实现方式中,参考图7,图7是本发明实施例提供的视频传输装置中编码码率降低单元531的结构框图,在该视频传输装置中,所述编码码率降低单元531包括:

第一获取子单元5311,用于获取所述视频图像实时的写入速度和读取速度之间的差值;

第一判断子单元5312,用于判断在预设时间内所述差值是否大于预设差值;

编码码率降低子单元5313,用于当在预设时间内所述差值是否大于预设差值时,表示所述视频图像实时缓存的数据量增大,实时降低自身的编码码率,直至所述数据量接近预设数据量。

在本实施例的一种实现方式中,参考图8,图8是本发明实施例提供的视频传输装置中编码码率调高单元532的结构框图,在该视频传输装置中,所述编码码率调高单元532包括:

第二获取子单元5321,用于获取所述视频图像实时的写入速度和读取速度之间的差值;

第二判断子单元5322,用于判断在预设时间内所述差值是否不大于预设差值;

编码码率调高子单元5323,用于当在预设时间内所述差值是否不大于预设差值时,表示所述视频图像实时缓存的数据量减小,实时调高自身的编码码率,直至所述数据量接近预设数据量。

本发明实施例提供的装置可以应用在前述对应的方法实施例中,详情参见上述实施例的描述,在此不再赘述。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现。所述的程序可以存储于可读取存储介质中,所述的存储介质,如随机存储器、闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件执行本发明各个实施例所述的方法。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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