基于带宽检测的平台级视频流自适应平滑播放方法及系统与流程

文档序号:13950076阅读:184来源:国知局
基于带宽检测的平台级视频流自适应平滑播放方法及系统与流程

本发明涉及视频通信技术领域,尤其是基于带宽检测的平台级视频流自适应平滑播放方法及系统



背景技术:

省域或区域范围的ip专网环境复杂,从千兆、百兆、数十兆到几兆的视频网络,不仅承载视频数据,还要不定期的承担视频会议、应急调度指挥、数据交换共享等业务系统,都在抢夺网络带宽资源,预先设定的转码参数、分辨率码率等相对固定,这样的固定码流向调看者推送视频流,会存在视频图像跳帧、断续、延迟,甚至中断,此时任何对转码参数的修改,都需要重新请求转码才能完成,无法由终端用户设置参数或者自适应用户请求场景,从而影响用户使用感受。



技术实现要素:

针对现有技术中的缺陷,本发明提供一种端到端带宽检测、平台级视频流自适应播放方法及播放系统,实现了对流媒体服务器到用户端的网络带宽测量,感知用户播放速度,动态调整视频的播放速率。

为了实现上述目的,本发明提供的端到端带宽检测方法,具体包括如下步骤:

获取从流媒体服务器到用户端通过传输路径发送的任意一个数据包时的瞬时流量;

根据所述瞬时流量获得对应于每一个数据包的可用估计带宽ⅰ,并通过计算其平均值得到对应于每一个分组序列的估计带宽ⅱ,所述分组序列包括多个数据包;

计算所有分组序列的均值,得到特定时间段之间流媒体服务器到用户端的可用估计带宽ⅲ。

进一步地,获取从流媒体服务器到用户端通过传输路径发送的任意一个数据包时的瞬时流量具体为:

其中p为服务器到用户端可用带宽的传输路径,为第k个到第k+1个数据包发送的时间间隔。

进一步地,所述根据所述瞬时流量获得对应于每一个数据包的可用估计带宽ⅰ,并通过计算其平均值得到对应于每一个分组序列的估计带宽ⅱ,具体为:

所述根据所述瞬时流量获得对应于每一个数据包的可用估计带宽

流媒体服务器到用户端可用带宽的传输路径p={a0,a1,a2...an},其中链路i连接ai-1到ai,在时间点α和β之间,进入链路i的若干分组序列中任意一个数据包时的瞬时流量为ai[α,β],测量时间点在α时路径的瞬时带宽的时间间隔τ,则时间点t-τ到t之间,其中a0为源点,an为宿点,a1,a2...an-1为中间依次经过节点序列,ci为链路i的带宽,pi为数据包从流媒体服务器到链路i所需要的最短时间;

通过计算其的平均值得到对应于每一个分组序列的估计带宽ⅱd(m)

其中n为正整数。

进一步地,所述计算所有分组序列的均值,得到特定时间段之间流媒体服务器到用户端的可用估计带宽ⅲ;具体为:

计算所有分组序列d(m)的均值,得到在时间段[t-τ,t]之间流媒体服务器到用户端的估计带宽ⅲρ[t-τ,t]。

平台级视频流自适应播放方法,具体包括如下步骤:

流媒体服务器接收用户端的视频在线播放请求,并根据用户端的视频在线播放请求建立链路,以及发出一侦测网络宽带请求;

宽带检测器接收所述侦测网络宽带请求进行链路的带宽不定期检测;

流媒体服务器接收宽带检测器的测试结果反馈,根据所述测试结果反馈发送码流请求;

码流自适应器接收所述码流请求,向流媒体服务器返回合适的码流编码;

流媒体服务器根据所述码流编码向用户返回相应的编码视频流。

进一步地,平台级视频流自适应播放方法还包括:

流媒体服务器接收所述码流编码,并发出对相应的码流开始动态改变码流,进行缓存处理的请求;

码流平滑器接收所述开始动态改变码流,进行缓存处理的请求;以及,对相应的码流进行平滑过渡处理。

进一步地,所述宽带检测器接收所述侦测网络宽带请求进行链路的带宽不定期检测具体为:

获取从流媒体服务器到用户端通过传输路径发送的任意一个数据包时的瞬时流量;

根据所述瞬时流量获得对应于每一个数据包的可用估计带宽ⅰ,并通过计算其平均值得到对应于每一个分组序列的估计带宽ⅱ,所述分组序列包括多个数据包;

计算所有分组序列的均值,得到特定时间段之间流媒体服务器到用户端的可用估计带宽ⅲ。

平台级视频流自适应播放系统,包括流媒体服务器、宽带检测器、码流平滑器和码流自适应器;

所述流媒体服务器接收用户端的视频在线播放请求,并根据用户端的视频在线播放请求建立链路,以及发出一侦测网络宽带请求;

所述宽带检测器接收所述侦测网络宽带请求进行链路的带宽不定期检测;

所述流媒体服务器接收宽带检测器的测试结果反馈,根据所述测试结果反馈发送码流请求;

所述码流自适应器接收所述码流请求,向流媒体服务器返回合适的码流编码;

所述流媒体服务器接收所述码流编码,并发出对相应的码流开始动态改变码流,进行缓存处理的请求;

所述码流平滑器接收所述开始动态改变码流,进行缓存处理的请求;以及,对相应的码流进行平滑过渡处理。

所述流媒体服务器根据所述码流编码向用户返回相应的编码视频流。

平台级视频流自适应播放系统,所述宽带检测器在检测带宽的时候执行如下步骤:

获取从流媒体服务器到用户端通过传输路径发送的任意一个数据包时的瞬时流量,

根据所述瞬时流量获得对应于每一个数据包的可用估计带宽ⅰ,并通过计算其平均值得到对应于每一个分组序列的估计带宽ⅱ;所述分组序列包括多个数据包;

计算所有分组序列的均值,得到特定时间段之间流媒体服务器到用户端的可用估计带宽ⅲ

本发明的有益效果是:本发明提供一种带宽检测、平台级视频流自适应播放方法及播放系统,实现了对流媒体服务器到用户端的网络带宽测量,感知用户播放速度,动态调整视频的播放速率。

附图说明

图1为本发明端到端带宽检测方法实施例的流程图;

图2为本发明平台级视频流自适应播放方法实施例的流程图;

图3为本发明平台级视频流自适应播放系统实施例的框图。

具体实施方式

下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。

如图1所示,端到端带宽检测方法,具体包括如下步骤:

s1获取从流媒体服务器到用户端通过传输路径发送的任意一个数据包时的瞬时流量,

获取从流媒体服务器到用户端通过传输路径发送若干分组数据包序列,每个分组序列由若干数据包组成,第k个到第k+l个数据包发送的时间间隔为则发送第k个数据包时的瞬时流量

s2根据所述瞬时流量获得对应于每一个数据包的可用估计带宽,并通过计算其平均值得到对应于每一个分组序列的估计带宽,所述分组序列包括多个数据包;

s21所述根据所述瞬时流量获得对应于每一个数据包的可用估计带宽

流媒体服务器到用户端可用带宽的传输路径p={a0,a1,a2...an},其中链路i连接ai-1到ai,在时间点α和β之间,进入链路i的若干分组序列中任意一个数据包时的瞬时流量为ai[α,β],测量时间点在α时路径的瞬时带宽的时间间隔τ,则将时间点t-τ到t之间,其中a0为源点,an为宿点,a1,a2...an-1为中间依次经过节点序列,ci为链路i的带宽,pi为数据包从流媒体服务器到链路i所需要的最短时间,mini为链路中i有很多节点,取所有两节点间的带宽的最小值;

s22通过计算其的平均值得到对应于每一个分组序列的估计带宽d(m)

其中n为正整数。

s3计算所有分组序列的均值,得到特定时间段之间流媒体服务器到用户端的可用估计带宽。

计算所有分组序列d(m)的均值,得到在时间段[t-τ,t]之间流媒体服务器到用户端的估计带宽ρ[t-τ,t]。

需要进行说明的是,本发明中提供的一种端到端带宽检测方法,只是带宽检测的一种而已并不能排除本方案未列举的其余方法实现对带宽的检测,在ip专网环境下,实现流媒体服务器到用户端的网络带宽测量,根据是否向网络内部注入探测包,可分为主动测量(activemeasurement)和被动测量(passivemeasurement)技术;根据不同的测度,带宽测量又可分为链路带宽(linkcapacity)、路径带宽(pathcapacity)和链路可用带宽(availablebandwidth)测量技术。

本实施例中,当数据包的发送速率小于可利用带宽时,数据包到达接收端时的接收速率就会等于发送速率;反之,当发送速率大与可利用带宽速率时,数据包在网络中就会发送排队产生延迟,接收速率将会小于发送速率,因此可以通过观察这种速率的变化来测量可利用带宽。

如图2所示,平台级视频流自适应播放方法,具体包括如下步骤:

s01流媒体服务器接收用户端的视频在线播放请求,并根据用户端的视频在线播放请求建立链路,以及发出一侦测网络宽带请求;

s02宽带检测器接收所述侦测网络宽带请求进行链路的带宽不定期检测;

s03流媒体服务器接收宽带检测器的测试结果反馈,根据所述测试结果反馈发送码流请求;

s04码流自适应器接收所述码流请求,向流媒体服务器返回合适的码流编码;

s05流媒体服务器接收所述码流编码,并发出对相应的码流开始动态改变码流,进行缓存处理的请求;

s06码流平滑器接收所述开始动态改变码流,进行缓存处理的请求;以及,对相应的码流进行平滑过渡处理。

s07流媒体服务器根据所述码流编码向用户返回相应的编码视频流。

本实施例中,s02所述宽带检测器接收所述侦测网络宽带请求进行链路的带宽不定期检测具体为:

s021获取从流媒体服务器到用户端通过传输路径发送若干分组序列中任意一个数据包时的瞬时流量:

获取从流媒体服务器到用户端通过传输路径p发送若干分组数据包序列,每个分组序列由若干数据包组成,第k个到第k+1个数据包发送的时间间隔为则发送第k个数据包时的瞬时流量

s022获得对应于每一个数据包的可用带宽的估计值,并通过计算其的平均值得到对应于每一个分组序列的带宽的估计值:

s0221所述根据所述瞬时流量获得对应于每一个数据包的可用估计带宽

流媒体服务器到用户端可用带宽的传输路径p={a0,a1,a2...an},其中链路i连接ai-1到ai,在时间点α和β之间,进入链路i的若干分组序列中任意一个数据包时的瞬时流量为ai[α,β],测量时间点在α时路径的瞬时带宽的时间间隔τ,则将时间点t-τ到t之间,其中a0为源点,an为宿点,a1,a2...an-1为中间依次经过节点序列,ci为链路i的带宽;

s0222通过计算其的平均值得到对应于每一个分组序列的估计带宽d(m)

其中n为正整数。

s023计算所有分组序列的均值,得到特定时间段之间流媒体服务器到用户端的可用带宽的估计值:

计算所有分组序列d(m)的均值,得到在时间段[t-τ,t]之间流媒体服务器到用户端的估计带宽ρ[t-τ,t]。

如图3所示,平台级视频流自适应播放系统,包括流媒体服务器、宽带检测器、码流平滑器和码流自适应器;

所述流媒体服务器接收用户端的视频在线播放请求,并根据用户端的视频在线播放请求建立链路,以及发出一侦测网络宽带请求;

所述宽带检测器接收所述侦测网络宽带请求进行链路的带宽不定期检测;

所述流媒体服务器接收宽带检测器的测试结果反馈,根据所述测试结果反馈发送码流请求;

所述码流自适应器接收所述码流请求,向流媒体服务器返回合适的码流编码;

所述流媒体服务器接收所述码流编码,并发出对相应的码流开始动态改变码流,进行缓存处理的请求;

所述码流平滑器接收所述开始动态改变码流,进行缓存处理的请求;以及,对相应的码流进行平滑过渡处理。

所述流媒体服务器根据所述码流编码向用户返回相应的编码视频流。

本实施例中,所述宽带检测器在检测带宽的时候执行如下步骤:

s001获取从流媒体服务器到用户端通过传输路径发送若干分组序列中任意一个数据包时的瞬时流量;

获取从流媒体服务器到用户端通过传输路径p发送若干分组数据包序列,每个分组序列由若干数据包组成,第k个到第k+l个数据包发送的时间间隔为则发送第k个数据包时的瞬时流量

s002根据所述瞬时流量获得对应于每一个数据包的可用估计带宽,并通过计算其平均值得到对应于每一个分组序列的估计带宽;

s0021所述根据所述瞬时流量获得对应于每一个数据包的可用估计带宽

流媒体服务器到用户端可用带宽的传输路径p={a0,a1,a2...an},其中链路i连接ai-1到ai,在时间点α和β之间,进入链路i的若干分组序列中任意一个数据包时的瞬时流量为ai[α,β],测量时间点在α时路径的瞬时带宽的时间间隔τ,则将时间点t-τ到t之间,其中a0为源点,an为宿点,a1,a2...an-1为中间依次经过节点序列,ci为链路i的带宽;

s0022通过计算其的平均值得到对应于每一个分组序列的估计带宽d(m)

其中n为正整数。

s003计算所有分组序列的均值,得到特定时间段之间流媒体服务器到用户端的可用估计带宽。

计算所有分组序列d(m)的均值,得到在时间段[t-τ,t]之间流媒体服务器到用户端的估计带宽ρ[t-τ,t]。

本实施例中,由于网络带宽的限制、时变的特性,由上一级码流自适应器决策选择新的码流后,交给码流平滑器进行自适应传输处理。为了保障视频传输的服务质量(qos),为了让播放者看不到中断,或界面卡顿闪烁,提出了一种新的rs_gaimd_cache自适应传输方法,并根据码流速率增加了rscache码流平滑缓存。在rs_gaimd算法的基础上增加了服务端和客户端的h.264视频流缓冲控制策略。

本实施例中,当网络处于稳定或拥塞状态时,若下一个rtt时刻缓冲区占有量的估计值位于设定的阈值内,则按照rs_gaimd算法来调整发送速率,否则通过调整视频的编码码率来保证缓冲区不会发生上溢或下溢。码流的输出层提供了多种媒体数据输出方式,以方便与不同的流媒体服务软件进行对接交互使用,包括udp协议方式推送的ts码流或es码流、rtsp协议方式向外部提供码流、rtmp协议方式向外部推送媒体数据与普通媒体数据文件形式的输出。实验表明该方法在视频监控网关设备系统中能够更有效地平滑速率抖动,减少数据丢失,降低播放延时,进一步提高视频播放质量。

本实施例中,码流自适应器根据前端异构视频平台及摄像机的不同情况,对不同协议的编码设备接入的视频源进行整合,归一化为h.264编码码流,以实现统一的调看及控制管理。其中达到h.264系列的编码码流的指标如下:

1、h.264/avc编码器宜支持h.264/avcconstrainedbaselineprofile,包括如下选项:

(1)支持h.264/avc基本语法格式;

(2)支持islices,pslices,其中pslice只支持1个参考图像(参考图像可为islice或者pslice);

(3)支持cavlc自适应变长编码(cavlcentropycoding);

(4)支持loopfilter环路滤波(in-loopdeblockingfilter);

(5)支持整像素、1/2像素运动搜索和1/4像素运动搜索。

2、h.264/avc编码器满足h.264/avcmainprofile,达到如下选项:

(1)支持interlace编码格式;

(2)支持bsilce编码,bsilce仅使用2个参考图像,bsilce本身不作参考;

(3)支持cabac自适应算术编码。

3、h.264/avc编码器宜支持h26highprofile,编码器生成的highprofile的码流应符合h.264/avc标准规定。

4、对于标清及以下应用,编码level不应超过3.0;对于高清应用,level宜不超过4.2,部分超高清应用level不应超过5.1。

5、对于合理的profile&level组合,恒定码率cbr及变码率vbr等码率控制方式,其中cbr方式支持在合理范围内自由设定码率。

6、对于合理的profile&level组合,实现自由转换图像分辨率。

7、对于合理的profile&level组合,可自由设置idr间隔。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

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