CN102739547B - 一种速率控制方法 - Google Patents

一种速率控制方法 Download PDF

Info

Publication number
CN102739547B
CN102739547B CN201210239627.3A CN201210239627A CN102739547B CN 102739547 B CN102739547 B CN 102739547B CN 201210239627 A CN201210239627 A CN 201210239627A CN 102739547 B CN102739547 B CN 102739547B
Authority
CN
China
Prior art keywords
packet
receiving terminal
time
delay
server
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
Application number
CN201210239627.3A
Other languages
English (en)
Other versions
CN102739547A (zh
Inventor
胡加明
刘晓东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Codyy Education Technology Co Ltd
Original Assignee
Codyy Education Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Codyy Education Technology Co Ltd filed Critical Codyy Education Technology Co Ltd
Priority to CN201210239627.3A priority Critical patent/CN102739547B/zh
Publication of CN102739547A publication Critical patent/CN102739547A/zh
Application granted granted Critical
Publication of CN102739547B publication Critical patent/CN102739547B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种速率控制方法,本发明方法包括以下步骤。发送端以预设速率通过服务器发送数据包到接收端,所述接收端缓存所述数据包并当开始播放所述数据包后,所述接收端比较所述缓存的数据包个数与接收端缓冲区预警值的大小。当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值时,所述接收端获取数据包网络延迟时间并发送给服务器。所述服务器比较所述数据包网络延迟时间及单个数据包播放时间,当所述数据包网络延迟时间大于单个数据包播放时间时,所述服务器根据传输速率、单个数据包播放时间及数据包网络延迟时间计算发送速率并发送通知给发送端,所述发送端根据所述通知调整发送速率。

Description

一种速率控制方法
技术领域
本发明属于网络通信领域,尤其涉及一种速率控制方法。
背景技术
随着信息社会的飞速发展,各种各样的通信工具如飞信、QQ等被人们普遍使用,除了个人应用以外,一些企业版的即时通信方式也逐渐为大众所熟悉,譬如视频会议等。能否连续流畅地播放音视频数据,成为影响视频会议质量的关键因素。然而在现实应用中,音视频数据的传输中常存在抖动延时的现象,当延迟时间过长时,容易导致接收端播放音视频中断。而现有技术中,当接收端本地缓存的数据量不足以支持音视频连续播放时,发送端会在短时间内发送大量音视频数据到接收端,容易引起数据包拥塞,甚至导致其它网络应用卡死。
发明内容
本发明提供一种速率控制方法以解决上述问题。
本发明提供一种速率控制方法,包括以下步骤。发送端以预设速率通过服务器发送数据包到接收端,所述接收端缓存所述数据包并当开始播放所述数据包后,所述接收端比较所述缓存的数据包个数与接收端缓冲区预警值的大小。当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值时,所述接收端获取数据包网络延迟时间并发送给服务器。所述服务器比较所述数据包网络延迟时间及单个数据包播放时间,当所述数据包网络延迟时间大于单个数据包播放时间时,所述服务器根据传输速率、单个数据包播放时间及数据包网络延迟时间计算发送速率并发送通知给发送端,所述发送端根据所述通知调整发送速率。
本发明提供一种速率控制系统,包括发送端、服务器及接收端,所述发送端通过所述服务器连接所述接收端。所述发送端,用于以预设速率通过服务器发送数据包到所述接收端,还用于根据所述服务器的通知调整发送速率。所述服务器,用于比较数据包网络延迟时间及单个数据包播放时间,当所述数据包网络延迟时间大于单个数据包播放时间时,所述服务器根据传输速率、单个数据包播放时间及数据包网络延迟时间计算发送速率并发送通知给发送端。所述接收端,用于缓存数据包并当开始播放所述数据包后,比较所述缓存的数据包个数与接收端缓冲区预警值的大小,还用于当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值时,获取数据包网络延迟时间并发送给服务器。
相较于先前技术,根据本发明提供的速率控制方法,发送端以预设速率通过服务器发送数据包到接收端,接收端开始播放数据包后,比较接收后缓存的数据包个数与接收端缓冲区预警值的大小。通过对接收端设置缓冲区预警值,可有效监控接收端的数据包个数。当接收端缓存的数据包大小小于或等于缓冲区预警值时,所述接收端获取数据包网络延迟时间并发送给服务器,当服务器比较所述数据包网络延迟时间大于单个数据包播放时间时,所述服务器根据传输速率、单个数据包播放时间及数据包网络延迟时间计算发送速率并发送通知给发送端,所述发送端根据所述通知调整发送速率。如此,发送端根据服务器的计算结果控制发送速率,保证了音视频数据的连续播放。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1所示为根据本发明的较佳实施例提供的速率控制方法的流程图;
图2所示为根据本发明的较佳实施例提供的速率控制系统的示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1所示为根据本发明的较佳实施例提供的速率控制方法。如图1所示,本发明的较佳实施例提供的速率控制方法包括步骤101~103。
步骤101:发送端以预设速率通过服务器发送数据包到接收端,所述接收端缓存所述数据包并当开始播放所述数据包后,所述接收端比较所述缓存的数据包个数与接收端缓冲区预警值的大小。
具体而言,接收端于接收发送端发送的数据前预设自身的缓冲区大小,且接收端设置缓冲区播放值,所述缓冲区播放值小于或等于缓冲区大小。当接收端缓存的数据包个数第一次达到缓冲区播放值时,接收端开始播放所述数据包。于此,所述缓冲区播放值仅在数据包第一次开始播放前起限定作用,并不影响数据包之后的连续播放。所述接收端开始播放缓存的数据包后,将所述已播放的数据包从接收端的缓存中删除。于本实施例中,所述速率单位为个/秒,缓冲区计量单位为数据包个数。
此外,接收端存储缓冲区预警值对照表,所述对照表包括单个数据包播放时间、数据包网络延迟时间及缓冲区预警值。所述接收端根据数据包网络延迟时间确定缓冲区预警值。所述缓冲区预警值对照表格式例如下表所示。
在本实施例中,接收端第一次获取数据包网络延迟时间的方式为,所述接收端根据接收到的第一个数据包及第二个数据包的时间戳确定所述第一次的数据包网络延迟时间,所述接收端根据第一次获取的数据包网络延迟时间确定第一次缓冲区预警值。
步骤102:当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值时,所述接收端获取数据包网络延迟时间并发送给服务器。
具体而言,按照步骤101,当接收端缓存的数据包个数第一次达到缓冲区播放值时,接收端开始播放所述数据包。当接收端监控到本地缓存的数据包个数小于或者等于所述缓冲区预警值时,接收端根据缓存的最近一次接收的数据包及后续接收的首个数据包的时间戳获取所述数据包网络延迟时间。若接收端没有缓存的数据包,所述接收端根据后续接收的连续两个数据包的时间戳获取所述数据包网络延迟时间,且所述接收端将获取的数据包网络延迟时间发送给服务器。
步骤103:所述服务器比较所述数据包网络延迟时间及单个数据包播放时间,当所述数据包网络延迟时间大于单个数据包播放时间时,所述服务器根据传输速率、单个数据包播放时间及数据包网络延迟时间计算发送速率并发送通知给发送端,所述发送端根据所述通知调整发送速率。
具体而言,所述单个数据包播放时间可以由发送端或接收端获取后通知所述服务器。其中发送端获取单个数据包播放时间的方式为,所述发送端本地待发送数据包中包括单个数据包播放时间信息,所述发送端解析本地待发送数据包后获得所述单个数据包播放时间后通知所述服务器。所述接收端获取单个数据包播放时间的方式为,所述发送端向所述接收端发送的数据包中携带单个数据包播放时间信息,所述接收端接收并解析所述数据包后获得所述单个数据包播放时间并通知服务器,或者当发送端向接收端开始发送数据包后,所述接收端播放单个数据包后获取单个数据包播放时间并通知服务器。当服务器比较数据包网络延迟时间大于单个数据包播放时间时,所述服务器计算发送速率的方式为:若以n表示数据包传输速率,所述传输速率可以为数据包网络延迟时间为零时发送端的发送速率,并由发送端预设,或者为数据包网络延迟时间为零时接收端的播放速率,并由接收端预设;T表示单个数据包播放时间,t表示数据包网络延迟时间,则(n-T*n/t)表示数据包传输存在网络延迟时,播放完缓冲数据期间网络能够传送的数据包个数。n+(n-T*n/t)表示在预设速率上加了修正后的发送数据包速率,来修正网络延时变化时少发送的数据包个数,即服务器计算的发送速率V=n+(n-T*n/t)。
于此,当服务器比较数据包网络延迟时间小于或等于单个数据包播放时间时,所述服务器通知发送端按所述预设速率发送所述数据包。
举例而言,若发送端在T1时刻以5个/秒的预设速率开始向接收端发送数据包,接收端接收并播放单个数据包后,获取单个数据包播放时间为200ms并通知服务器,且所述接收端根据接收到的第一个数据包及第二个数据包的时间戳确定第一次的数据包网络延迟时间为50ms。根据步骤101中的对照表,接收端确定缓冲区预警值为1个数据包。若接收端设定缓冲区播放值为5个数据包,当接收端缓存的数据包达到5个后,接收端开始播放数据包。
若T2时刻接收端监控到缓存的数据包个数小于缓冲区预警值(1个),且所述接收端该时刻无缓存的数据包。则所述接收端根据T2时刻起后续接收的连续两个数据包的时间戳,获取数据包网络延迟时间为500ms并发送给服务器,且接收端按照所述对照表将缓冲区预警值调整为3个数据包。于此,服务器比较接收到的数据包网络延迟时间(500ms)大于单个数据包播放时间(200ms),则服务器计算发送速率为5+(5-200*5/500)=8并发送通知给发送端,发送端根据所述通知将发送速率调整为8个/秒。接下来在T3时刻,接收端监控到缓存的数据包大小达到缓冲区预警值(3个数据包),所述接收端根据缓存的最近一次接收的数据包及后续接收的首个数据包的时间戳,获取数据包网络延迟时间为100ms并发送给服务器,且所述接收端按照所述对照表调整缓冲区预警值为1个数据包。于此,服务器比较接收到的数据包网络延迟时间(100ms)小于单个数据包播放时间(200ms),则服务器通知发送端按预设速率(5个/秒)发送所述数据包。
图2所示为根据本发明的较佳实施例提供的速率控制系统的示意图。如图2所示,本发明较佳实施例提供的速率控制系统包括发送端201、服务器202及接收端203,所述发送端201通过所述服务器202连接所述接收端203。所述发送端201,用于以预设速率通过服务器202发送数据包到所述接收端203,还用于根据所述服务器202的通知调整发送速率。所述服务器202,用于比较数据包网络延迟时间及单个数据包播放时间,当所述数据包网络延迟时间大于单个数据包播放时间时,所述服务器202根据传输速率、单个数据包播放时间及数据包网络延迟时间计算发送速率并发送通知给发送端201。所述接收端203,用于缓存数据包并当开始播放所述数据包后,比较所述缓存的数据包个数与接收端203缓冲区预警值的大小,还用于当所述接收端203缓存的数据包个数小于或等于所述缓冲区预警值时,获取数据包网络延迟时间并发送给服务器202。关于上述系统的操作流程同上述方法所述,故于此不再赘述。
综上所述,根据本发明的较佳实施例提供的速率控制方法,发送端以预设速率通过服务器发送数据包到接收端,接收端开始播放数据包后,比较接收后缓存的数据包个数与接收端缓冲区预警值的大小。通过对接收端设置缓冲区预警值,可有效监控接收端的数据包个数。当接收端缓存的数据包大小小于或等于缓冲区预警值时,所述接收端获取数据包网络延迟时间并发送给服务器,当所述数据包网络延迟时间大于单个数据包播放时间时,所述服务器根据传输速率、单个数据包播放时间及数据包网络延迟时间计算发送速率并发送通知给发送端,所述发送端根据所述通知调整发送速率。如此,发送端根据服务器的计算结果控制发送速率,保证了音视频数据的连续播放。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种速率控制方法,其特征在于,包括以下步骤:
发送端以预设速率通过服务器发送数据包到接收端,所述接收端缓存所述数据包并当开始播放所述数据包后,所述接收端比较所述缓存的数据包个数与接收端缓冲区预警值的大小;
其中,所述预设速率为n并由发送端或接收端预设;
当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值时,所述接收端获取数据包网络延迟时间并发送给服务器;
所述服务器比较所述数据包网络延迟时间及单个数据包播放时间,当所述数据包网络延迟时间大于单个数据包播放时间时,所述服务器根据传输速率、单个数据包播放时间及数据包网络延迟时间计算发送速率并发送通知给发送端,所述发送端根据所述通知调整发送速率;
所述服务器根据公式V=n+(n-T*n/t)计算发送速率,其中V表示发送速率,n表示传输速率并由发送端或接收端预设后通知所述服务器,T表示单个数据包播放时间并由发送端或接收端获取后通知所述服务器,t表示数据包网络延迟时间。
2.根据权利要求1所述的方法,其特征在于,所述接收端存储缓冲区预警值对照表,所述对照表包括单个数据包播放时间、数据包网络延迟时间及缓冲区预警值。
3.根据权利要求1或2所述的方法,其特征在于,当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值时,所述接收端获取数据包网络延迟时间,并根据所述缓冲区预警值对照表调整自身缓冲区预警值。
4.根据权利要求2所述的方法,其特征在于,接收端获取单个数据包播放时间的方式为,所述发送端向所述接收端发送的数据包中携带单个数据包播放时间信息,所述接收端接收并解析所述数据包后获得所述单个数据包播放时间,或者所述发送端向所述接收端发送所述数据包后,所述接收端播放单个数据包获取所述单个数据包播放时间。
5.根据权利要求1所述的方法,其特征在于,当服务器比较所述数据包网络延迟时间小于或等于单个数据包播放时间时,所述服务器通知发送端按预设速率发送所述数据包。
6.根据权利要求1所述的方法,其特征在于,接收端第一次获取数据包网络延迟时间的方式为,所述接收端根据接收到的第一个数据包及第二个数据包的时间戳确定所述第一次的数据包网络延迟时间,所述接收端根据第一次获取的数据包网络延迟时间第一次确定缓冲区预警值。
7.根据权利要求1所述的方法,其特征在于,当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值时,接收端根据缓存的最近一次接收的数据包及后续接收的首个数据包的时间戳获取所述数据包网络延迟时间。
8.根据权利要求1所述的方法,其特征在于,当所述接收端缓存的数据包个数小于或等于所述缓冲区预警值时,若接收端没有缓存的数据包,所述接收端根据后续接收的连续两个数据包的时间戳获取所述数据包网络延迟时间。
CN201210239627.3A 2012-07-12 2012-07-12 一种速率控制方法 Expired - Fee Related CN102739547B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210239627.3A CN102739547B (zh) 2012-07-12 2012-07-12 一种速率控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210239627.3A CN102739547B (zh) 2012-07-12 2012-07-12 一种速率控制方法

Publications (2)

Publication Number Publication Date
CN102739547A CN102739547A (zh) 2012-10-17
CN102739547B true CN102739547B (zh) 2015-08-19

Family

ID=46994359

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210239627.3A Expired - Fee Related CN102739547B (zh) 2012-07-12 2012-07-12 一种速率控制方法

Country Status (1)

Country Link
CN (1) CN102739547B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109327279A (zh) * 2017-08-01 2019-02-12 徐州天荣医疗通讯设备有限公司 一种用于医疗的低质量移动通信网络数据包大小控制方法
CN109995666A (zh) * 2019-04-12 2019-07-09 深圳市元征科技股份有限公司 一种消息传输方法及相关装置
CN112711483A (zh) * 2020-12-10 2021-04-27 广州广电运通金融电子股份有限公司 一种处理大数据标注服务高并发方法、系统及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1615649A (zh) * 2001-11-22 2005-05-11 Sk电信有限公司 一种提供视频数据流服务的方法
CN101090369A (zh) * 2007-08-01 2007-12-19 中兴通讯股份有限公司 一种在流媒体系统中控制数据包发送速率的方法
CN101123573A (zh) * 2006-08-09 2008-02-13 普天信息技术研究院 在高速下行链路分组接入网络中分组数据单元的流控方法
CN101577672A (zh) * 2008-05-07 2009-11-11 中国移动通信集团公司 在流媒体业务中数据传输的方法、系统及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1615649A (zh) * 2001-11-22 2005-05-11 Sk电信有限公司 一种提供视频数据流服务的方法
CN101123573A (zh) * 2006-08-09 2008-02-13 普天信息技术研究院 在高速下行链路分组接入网络中分组数据单元的流控方法
CN101090369A (zh) * 2007-08-01 2007-12-19 中兴通讯股份有限公司 一种在流媒体系统中控制数据包发送速率的方法
CN101577672A (zh) * 2008-05-07 2009-11-11 中国移动通信集团公司 在流媒体业务中数据传输的方法、系统及装置

Also Published As

Publication number Publication date
CN102739547A (zh) 2012-10-17

Similar Documents

Publication Publication Date Title
CN102752212B (zh) 一种传输速率控制方法
CN102739548B (zh) 一种数据传输的速率控制方法
US9807452B2 (en) Practical delivery of high quality video using dynamic adaptive hypertext transport protocol (HTTP) streaming (DASH) without using HTTP in a broadcast network
US20140108622A1 (en) Streaming media transmission method, device, and system
EP2369840B1 (en) Channel switching method, device and system
US10645447B2 (en) Fast channel change method and server, and IPTV system
WO2012097643A1 (zh) Iptv系统中直播媒体流的方法和装置
WO2023035894A1 (zh) 一种数据处理方法、设备、可读存储介质和程序产品
US11863841B2 (en) Video playing control method and system
JP5140952B2 (ja) コンテンツ配信システム、コンテンツ配信サーバ、コンテンツ再生端末、プログラム、コンテンツ配信方法
CN101668310A (zh) 播放流媒体的方法和装置
US20150095447A1 (en) Serving method of cache server, cache server, and system
CN102739547B (zh) 一种速率控制方法
US20220295127A1 (en) Consolidating content streams to conserve bandwidth
US20120117265A1 (en) Method and communication system for implementing stream services, and relevant device
US9986010B2 (en) System and method for controlling video and/or audio streams in a web browser
WO2013189435A2 (zh) 基于播放状态信息同步的处理方法、系统及相关装置
KR20150146116A (ko) 이종망 기반 방송 서비스를 제공하는 방법 및 장치
CN103327364A (zh) 一种用于音视频播放的无线传输方法及装置
EP2043372B1 (en) Method for audio and video synchronization, receiving and transmitting device
CN112770165A (zh) 一种音视频流分布式同步方法
CA3026535C (en) Multimedia resource synchronous pushing method based on heterogeneous network
US20240015199A1 (en) Method and Apparatus for Delivering Musical, Theatrical, and Film Performance over Unreliable Channels
CN105393533B (zh) 播放多个媒体内容的方法、装置和网络媒体系统
CN113691827A (zh) 媒体流传输方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: Suzhou City, Jiangsu province 215121 Fengting Avenue Suzhou Industrial Park No. 666 Weiting Intelligent Industrial Park Building 8

Applicant after: CODYY EDUCATION TECHNOLOGY Co.,Ltd.

Address before: Suzhou City, Jiangsu province 215121 Fengting Avenue Suzhou Industrial Park No. 666 Weiting Intelligent Industrial Park Building 8

Applicant before: SUZHOU CODYY NETWORK SCIENCE & TECHNOLOGY Co.,Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SUZHOU KUODI NETWORK TECHNOLOGY CO., LTD. TO: CODYY EDUCATION TECHNOLOGY CO., LTD.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150819