可变码率媒体流的流量控制方法、装置以及系统的制作方法
【技术领域】
[0001]本发明涉及视频领域,特别是指一种可变码率媒体流的流量控制方法、装置以及系统。
【背景技术】
[0002]目前,流媒体的传输技术主要有三种方式:点对点(Unicast)、多址广播(Multicast)和广播(Broadcast)。点对点一般称为单播,单播基于TCP (传输控制协议)和UDP(用户数据报协议)两种基础传输协议。TCP协议是可靠的传输协议,但效率比较低。UDP协议是不可靠的传输协议,传输质量由用户保证,但具有更高的传输效率。流媒体通常使用UDP传输。
[0003]UDP协议没有定义两个通讯结点之间传输速度的控制方法。在IPTV (网络电视)系统中,用户终端(通常为机顶盒)的用于保存数据的缓存有大小限制,因此UDP传输的流媒体需要有一种控制传输速度的方法,来保证不会出现传输速度过快导致机顶盒缓存溢出数据丢失的问题。目前,通常使用的电信标准的控制方法为,在RTSP (实时流传输协议)协议中添加控制字段,由于机顶盒发出给流媒体服务器用于调整发送速度。这种方法在传输CBR(固定码率)片源时一般都可以正常工作,但在传输VBR(可变码率)片源时存在缺陷。
[0004]VBR动态比特率,顾名思义,编码码率随时间动态变化,因此,在传输过程中传输码率也会动态变化。这就有可能出现流量失控的情况。例如,在某一段时间内传输的码率是低码率,紧接着是一段时间的高码率。低码率的码流比较容易传输到机顶盒中,并在缓存中积累,同时,低码率的码流在播放过程中消耗的速度也比较慢,紧接而来的高码率码流由于前面的缓存没有及时消耗,很快会导致机顶盒缓存空间不足而溢出,这种现象在传输高清码率的片源时更为明显。若使用电信标准的流量控制方法请求流媒体服务器慢发(指发流速率低于片源编码码率),则存在两个问题,一个问题是:慢发调整的速率与片源码率相t匕,调整的速率不会很低,导致流量不会很快降低,对VBR片源码流的调整作用不明显。另一个问题是:慢发调整过程是一个耗时的过程,在高清码率下很可能出现机顶盒缓存已经溢出,而传输码率未能下降到足够低的速率。
【发明内容】
[0005]本发明要解决的技术问题是,提供一种可变码率媒体流的流量控制方法、装置以及系统,能够解决码流码率变化导致的现有技术中流量控制失效的问题。
[0006]为解决上述技术问题,一方面,提供一种可变码率媒体流的流量控制方法,应用于机顶盒的播放器播放来自流媒体服务器的可变码率媒体流的场景,所述方法包括:
[0007]控制装置监测机顶盒缓存使用率的第一当前值;
[0008]所述控制装置判断所述第一当前值是否大于或等于上溢阈值;
[0009]当所述第一当前值大于或等于所述上溢阈值时,所述控制装置通过分离所述播放器和所述流媒体服务器之间的状态进行流量控制,直到所述机顶盒缓存使用率的第二当前值小于所述上溢阈值。
[0010]所述控制装置通过分离所述播放器和所述流媒体服务器之间的状态进行流量控制的步骤包括:
[0011]所述控制装置向所述流媒体服务器发送第一暂停命令,并在收到所述流媒体服务器针对所述第一暂停命令的响应消息后不转发给所述播放器,使得所述流媒体服务器在不通知所述播放器的情况下直接切换到暂停发送状态。
[0012]所述方法还包括:
[0013]所述控制装置通过分离所述播放器和所述流媒体服务器之间的状态进行流量控制的步骤后,当所述机顶盒缓存使用率的第二当前值恢复到小于所述上溢阈值时,所述控制装置向所述流媒体服务器发送第一恢复命令,并在收到所述流媒体服务器针对所述第一恢复命令的响应消息后不转发给所述播放器,使得所述流媒体服务器在不通知所述播放器的情况下直接切换到发送状态。
[0014]在所述控制装置通过分离所述播放器和所述流媒体服务器之间的状态进行流量控制的步骤之后,且在所述控制装置向所述流媒体服务器发送第一恢复命令的步骤之前,所述方法还包括:
[0015]当所述控制装置收到用户的第二暂停命令时,所述控制装置向所述机顶盒的播放器转发所述第二暂停命令,且通知所述机顶盒的播放器不向所述流媒体服务器转发所述第二暂停命令,使得所述播放器在不向所述流媒体服务器转发所述第二暂停命令的情况下直接切换到暂停播放状态;
[0016]当所述控制装置收到用户的第二恢复命令时,并且所述第二恢复命令的上一用户命令为暂停命令时,所述控制装置向所述机顶盒的播放器发送所述第二恢复命令,且通知所述播放器不向所述流媒体服务器转发所述第二恢复命令,使得所述播放器在不向所述流媒体服务器转发所述第二恢复命令的情况下直接切换到播放状态;
[0017]当所述控制装置收到用户的快进或快退命令时,则将所述快进或快退命令发送给所述流媒体服务器和所述播放器,使得所述流媒体服务器和所述播放器均切换为快进或快退状态。
[0018]所述控制装置判断所述第一当前值是否大于或者等于上溢阈值的步骤之后,所述方法还包括:
[0019]当所述第一当前值小于所述上溢阈值且大于下溢阈值时,所述控制装置向所述流媒体服务器发送请求快发或者慢发命令;所述上溢阈值大于所述下溢阈值;
[0020]当所述第一当前值小于所述下溢阈值时,所述控制装置向流媒体服务器发送请求快发命令。
[0021]另一方面,提供一种可变码率媒体流的流量控制装置,应用于机顶盒的播放器播放来自流媒体服务器的可变码率媒体流的场景,其特征在于,所述装置包括:
[0022]监测单元,监测机顶盒缓存使用率的第一当前值;
[0023]判断单元,判断所述第一当前值是否大于或等于上溢阈值;
[0024]控制单元,当所述第一当前值大于或等于所述上溢阈值时,通过分离所述播放器和所述流媒体服务器之间的状态进行流量控制,直到所述机顶盒缓存使用率的第二当前值小于所述上溢阈值。
[0025]所述控制单元包括:
[0026]发送子单元,向所述流媒体服务器发送第一暂停命令;
[0027]接收子单元,接收所述流媒体服务器针对所述第一暂停命令的响应消息,且不转发给所述播放器,使得所述流媒体服务器在不通知所述播放器的情况下直接切换到暂停发送状态。
[0028]所述的装置,还包括:
[0029]第一发送单元,进行所述流量控制后,当所述机顶盒缓存使用率的第二当前值恢复到小于所述上溢阈值时,向所述流媒体服务器发送第一恢复命令;
[0030]接收单元,接收到所述流媒体服务器针对所述第一恢复命令的响应消息,且不转发给所述播放器,使得所述流媒体服务器在不通知所述播放器的情况下直接切换到发送状
ο
[0031]所述的装置,还包括:
[0032]第二发送单元,当所述第一当前值小于所述上溢阈值且大于下溢阈值时,向所述流媒体服务器发送请求快发或者慢发命令;所述上溢阈值大于所述下溢阈值;
[0033]第三发送单元,当所述第一当前值小于所述下溢阈值时,向流媒体服务器发送请求快发命令。
[0034]另一方面,提供一种可变码率媒体流的流量控制系统,应用于机顶盒的播放器播放来自流媒体服务器的可变码率媒体流的场景,包括:机顶盒、流媒体服务器以及控制单元;
[0035]所述控制装置,监测机顶盒缓存使用率的第一当前值;判断所述第一当前值是否大于或等于上溢阈值;当所述第一当前值大于或等于所述上溢阈值时,通过分离所述播放器和所述流媒体服务器之间的状态进行流量控制,直到所述机顶盒缓存使用率的第二当前值小于所述上溢阈值。
[0036]本发明的上述技术方案的有益效果如下:
[0037]本发明中,利用播放器和流媒体状态分离,实现流量控制,无需关心传输码率的变化情况来频繁的动态调整快慢发,实现简单,解决了 VBR码流码率变化导致传统流量控制失效的问题。
【附图说明】
[0038]图1为本发明所述的可变码率媒体流的流量控制方法的流程示意图;
[0039]图2是本发明所述的可变码率媒体流的流量控制装置的连接示意图;
[0040]图3是本发明所述的可变码率媒体流的流量控制系统的连接示意图;
[0041]图4是本发明所述的可变码率媒体流的流量控制方法的应用场景的系统架构示意图;
[0042]图5本发明应用场景中缓存空间的划分示意图;
[0043]图6是本发明应用场景中流量控制方法的示意图;
[0044]图7是本发明应用场景中播放器与流媒体的状态分离