一种H264视频流畅传输方法与流程

文档序号:24496949发布日期:2021-03-30 21:24阅读:221来源:国知局
一种H264视频流畅传输方法与流程

本发明属于流媒体实时通讯领域,主要用于视频会议、网上教学、网络直播等实时视频通讯行业的流媒体数据实时可靠传输。



背景技术:

网络实时交互视频的应用越来越广泛,该技术在视频会议、网上教学、网络直播等各个行业都有大量的应用,而且随着用户对产品质量的要求越来越高,流畅、清晰的视觉体验也已经成为考察产品质量的首要技术指标。

常用的网络视频通讯技术中,以基于tcp的数据收发为基础,在视频编码端设置发送缓存队列,在接收端设置接收缓存队列。数据的可靠性直接依赖tcp协议的重传机制,视频解码的流畅性依靠接收缓存队列以及预先设置编码器码率参数。此类方法可以应对网络条件较好的情况,但在组网复杂,带宽抖动的环境中,该方法则难以应对,时常会发生解码延时,或画面卡顿的情况,而且在复杂的网络环境条件下,tcp也会产生丢包,此时就会发生某段时间内解码端显示花屏或黑屏的情况。

由图1现有技术的常用视频通讯方法,可以看出,此类方法的优点是流程清晰、实现简单,但对环境的稳定性有较高的要求,如果网络出现带宽抖动或者数据丢包的情况则会对解码终端造成较大影响,用户体验大大下降。



技术实现要素:

针对上述问题,本发明的目的针对以上提及的现有技术的缺点,提出一种改进方法来实现对即时视频通讯实时性与可靠性的优化。

对现有方法进行分析可以发现,简单基于tcp自身传输可靠性存在一定的风险,因为tcp协议在网络丢包率较大的情况下仍然会收发数据失败。而在通讯带宽出现变化时,固定的编码码率也会常常导致数据发送延迟或失败,导致解码端丢失数据,进而产生视频解码的延时、卡顿甚至花屏、黑屏的现象。

本发明通过引入一定的信息反馈机制,在编码侧动态的调整编码参数确保数据的流量能适配当前的网络带宽,避免数据发送不出去导致的各种问题。通过加入适当的应用层数据重传机制来规避单纯依赖tcp本身可靠性的问题。

基于以上几点考虑,对现有方法进行优化改进,避免以上提及的缺陷,提高视频通讯软件的网络环境适应能力,提供更好的用户体验,本发明提出一种h264视频流畅传输方法,具体步骤如下:

1.在视频编码侧的tcp收发模块部分,增加重传缓存队列,避免tcp发送失败时发生数据丢失情况;

2.在视频解码侧的tcp收发模块部分,增加对收包信息、缓存队列长队以及解码信息的统计,整理组织后反向发送至编码侧,作为其调整传输策略的依据;

3.在视频编码侧依据解码侧回传的反馈信息,对编码码率进行动态调整,避免数据传输量大于网络传输能力。

依据图3搭建测试环境,测试结果如下:

1.现有技术的测试数据如下:

经本发明优化后的测试数据如下:

可以看出,没有采用本发明优化的方法只有在网络带宽稳定,无丢包的情况下才可以保证视频流传输的稳定与流畅,而在网络带宽变化较大或是网络丢包的情况下,基本上都会出现不同程度的解码花屏、卡顿与延迟过大的现象。

目前我国网络环境日益复杂,设备入网方式也趋于多样化,如何在条件较差的网络环境中,以低成本的方式保证流媒体数据传输的实时可靠,是一个值得研究探讨的话题。本方法通过对现有技术方法在应用软件层面的优化改造,较大的提高了流媒体通讯软件对网络环境的适应性,具有一定的社会及经济价值。

附图说明

图1是现有技术的常用视频通讯传输方法示意图。

图2是本发明改进的视频通讯传输方法示意图。

图3是现有技术的搭建测试环境。

图4是本发明实施例的搭建测试环境。

具体实施方式

下面结合附图对本项发明的一种实现方式作进一步说明。

如图2所示,本发明改进的视频通讯传输方法示意图。如图所示,与经典的视频数据收发方式相比,数据发送端增加了重传缓存队列,h264编码器侧增加了码流调整机制,依据tcp收发模块的统计信息来决定是否丢包重传,以及编码参数是否需要调整。而在解码端则增加了解码信息收集以及丢包数据统计模块,并连续的将这些信息回传到编码端,作为发送端策略调整的信息依据。

适当的发送缓存队列和接收缓存队列用于防止由于网络传输延迟不均匀导致的解码显示不均匀的情况,通常情况下都会有这种处理,队列深度要在视频帧率、解码延迟时间与流畅性之间做一个权衡。

发送侧的重传缓存队列用于防止由于tcp传输过程中发送失败导致的数据丢失问题,该队列的深度可以通过当前网络的丢包情况做动态的调整。

解码端对解码器信息及数据收发信息的统计主要包括解码缓冲队列中视频帧的残余数量以及对接收到的数据包流水号的检测,综合之后定时回传至数据发送端,时间间隔可更具程序自身处理流程及需要来设置,通常设置为100ms一帧。

实施例1

如图4所示,本发明在某视频会议系统中已经得到实际的应用。该系统采用海思嵌入式arm-linux方法实现,支持1080p到d1的视频编码尺寸,1mbps的码率上限情况下,可在100mbps(通常上传带宽为下载带宽的1/10,即10mbps)的家用网络带宽中持续稳定流畅的传输。

如图4所示,mcu服务器在整个系统中起到数据传输代理的作用,收发终端利用本发明作数据的传输与接收。由于视频会议系统往往需要适应复杂的网络带宽变化情况,设备收发端依据丢包情况动态调整码率,以及适当的重传机制,可以有效的提高视频的流畅性,以及整个连接场景的可靠性。

如图4所示,本方法使用在视频会议终端的网络收发模块中,保证视频编码数据的稳定传输,是该系统中较为核心的功能模块。其中重传队列深度采用动态生成的方法动态确定长度,重传数据反复发送直至传输成功;编码码率的浮动以50kbps为档位逐档上调或下降,若超过某种帧率的显示清晰度与码率的匹配范围则将画面尺寸调低一档,画面尺寸的档位依据编码设备提供的档位为依据;解码器缓存队列的长度依据解码码率设置,通常设置为当前解码帧率上限的1.5倍,收包端的丢包数通过数据包的流水号来统计。系统中的音频数据也采用类似的方法收发,但音频数据量较小,编解码对系统产生的负荷也小,因此可以固定参数,只需处理重传以及与视频做解码时间戳的匹配即可。

视频会议系统在各类视频通讯系统中对实时性、流畅性、稳定性要求较高,因此本方法在其他各类相关产品中也可以得到应用。

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