CN1156125C - 一种基于客户端反馈的流量控制方法 - Google Patents
一种基于客户端反馈的流量控制方法 Download PDFInfo
- Publication number
- CN1156125C CN1156125C CNB021292566A CN02129256A CN1156125C CN 1156125 C CN1156125 C CN 1156125C CN B021292566 A CNB021292566 A CN B021292566A CN 02129256 A CN02129256 A CN 02129256A CN 1156125 C CN1156125 C CN 1156125C
- Authority
- CN
- China
- Prior art keywords
- client
- server
- packet loss
- information
- feedback
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于计算机多媒体技术领域,涉及一种基于客户端反馈的流量控制方法。包括:客户端和服务器依照标准RTSP协议,开启点播服务;客户端统计数据包相关信息,依据一定条件,向服务器发送反馈信息;服务器收到客户端反馈信息之后,根据客户端丢包等级,调整发送速率;服务器分批下发视频文件,客户端则继续,直至全部视频文件发送完毕。采用本发明,在现有实时流协议(RTSP)基础之上,服务器可以根据客户端回传的网络实际可用带宽,主动丢弃一部分数据包,平滑发送速率,减轻网络负担,并在一定程度上,保证客户端的观看效果。
Description
技术领域
本发明属于计算机多媒体技术领域,特别涉及流媒体技术及播放控制协议
背景技术
以往,网络上传送的大多数数据为文本数据。今天,随着多媒体和网络技术的提高,多媒体成为了互联网上不可或缺的特征。目前多媒体数据在网络上的下发,主要采取流媒体的形式。流媒体是指在Internet/Intranet中使用流式传输技术的连续时基媒体,如:音频、视频或多媒体文件。流式媒体在播放前并不下载整个文件,只将开始部分存入内存,流式媒体的数据流随时传送随时播放,只是在一开始时有一些延迟。
目前网络上多媒体实时应用的主要控制协议为RTSP(实时流协议),它是一个客户一服务器多媒体节目协议,可以控制流式多媒体数据在IP网络上的发送。它提供用于音频和视频流的远程控制功能,例如:播放、停止、快进、快退和定位。数据源包括实况数据和存储片断。RTSP(实时流协议)是一个应用层协议,用来与诸如RTP(实时传输协议)、RSVP(资源预留协议)等更低层的协议一起,提供基于互联网的整套流化服务。它可以选择发送通道,例如:UDP(用户数据报协议)、组播UDP和TCP(传输控制协议)和基于RTP(实时传输协议)的发送机制。它可以服务于多客户组播和单一观众点播。
RTSP(实时流协议)工作的基本流程如图1所示:
客户端向媒体服务器A(audio.example.com)和V(video.example.com)请求一部电影。媒体描述存储在网页服务器上。媒体描述包含节目描述和它的全部流,包括可用的编码信息、动态RTP负载类型、协议栈和内容信息,例如语言和版权限制。它同样会给出电影的时间。
具体步骤如下:
1.向网页服务器发出获取媒体信息请求
2.网页服务器返回相应的媒体信息
3.向音频服务器发出创建会话请求
4.音频服务器返回创建会话的相应信息
5.向视频服务器发出创建会话请求
6.视频服务器返回创建会话的相应信息
7.向视频服务器发出播放请求
8.视频服务器创建会话成功
9.向音频服务器发出播放请求
10.音频服务器创建会话成功
11.向音频服务器发出销毁会话请求
12.音频服务器销毁会话成功
13.向视频服务器发出销毁会话请求
14.视频服务器销毁会话成功
RTP(实时传输协议)是用于互联网上针对多媒体数据流的一种传输协议。RTP被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步。
RTP协议本身包括两部分:RTP和RTCP(实时传输控制协议)。为了可靠,高效的传送实时数据,RTP和RTCP必须配合使用,通常,RTCP包的数量占所有传输量的5%。
RTP实时传输协议主要用于负载多媒体数据,并通过包头时间参数的配置使其具有实时的特征。RTCP传输控制协议主要用于周期的传送RTCP包,监视RTP传输的服务质量。在RTCP包中,含有已发送的数据包的数量、丢失的数据包的数量等统计资料,因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型,实现流量控制和拥塞控制服务。RTP本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP传输控制协议提供这些服务。
RTP的控制协议RTCP通过在会话用户之间周期性地递交控制报文来完成监听服务质量和交换会话用户信息等功能。根据用户间的数据传输反馈信息,可以制定流量控制的策略,而会话用户信息的交互,可以制定会话控制的策略。
RTCP协议将控制包周期发送给所有连接者,应用与数据报文相同的分布机制。底层协议提供数据与控制包的复用,如使用单独的UDP(用户数据报协议)端口号。
RTCP工作方式如图2所示:
1.在流媒体正常播放过程中,服务器下发数据包
2.客户端开启一个计时器,大约每隔5秒,采用UDP协议,向服务器发送回传信息、
3.在RTCP回传信息中,包括了丢包率等一系列统计信息。
但由于流媒体对于实时性的要求较高,5秒一次的回传信息,在这一情况下,就显得过于漫长,无法满足当前流媒体视频点播的要求。另外,RTCP的回传信息,是通过UDP进行传输的,而UDP本身是不可靠传输协议,因此,当网络出现某种特殊情况的时候,RTCP信息就极有可能丢失掉。这样,在相当长一段时间内(相对于流媒体视频点播而言),服务器就无法知道客户端的状态,只能盲目的下发数据包。
发明内容
本发明的目的是为了克服现有技术的不足,提出一种新的基于客户端反馈的流量控制方法。采用本发明,在现有实时流协议(RTSP)基础之上,服务器可以根据客户端回传的网络实际可用带宽,主动丢弃一部分数据包,平滑发送速率,减轻网络负担,并在一定程度上,保证客户端的观看效果。
本发明提出的一种基于客户端反馈的流量控制方法,其特征在于包括以下步骤:
1)客户端和服务器依照标准RTSP协议,开启点播服务;
2)客户端统计数据包相关信息,依据一定条件,向服务器发送反馈信息;
3)服务器收到客户端反馈信息之后,根据客户端丢包等级,调整发送速率;
4)服务器分批下发视频文件,客户端则继续步骤2,直至全部视频文件发送完毕。
上述的第2)步,具体包括以下步骤:
(1)在客户端设立定时器,每隔一定时间,由客户端对相关信息进行统计,得到相应的丢包等级;
(2)当客户端丢包等级连续数次超过该阈值的时候,客户端将向服务器发送丢包的反馈信息。
所说的相关信息包括:实际可用网络带宽、丢包率、本地CPU利用率三项,其中实际可用网络带宽反映的是当前数据流对网卡的占用情况,不是网卡的全部流量;丢包率是客户端对于一定时间内,根据包头的序列号,对于所接收全部数据包进行的统计;本地CPU利用率是实际运行过程中本地CPU的占用率。
所说的丢包等级是指客户端三项信息统计结果的综合指标,并以此为判据,确立一个阈值;
所说的客户端将向服务器发送丢包的反馈信息的具体方法为:
(1)在RTSP协议基础之上,扩充一个反馈(ECHO)命令,通过实时流RTSP的控制信道,以RTSP消息的形式,回传到服务器;
(2)客户端发送反馈信息之后,将继续对相关信息加以统计,并在超过阈值时,继续向服务器发送。
上述第3)步中,服务器调整发送速率,具体方法可为:
1)当客户端统计的丢包等级大于设定阈值时,即:客户端的丢包状况越来越严重的情况下,服务器将认为数据包下发速率超过了当前网络和客户端的承受能力,影响了客户端的观看效果。因此,服务器将根据客户对于视频、音频敏感度的不同,以及视频数据包重要性的不同,主动丢弃一部分视频数据包,以降低发送速率,减缓网络压力,改善客户端的观看效果。
2)如果在服务器主动丢包后的一定时间内,客户端统计的丢包等级低于该阈值,则认为当前网络条件得到改善,服务器将增加数据包的发送速率,以使得客户端得到更好的观看效果。
3)如果在服务器主动丢包后的一定时间内,客户端统计的丢包等级依然大于某个阈值,服务器将近一步丢弃数据包,直到全部数据包为音频数据为止。
本发明的特点:
本发明的方法可由客户端自己设置时钟周期,统计相关信息,向服务器发送包含丢包等级的反馈信息。本发明通过扩充了RTSP协议,在它原有基础上增加一个命令,用来回传客户端反馈信息,当这些信息显示网络可用带宽急剧下降的时候,服务器可以根据这一信息,主动放弃一定量的数据包,调整发送速率,以降低发送速率。
本发明的优点:
1.实时的回传信息,满足了流媒体应用实时性的需求。
2.在同等条件下了,减少了两个回传信道,降低了对于网络资源的需求。
3.服务器根据网络实际可用带宽减少发包数目,可以平滑发包速率,减小网络拥塞状况,在一定程度上满足客户端观看的需求。
4.实现了网络控制协议的智能化。
附图说明
图1为标准的RTSP协议(实时流协议)工作流程图。
图2为标准的RTCP协议(实时传输控制协议)工作流程图。
图3为本发明方法实施例总体流程图。
具体实施方式
本发明提出的一种基于客户端反馈的流量控制方法,结合附图及具体实施例详细说明如下:
本发明方法具体实施例总体流程如图3所示,主要包括以下步骤:
1)客户端与服务器之间,依据标准RTSP协议,开启视频点播服务;
2)客户端在接收数据包过程中,设立定时器。每隔一秒,对相关信息(网络实际可用带宽、丢包率和CPU利用率)进行统计,并与阈值比较(这里设定的阈值以网络实际可用带宽不低于500kbsp、丢包率小于10%、CPU利用率低于35%来设定);
3)当客户端的观看效果变差,即:统计的相关信息连续三次高于设定阈值,客户端将丢包等级设定为1,并发送包含丢包等级的反馈信息到服务器(本发明在RTSP协议基础之上,为其扩充一个命令:反馈(ECHO),用于丢包等级的回传,由客户端发往服务器。因此,客户端反馈的丢包等级,将通过实时流协议RTSP的控制信道,以RTSP消息的形式,回传到服务器);
4)当客户端的丢包等级为1时,服务器将丢弃25%的视频数据包,并调整发送速率,回传标准RTSP消息;
5)若此时网络条件继续恶化,客户端的观看效果依然很差,即:相关信息依然连续三次高于设定阈值,客户端将丢包等级设定为2,并将继续向服务器发送反馈信息;
6)当收到客户端反馈消息后,服务器将丢弃50%的视频数据包,并调整发送速率,回传标准RTSP消息;
7)若此时网络条件继续恶化,客户端的观看效果依然得不到改善,客户端将丢包等级进一步设定为3、4、5,服务器则继续丢弃数据包:75%的视频数据包、仅包含I帧的视频数据包到全部数据均为音频数据包;
8)若某一时刻,网络状况好转,即:客户端统计的相关信息连续五次低于设定的阈值,客户端将丢包等级设定为0,服务器将恢复数据包下发,并调整发送速率。
服务器调整发送速率的具体丢包等级和发包数目的对应关系如表1:
表1:
客户端丢包等级 服务器下发数据包量
0 100%的视频数据包(P帧)和全部音频数据包
1 75%的视频数据包(P帧)和全部音频数据包
2 50%的视频数据包(P帧)和全部音频数据包
3 25%的视频数据包(P帧)和全部音频数据包
4 仅包含I帧的视频数据包和全部音频数据包
5 仅下发音频数据包
服务器根据表1里所列出的对应关系,丢弃相应数量的数据包,以调整发送速率,减轻网络负担,在一定程度上使得客户端获得最佳观看质量。
本实施例的服务器配置:
CPU:Intel PIII 1GHz
内存:128M
操作系统:RedHat 7.1 Linux Server
流媒体服务器:LSMP Streaming Server
客户端配置:
CPU:Intel PIII 800MHz
内存:128M
操作系统:Windows 2000 Professional
播放器:LSMP Media Player
Claims (3)
1、一种基于客户端反馈的流量控制方法,其特征在于,包括以下步骤:
1)客户端和服务器依照标准实时流协议,开启点播服务;
2)客户端统计数据包相关信息,依据一定条件,向服务器发送反馈信息;
3)服务器收到客户端反馈信息之后,根据客户端丢包等级,调整发送速率;
4)服务器分批下发视频文件,客户端则继续步骤2),直至全部视频文件发送完毕;
所说的第2)步,具体包括以下步骤:
(1)在客户端设立定时器,每隔一定时间,由客户端对相关信息进行统计,得到相应的丢包等级;
(2)当客户端丢包等级连续数次超过该阈值的时候,客户端将向服务器发送丢包的反馈信息;
所说的相关信息包括:实际可用网络带宽、丢包率、本地CPU利用率三项,其中实际可用网络带宽反映的是当前数据流对网卡的占用情况;丢包率是客户端对于一定时间内,根据包头的序列号,对于所接收全部数据包进行的统计;本地CPU利用率是实际运行过程中本地CPU的占用率;
所说的丢包等级是指客户端三项信息统计结果的综合指标,并以此为判据,确立一个阈值。
2、如权利要求1所述的基于客户端反馈的流量控制方法,其特征在于,所说的客户端将向服务器发送丢包的反馈信息的具体方法为:
(1)在实时流协议基础之上,扩充一个反馈命令,通过实时流协议的控制信道,以实时流协议消息的形式,回传到服务器;
(2)客户端发送反馈信息之后,将继续对相关信息加以统计,并在超过阈值时,继续向服务器发送。
3、如权利要求1所述的基于客户端反馈的流量控制方法,其特征在于,所说的第3)步中服务器调整发送速率,具体步骤包括:
1)当客户端统计的丢包等级大于设定阈值时,服务器将主动丢弃一部分视频数据包,以降低发送速率,减缓网络压力,改善客户端的观看效果;
2)如果在服务器主动丢包后的一定时间内,客户端统计的丢包等级低于该阈值,服务器将增加数据包的发送速率,以使得客户端得到更好的观看效果;
3)如果在服务器主动丢包后的一定时间内,客户端统计的丢包等级依然大于某个阈值,服务器将近一步丢弃数据包,直到全部数据包为音频数据为止。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNB021292566A CN1156125C (zh) | 2002-09-29 | 2002-09-29 | 一种基于客户端反馈的流量控制方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNB021292566A CN1156125C (zh) | 2002-09-29 | 2002-09-29 | 一种基于客户端反馈的流量控制方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN1402143A CN1402143A (zh) | 2003-03-12 |
| CN1156125C true CN1156125C (zh) | 2004-06-30 |
Family
ID=4746167
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNB021292566A Expired - Fee Related CN1156125C (zh) | 2002-09-29 | 2002-09-29 | 一种基于客户端反馈的流量控制方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN1156125C (zh) |
Families Citing this family (31)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AU2004317109B2 (en) * | 2004-02-12 | 2008-05-22 | Core Wireless Licensing S.A.R.L. | Classified media quality of experience |
| CN100426766C (zh) * | 2004-12-31 | 2008-10-15 | 华为技术有限公司 | 一种发起客户端带宽调整的方法及装置 |
| KR100843073B1 (ko) * | 2005-06-10 | 2008-07-03 | 삼성전자주식회사 | 오류 정정 패킷을 이용한 전송률 제어 방법 및 이를 이용한통신 장치 |
| CN100346602C (zh) * | 2005-06-23 | 2007-10-31 | 复旦大学 | 实现视频质量与发送速率控制的高并发流媒体服务器系统 |
| CN100558044C (zh) * | 2005-12-22 | 2009-11-04 | 华为技术有限公司 | 监测网元间网络性能的方法、设备及系统 |
| CN1889558B (zh) * | 2006-07-20 | 2010-05-12 | 华为技术有限公司 | 一种iptv承载网中节目频道差异化处理的方法 |
| CN101102323B (zh) * | 2007-08-09 | 2011-04-20 | 华为技术有限公司 | 防止dos攻击的方法及设备 |
| CN101232462B (zh) * | 2008-02-25 | 2012-04-18 | 杭州华三通信技术有限公司 | 实时业务的服务质量调整方法及装置 |
| CN104093130B (zh) * | 2009-09-29 | 2018-02-16 | 华为技术有限公司 | 组播广播业务流量控制方法及相关设备 |
| JP5509931B2 (ja) * | 2010-03-02 | 2014-06-04 | ソニー株式会社 | 送信装置、データ送信方法、および通信システム |
| CN101888544B (zh) * | 2010-06-30 | 2012-05-30 | 杭州海康威视数字技术股份有限公司 | 一种低带宽的视频数据传输方法和硬盘录像机 |
| CN102075769B (zh) * | 2011-01-10 | 2012-11-07 | 苏州博联科技有限公司 | 视频无线传输监控系统的视频QoS优化方法 |
| CN102098587B (zh) * | 2011-01-18 | 2012-12-12 | 中国联合网络通信集团有限公司 | Iptv服务质量保障方法及媒体服务器 |
| CN102378066B (zh) * | 2011-11-21 | 2017-09-29 | 中兴通讯股份有限公司 | 一种实现低码率高清点播的方法和系统 |
| CN103701634B (zh) * | 2013-12-10 | 2017-02-15 | 广州华多网络科技有限公司 | 一种传输多媒体数据的方法及装置 |
| CN105489223A (zh) * | 2015-11-26 | 2016-04-13 | 成都微讯云通科技有限公司 | 一种语音实时传输方法 |
| US11070601B2 (en) * | 2015-12-02 | 2021-07-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Data rate adaptation for multicast delivery of streamed content |
| CN107147770B (zh) * | 2016-03-01 | 2020-07-07 | 阿里巴巴集团控股有限公司 | 一种设备信息收集方法、装置及系统 |
| CN107483220B (zh) * | 2016-06-08 | 2021-09-10 | 杭州海康威视数字技术股份有限公司 | 一种服务质量控制方法、装置及系统 |
| CN108173984A (zh) * | 2016-12-08 | 2018-06-15 | 深圳玩时科技有限公司 | 机屏分离的接入控制方法 |
| CN107070811B (zh) * | 2017-02-27 | 2021-03-09 | 宇龙计算机通信科技(深圳)有限公司 | 一种数据发送方法、终端及数据处理系统 |
| CN107734360B (zh) * | 2017-09-15 | 2020-04-21 | 深圳英飞拓科技股份有限公司 | 流媒体服务器的控制方法及装置 |
| CN107590094A (zh) * | 2017-09-28 | 2018-01-16 | 深圳市道通科技股份有限公司 | 一种串行双工通讯方法、装置和计算机可读存储介质 |
| CN110248256B (zh) * | 2019-06-25 | 2021-09-10 | 腾讯科技(深圳)有限公司 | 数据的处理方法及装置、存储介质和电子装置 |
| CN112152934A (zh) * | 2019-07-25 | 2020-12-29 | 北京天德科技有限公司 | 显式反馈数据流控制 |
| CN110753271B (zh) * | 2019-09-10 | 2021-08-24 | 杭州亿圣信息技术有限公司 | 以动态可控双流进行视频无线组播下tcp误码重传控制方法 |
| CN111404908B (zh) * | 2020-03-10 | 2021-09-10 | 腾讯科技(深圳)有限公司 | 数据交互方法、装置、电子设备及可读存储介质 |
| CN113992996A (zh) * | 2020-07-10 | 2022-01-28 | 华为技术有限公司 | 传输数据的方法和装置 |
| CN114040227B (zh) * | 2021-10-22 | 2024-12-10 | 游密科技(深圳)有限公司 | 音视频播放控制方法、装置、电子设备及存储介质 |
| CN114422553B (zh) * | 2022-01-27 | 2024-02-20 | 北京恒济引航科技股份有限公司 | 一种智慧航道连接的外场终端数据传输系统及方法 |
| CN117528638A (zh) * | 2022-07-27 | 2024-02-06 | 展讯通信(上海)有限公司 | 一种数据传输方法及相关装置 |
-
2002
- 2002-09-29 CN CNB021292566A patent/CN1156125C/zh not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| CN1402143A (zh) | 2003-03-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1156125C (zh) | 一种基于客户端反馈的流量控制方法 | |
| CN101075957A (zh) | Avs流媒体传输控制方法 | |
| CN1248456C (zh) | 传输控制参数产生方法及根据分组特性选择性重发的方法 | |
| CN1169332C (zh) | 一种基于客户端反馈的传输协议选择方法 | |
| CN102308530B (zh) | 网络中优化的带宽使用 | |
| CN101068236A (zh) | 流媒体码率控制方法、系统和设备 | |
| CN1983907A (zh) | 一种流媒体发送速率的控制方法 | |
| CN103051978A (zh) | 一种基于h264的实时移动视频服务控制方法 | |
| CN101030838A (zh) | 一种在iptv网络中动态自适应前向差错控制的系统及方法 | |
| CN1636404A (zh) | 在因特网协议网络上流式传输细粒状可缩放性编码的视频的方法 | |
| CN1709003A (zh) | 无线网络中多用户服务的报告 | |
| CN102333089A (zh) | 基于超文本传输协议流化的多码率媒体流自适应控制方法 | |
| CN1543164A (zh) | 多媒体流环境中基于服务器的速率控制 | |
| CN106664255A (zh) | 数据流控制方法 | |
| JP2002511216A (ja) | ネットワークを介する適応ビデオ/オーディオトランスポートのためのシステム | |
| CN101242359A (zh) | 动态码率分配方法、分组域流媒体服务器 | |
| CN1765102A (zh) | 报告分组交换流的质量度量的方法 | |
| CN1490980A (zh) | 用于流式传输多媒体数据的装置和方法 | |
| CN1863313A (zh) | H.264多媒体通信的服务质量监测方法 | |
| CN101030938A (zh) | QoS自适应的P2P流媒体数据组织与传输系统及方法 | |
| TW200937902A (en) | A method and apparatus for streaming scalable multimedia data streams | |
| CN101075949A (zh) | 一种改变流媒体文件播放速度的方法 | |
| KR20060115216A (ko) | 멀티미디어 스트리밍 송신 장치 및 방법 | |
| CN1518285A (zh) | 一种实现流媒体服务的网络带宽检测方法 | |
| CN1960260A (zh) | 为不同类型的终端提供iptv业务的方法和iptv业务系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| C19 | Lapse of patent right due to non-payment of the annual fee | ||
| CF01 | Termination of patent right due to non-payment of annual fee |