CN103152134B - 基于rtp协议的接收端重排语音包的方法和系统 - Google Patents

基于rtp协议的接收端重排语音包的方法和系统 Download PDF

Info

Publication number
CN103152134B
CN103152134B CN201310060452.4A CN201310060452A CN103152134B CN 103152134 B CN103152134 B CN 103152134B CN 201310060452 A CN201310060452 A CN 201310060452A CN 103152134 B CN103152134 B CN 103152134B
Authority
CN
China
Prior art keywords
voice packet
structure variable
packet structure
current speech
socket
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
CN201310060452.4A
Other languages
English (en)
Other versions
CN103152134A (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.)
Opzoon Technology Co Ltd
Original Assignee
Opzoon 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 Opzoon Technology Co Ltd filed Critical Opzoon Technology Co Ltd
Priority to CN201310060452.4A priority Critical patent/CN103152134B/zh
Publication of CN103152134A publication Critical patent/CN103152134A/zh
Application granted granted Critical
Publication of CN103152134B publication Critical patent/CN103152134B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种基于RTP协议的接收端重排语音包的方法,包括有:S1、在接收端设置两个语音包结构变量和当前语音包指针,预设当前处理的语音包时间戳和顺序号;S2、根据当前语音包指针指向的所述结构变量,将socket接收的语音包存入所述结构变量中;S3、获取所述接收语音包的时间戳和顺序号,并将其按照顺序号进行排序;S4、将所述接收的语音包时间戳与当前处理的语音包时间戳进行比较,当接收到的语音包时间戳不大于当前处理的语音包时间戳时,将接收到的语音包丢弃;否则将接收到的语音包保留;本发明使得接收端能够实时处理接收的语音包,避免了引入资源同步的开销;本发明还提供一种基于RTP协议的接收端重排语音包的系统。

Description

基于RTP协议的接收端重排语音包的方法和系统
技术领域
本发明涉及计算机网络与通信领域,特别涉及在实时语音传输系统中的一种基于RTP协议的接收端重排语音包的方法和系统。
背景技术
目前,在实时语音传输系统中,常常是先在接收端设置一个RTP包缓冲队列,将socket接收的语音包放到所述RTP包缓冲队列内,然后对该缓冲队列中的语音包进行重排;其中,当所述RTP包缓冲队列满时,就丢弃新包或替换时间上最早的语音包,将时间上最早的包提交给其他模块处理。
但是,如上所述的现有技术中接收端对接收到的语音包进行重排存在以下问题:
a)比当前播放时刻早的语音包仍会被处理;
b)同一个语音包可能会被接收多次,这样就可能会被处理多次;
c)当所述缓冲队列满时,无论是丢掉时间戳较早的语音包,还是时间戳较晚的语音包,都会丢失大量未播放数据;
d)该缓冲队列先将数据接收下来再进行重排,增加了处理延时,引入了资源同步的开销。
根据以上分析,现有技术仍有待改善。
发明内容
针对现有技术的不足,本发明提供一种基于RTP协议的接收端重排语音包的方法和系统,使得在实时语音传输系统中,接收端能够实时处理接收的语音包,而无须在缓冲队列中缓冲,实现降低延时、避免引入资源同步的开销的目的。
为实现以上目的,本发明通过以下技术方案予以实现:
本发明提供一种基于RTP协议的接收端重排语音包的方法,包括以下步骤:
S1、在接收端设置两个语音包结构变量和当前语音包指针,预设当前处理的语音包时间戳和顺序号;
S2、根据所述当前语音包指针指向的所述语音包结构变量,将socket接收的语音包存入所述语音包结构变量中;
S3、获取所述socket接收到的语音包时间戳和顺序号,并将所述socket接收的语音包按照其对应的顺序号进行排序;
S4、将所述socket接收到的语音包的时间戳与所述当前处理的语音包时间戳进行比较,当所述socket接收到的语音包时间戳不大于所述当前处理的语音包时间戳时,将所述socket接收到的语音包丢弃;否则将所述socket接收到的语音包保留。
优选的,所述步骤S1进一步包括将所述接收端设置的当前语音包指针初始化为空;所述两个语音包结构变量分别为第一语音包结构变量和第二语音包结构变量。
优选的,所述步骤S2进一步包括:
当所述当前语音包指针为空时,将socket接收的语音包存入所述第一语音包结构变量中,且所述当前语音包指针指向第二语音包结构变量;
当所述当前语音包指针指向所述第一语音包结构变量时,将socket接收的语音包存入所述第二语音包结构变量中,且所述当前语音包指针指向第一语音包结构变量;
当所述当前语音包指针指向所述第二语音包结构变量时,将socket接收的语音包存入所述第一语音包结构变量中,且所述当前语音包指针指向第二语音包结构变量。
本发明还提供一种基于RTP协议的接收端重排语音包的系统,包括有:
预设单元,用于在接收端设置两个语音包结构变量和当前语音包指针,预设当前处理的语音包时间戳和顺序;
接收单元,用于根据所述当前语音包指针指向的所述语音包结构变量,将socket接收的语音包存入所述语音包结构变量中;
排序单元,用于获取所述socket接收到的语音包时间戳和顺序号,并将所述socket接收的语音包按照其对应的顺序号进行排序;
比较单元,用于将所述socket接收到的语音包的时间戳与所述当前处理的语音包时间戳进行比较。
优选的,所述预设单元进一步用于将所述接收端设置的当前语音包指针初始化为空;所述两个语音包结构变量分别为第一语音包结构变量和第二语音包结构变量。
优选的,所述接收单元进一步用于:
当所述当前语音包指针为空时,将socket接收的语音包存入所述第一语音包结构变量中,且所述当前语音包指针指向第二语音包结构变量;
当所述当前语音包指针指向所述第一语音包结构变量时,将socket接收的语音包存入所述第二语音包结构变量中,且所述当前语音包指针指向第一语音包结构变量;
当所述当前语音包指针指向所述第二语音包结构变量时,将socket接收的语音包存入所述第一语音包结构变量中,且所述当前语音包指针指向第二语音包结构变量。
本发明通过提供一种基于RTP协议的接收端重排语音包的方法和系统,使得在实时语音传输系统中,接收端能够实时处理接收的语音包,而无须在缓冲队列中缓冲,以实现降低延时、避免引入资源同步的开销的目的。
附图说明
图1为本发明一实施例的流程图;
图2为本发明一实施例的系统框图。
具体实施方式
下面对于本发明所提出的一种基于RTP协议的接收端重排语音包的方法和系统,结合附图和实施例详细说明。
如图1所示,本发明提供一种基于RTP协议的接收端重排语音包的方法,包括以下步骤:
S1、在接收端设置两个语音包结构变量和当前语音包指针P,预设当前处理的语音包时间戳和顺序号;
S2、根据所述当前语音包指针P指向的所述语音包结构变量,将socket接收的语音包存入所述语音包结构变量中;
S3、获取所述socket接收到的语音包时间戳和顺序号,并将所述socket接收的语音包按照其对应的顺序号进行排序;
S4、将所述socket接收到的语音包的时间戳与所述当前处理的语音包时间戳进行比较,当所述socket接收到的语音包时间戳不大于所述当前处理的语音包时间戳时,将所述socket接收到的语音包丢弃;否则将所述socket接收到的语音包保留。
优选的,所述步骤S1进一步包括将所述接收端设置的当前语音包指针初始化为空;所述两个语音包结构变量分别为第一语音包结构变量A和第二语音包结构变量B。
优选的,所述步骤S2进一步包括:
当所述当前语音包指针P为空时,将socket接收的语音包存入所述第一语音包结构变量A中,且所述当前语音包指针P指向第二语音包结构变量B;
当所述当前语音包指针P指向所述第一语音包结构变量A时,将socket接收的语音包存入所述第二语音包结构变量B中,且所述当前语音包指针P指向第一语音包结构变量A;
当所述当前语音包指针P指向所述第二语音包结构变量B时,将socket接收的语音包存入所述第一语音包结构变量A中,且所述当前语音包指针P指向第二语音包结构变量B。
如图2所示,本发明还提供一种基于RTP协议的接收端重排语音包的系统,包括有:
预设单元,用于在接收端设置两个语音包结构变量和当前语音包指针P,预设当前处理的语音包时间戳和顺序;
接收单元,用于根据所述当前语音包指针P指向的所述语音包结构变量,将socket接收的语音包存入所述语音包结构变量中;
排序单元,用于获取所述socket接收到的语音包时间戳和顺序号,并将所述socket接收的语音包按照其对应的顺序号进行排序;
比较单元,用于将所述socket接收到的语音包的时间戳与所述当前处理的语音包时间戳进行比较。
优选的,所述预设单元进一步用于将所述接收端设置的当前语音包指针P初始化为空;所述两个语音包结构变量分别为第一语音包结构变量A和第二语音包结构变量B。
优选的,所述接收单元进一步用于:
当所述当前语音包指针P为空时,将socket接收的语音包存入所述第一语音包结构变量A中,且所述当前语音包指针P指向第二语音包结构变量B;
当所述当前语音包指针P指向所述第一语音包结构变量A时,将socket接收的语音包存入所述第二语音包结构变量B中,且所述当前语音包指针P指向第一语音包结构变量A;
当所述当前语音包指针P指向所述第二语音包结构变量B时,将socket接收的语音包存入所述第一语音包结构变量A中,且所述当前语音包指针P指向第二语音包结构变量B。
本发明通过提供一种基于RTP协议的接收端重排语音包的方法和系统,使得在实时语音传输系统中,接收端能够实时处理接收的语音包,而无须在缓冲队列中缓冲,以实现降低延时、避免引入资源同步的开销的目的。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (4)

1.一种基于RTP协议的接收端重排语音包的方法,其特征在于,包括以下步骤:
S1、在接收端设置两个语音包结构变量和当前语音包指针,预设当前处理的语音包时间戳和顺序号;
所述两个语音包结构变量分别为第一语音包结构变量和第二语音包结构变量;
S2、根据所述当前语音包指针指向的所述语音包结构变量,将socket接收的语音包存入所述语音包结构变量中;
S3、获取所述socket接收到的语音包时间戳和顺序号,并将所述socket接收的语音包按照其对应的顺序号进行排序;
S4、将所述socket接收到的语音包的时间戳与所述当前处理的语音包时间戳进行比较,当所述socket接收到的语音包时间戳不大于所述当前处理的语音包时间戳时,将所述socket接收到的语音包丢弃;否则将所述socket接收到的语音包保留;
所述步骤S2进一步包括:
当所述当前语音包指针为空时,将socket接收的语音包存入所述第一语音包结构变量中,且所述当前语音包指针指向第二语音包结构变量;
当所述当前语音包指针指向所述第一语音包结构变量时,将socket接收的语音包存入所述第二语音包结构变量中,且所述当前语音包指针指向第一语音包结构变量;
当所述当前语音包指针指向所述第二语音包结构变量时,将socket接收的语音包存入所述第一语音包结构变量中,且所述当前语音包指针指向第二语音包结构变量。
2.如权利要求1所述的方法,其特征在于,所述步骤S1进一步包括将所述接收端设置的当前语音包指针初始化为空。
3.一种基于RTP协议的接收端重排语音包的系统,其特征在于,包括有:
预设单元,用于在接收端设置两个语音包结构变量和当前语音包指针,预设当前处理的语音包时间戳和顺序号;
所述两个语音包结构变量分别为第一语音包结构变量和第二语音包结构变量;
接收单元,用于根据所述当前语音包指针指向的所述语音包结构变量,将socket接收的语音包存入所述语音包结构变量中;
排序单元,用于获取所述socket接收到的语音包时间戳和顺序号,并将所述socket接收的语音包按照其对应的顺序号进行排序;
比较单元,用于将所述socket接收到的语音包的时间戳与所述当前处理的语音包时间戳进行比较;
所述接收单元进一步用于:
当所述当前语音包指针为空时,将socket接收的语音包存入所述第一语音包结构变量中,且所述当前语音包指针指向第二语音包结构变量;
当所述当前语音包指针指向所述第一语音包结构变量时,将socket接收的语音包存入所述第二语音包结构变量中,且所述当前语音包指针指向第一语音包结构变量;
当所述当前语音包指针指向所述第二语音包结构变量时,将socket接收的语音包存入所述第一语音包结构变量中,且所述当前语音包指针指向第二语音包结构变量。
4.如权利要求3所述的系统,其特征在于,所述预设单元进一步用于将所述接收端设置的当前语音包指针初始化为空。
CN201310060452.4A 2013-02-26 2013-02-26 基于rtp协议的接收端重排语音包的方法和系统 Expired - Fee Related CN103152134B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310060452.4A CN103152134B (zh) 2013-02-26 2013-02-26 基于rtp协议的接收端重排语音包的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310060452.4A CN103152134B (zh) 2013-02-26 2013-02-26 基于rtp协议的接收端重排语音包的方法和系统

Publications (2)

Publication Number Publication Date
CN103152134A CN103152134A (zh) 2013-06-12
CN103152134B true CN103152134B (zh) 2015-12-02

Family

ID=48550024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310060452.4A Expired - Fee Related CN103152134B (zh) 2013-02-26 2013-02-26 基于rtp协议的接收端重排语音包的方法和系统

Country Status (1)

Country Link
CN (1) CN103152134B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109246123B (zh) * 2018-09-30 2021-10-22 广州酷狗计算机科技有限公司 媒体流获取方法及装置
CN112996053B (zh) * 2019-12-16 2023-04-18 成都鼎桥通信技术有限公司 语音数据包的重排序方法、装置及设备
CN114189487B (zh) * 2021-11-09 2024-05-14 广东宜通联云智能信息有限公司 一种基于rtp的数据重排序方法、系统、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1713613A (zh) * 2004-06-25 2005-12-28 腾讯科技(深圳)有限公司 一种解决网络抖动的方法
CN101217429A (zh) * 2008-01-18 2008-07-09 清华大学 基于tcp时间戳选项确定tcp报文之间的引发关系的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101690136A (zh) * 2007-06-26 2010-03-31 汤姆逊许可证公司 实时协议流迁移

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1713613A (zh) * 2004-06-25 2005-12-28 腾讯科技(深圳)有限公司 一种解决网络抖动的方法
CN101217429A (zh) * 2008-01-18 2008-07-09 清华大学 基于tcp时间戳选项确定tcp报文之间的引发关系的方法

Also Published As

Publication number Publication date
CN103152134A (zh) 2013-06-12

Similar Documents

Publication Publication Date Title
US20220394316A1 (en) Message sending method and device, readable medium and electronic device
CN101547150B (zh) 数据通信输入端口调度的方法及装置
WO2008045321A3 (en) Method, system, and computer program product for resequencing of data segments received over a bonding channel set
CN102300259A (zh) 一种数据块级联和拆解处理方法、装置及系统
CN103152134B (zh) 基于rtp协议的接收端重排语音包的方法和系统
CN106997394B (zh) 一种数据乱序到达处理方法和系统
CN108833366B (zh) 基于as6802协议的控制帧压缩方法
CN105847378A (zh) 一种实现大数据同步的方法和系统
CN112751788A (zh) 一种支持多类型帧混合传输的双平面交换方法
CN104038786A (zh) 智能电视收视率统计系统及方法
CA2891927C (en) Method and apparatus for traffic management scheduling
CN109890082B (zh) 一种时间触发的tt帧报文传输方法
CN101729879A (zh) 一种基于mimo-ofdm系统的实时视频传输的实现方法
CN105337850A (zh) 一种物联网数据处理方法及物联网网关
CN101945342A (zh) 用户端设备及其无线组播转单播业务的实现方法
CN106332227B (zh) 搜网方法及装置
US10536393B2 (en) Mail obtaining method, terminal, and system
CN104852812A (zh) 1553b总线远置单元自适应收发数据方法
CN104618266A (zh) 一种多端口间报文转发的方法和装置
CN106209340A (zh) 智能变电站测试设备sv、goose同步输出控制方法
CN106303935B (zh) 一种同步源协调方法及装置
CN106790320A (zh) 一种多应用系统间数据推送的方法
CN104735824B (zh) 数据处理系统
CN202334008U (zh) 多网口高速数据传输架构
US10897324B2 (en) Uplink orthogonal frequency multiple access (UL-OFDMA) resource unit (RU) distribution among deinterleavers

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
PP01 Preservation of patent right
PP01 Preservation of patent right

Effective date of registration: 20180823

Granted publication date: 20151202

PD01 Discharge of preservation of patent
PD01 Discharge of preservation of patent

Date of cancellation: 20210823

Granted publication date: 20151202

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151202

Termination date: 20190226