CN104135486A - 一种基于tcp协议的流媒体无线自适应传输方法 - Google Patents

一种基于tcp协议的流媒体无线自适应传输方法 Download PDF

Info

Publication number
CN104135486A
CN104135486A CN201410394809.7A CN201410394809A CN104135486A CN 104135486 A CN104135486 A CN 104135486A CN 201410394809 A CN201410394809 A CN 201410394809A CN 104135486 A CN104135486 A CN 104135486A
Authority
CN
China
Prior art keywords
frame
tcp
memory buffer
streaming media
buffering area
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.)
Pending
Application number
CN201410394809.7A
Other languages
English (en)
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.)
ZHEJIANG QIHUI ELECTRONIC JACQUARD CO Ltd
Original Assignee
ZHEJIANG QIHUI ELECTRONIC JACQUARD 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 ZHEJIANG QIHUI ELECTRONIC JACQUARD CO Ltd filed Critical ZHEJIANG QIHUI ELECTRONIC JACQUARD CO Ltd
Priority to CN201410394809.7A priority Critical patent/CN104135486A/zh
Publication of CN104135486A publication Critical patent/CN104135486A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及音视频数据传输技术领域,公开了一种基于TCP协议的流媒体无线自适应传输方法,该方法利用TCP协议传输数据可靠的特点,采用TCP协议把音视频数据用固定长度的数据包头进行封装,同时设置双缓冲区分别进行音视频数据包存储和发送,根据网络的实时状况,通过丢包和调节帧率,来自适应于无线信道带宽的变化,从而减少网络拥塞状况。利用这个原理,不仅保证了TCP协议原有的传输可靠性,而且减少了视频传输的延迟,较好地实现了音视频数据基于无线网络的高质量传输。

Description

一种基于TCP协议的流媒体无线自适应传输方法
技术领域
本发明属于音视频数据传输技术领域,具体涉及一种基于TCP协议的流媒体无线自适应传输方法。
背景技术
在目前的各种应急通信系统方案中,应急音视频通信终端与指挥中心的音视频数据传输主要基于3G等无线网络实施,在这种应用场合下,网络环境的复杂性要远远超过传统的有线网络,比如无线网络的低带宽、高误码等特点,使得传统的基于有线网络设计的音视频通信终端效果总是不尽人意,表现为延时、抖动、花屏,甚至出现音视频传输中断等,而这在应急通信中是无法令人接受的。因此如何基于各类无线网络,尤其是电信、移动等公司的3G无线网络进行音视频数据的高质量传输是急需解决的一个现实问题。
目前应急通信采用的无线传输网络主要有两种:电信、联通的3G网络和移动的4G网络等公用无线宽带网络,以及专用无线电台。由于3G/4G等公用无线宽带网络无论是在网络覆盖面、无线网络应用成本等各个方面都存在非常明显的经济优势,这种网络也成为无线多媒体传输系统的主要网络。基于终端的标准化和应急通信系统的兼容性考虑,几乎所有应急通信平台均采用IP传输技术,因此目前的基于无线网络的多媒体通信传输技术也几乎全部是基于TCP/IP协议的,主要有以下两种:
(1)基于UDP协议。
UDP协议的特点是面向无连接的不可靠传输,也即UDP协议对分组的超时或丢弃不敏感。在有线网络中,由于网络的低误码率、高吞吐量,以及接收终端的强计算能力和纠错能力,因而在有线网络中,基于UDP协议的多媒体传输可以得到较好的效果。然而,相对于有线网络,无线网络中存在大量计算能力受限的弱终端,它们的纠错能力和缓存能力都较弱,所以对于分组的缺失非常敏感。更为严重的是,传统的单纯基于UDP协议的流媒体传输方式由于没有拥塞控制机制,所以在网络发生拥塞时仍然会向网络中注入大量数据包,导致发生拥塞的路由将分组丢弃,进而造成终端恢复视频质量的急剧下降,严重时将导致接收终端(解码器)崩溃。
(2)基于TCP协议。
最近的研究表明,越来越多的流式媒体采用TCP而非UDP作为传输协议。但是,目前TCP协议的实现(如TCP-Reno、TCP-NewReno、TCP-SACK)都把数据包的丢失作为网络拥塞的指示,进而将拥塞窗口减半,造成发送速率呈现较大的抖动性,影响了接收端的显示效果。尤其在无线高误码率网络下,丢包在很大程度上是由于链路错误而非拥塞。盲目进入拥塞控制,会导致网络利用率降低,影响接收效果。
发明内容
针对现有技术所存在的上述技术问题,本发明提供了一种基于TCP协议的流媒体无线自适应传输方法,该方法不仅保留了TCP协议原有的传输可靠性,而且减少了视频传输的延迟,较好地实现了音视频数据基于无线网络的高质量传输。
(1)以帧率初始值v0进行音视频的编码;对编码后音视频流中的I帧、P帧和B帧进行数据分割,得到多个数据分片;
(2)对于任意一个数据分片,对其封装数据包头后形成数据包;依次遍历每个数据分片;
(3)开辟内存为k1的存储缓冲区,将封装后的数据包存放到存储缓冲区内;
(4)根据存储缓冲区存放情况,以丢包、调节帧率的方法来管理存储缓冲区。
(5)设置TCP发送缓冲区大小为k2,根据TCP发送缓冲区存放情况,以把存储缓冲区最早一帧的数据包发送至TCP发送缓冲区或者等待TCP发送缓冲区的数据包发送完毕。
进一步的,所述的数据包头内依次包含:帧类型、帧尾标记、数据压缩格式、序列号、时间戳和分片长度。
进一步的,所述步骤(4)中,如果存储缓冲区已满并且存储缓冲区最早帧是I帧,则丢弃最早I帧的下一个I帧之前的所有I帧、B帧、P帧数据包,并降低编码帧率至vb;如果存储缓冲区已满并且存储缓冲区最早帧不是I帧,则丢弃下一个I帧之前的所有B帧、P帧,并降低编码帧率至vb;减速后的编码帧率公式为:vb=(1-k)vj,其中,vb为减速后的编码帧率,vj为减速前的编码帧率,k为给定的帧率调节系数。
进一步的,所述步骤(4)中,如果存储缓冲区未满并且空余小于等于1/n,则继续保持原来帧率vi;如果存储缓冲区未满并且空余大于1/n,n是缓冲区的空余系数,则提高编码帧率至va,加速后的编码帧率计算公式为:va=(1+k)vi,其中,va为加速后的编码帧率,vi为加速前的编码帧率,k为给定的帧率调节系数。
进一步的,所述步骤(5)中,如果TCP发送缓冲区已满,则等待TCP发送缓冲区的数据包发送完毕;如果TCP发送缓冲区为空,则把存储缓冲区最早一帧的数据包发送至TCP发送缓冲区。
另外,上述k1、k2、n均为大于1的自然数。
本发明的有益效果是,本发明利用TCP协议传输数据可靠的特点,采用TCP协议把音视频数据用固定长度的数据包头进行封装,同时设置双缓冲区分别进行音视频数据包存储和发送,根据网络的实时状况,通过丢包和调节帧率,来自适应于无线信道带宽的变化,从而减少网络拥塞状况。利用这个原理,不仅保证了TCP协议原有的传输可靠性,而且减少了视频传输的延迟,较好地实现了音视频数据基于无线网络的高质量传输。
附图说明
图1为发送端数据存储线程的工作流程示意图;
图2为发送端数据发送线程的工作流程示意图。
具体实施方式
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
如图1和图2所示,一种基于TCP协议的流媒体无线自适应传输方法,包括如下步骤:
(1)以帧率初始值v0=5帧/秒进行音视频的编码;对编码后音视频流中的I帧、P帧和B帧进行数据分割,得到多个数据分片;每个数据分片以600个字节为单位,I帧、P帧、B帧或音频流的最后一个数据分片,可以为不足600个字节的数据分片。
I帧表示视频流中的关键帧,P帧表示当前帧与前一帧的差别,B帧表示当前帧与前后两帧的差别。
(2)对于任意一个数据分片,对其封装数据包头后形成数据包;依次遍历每个数据分片;
数据包包含数据包头和数据分片两部分,具体结构如表1所示;其中数据包头包含帧类型、帧尾标记、数据压缩格式、序列号、时间戳和分片长度,其结构如表2所示;数据分片则直接存放所要传输的视音频数据。
表1
表2
本实施方式中,关于帧类型:若数据分片属于I帧,则帧类型为00;若数据分片属于P帧,则帧类型为01;若数据分片属于B帧,则帧类型为10;若数据分片属于音频流,则帧类型为11。
关于帧尾标记:若数据分片是I帧、P帧、B帧或音频流的最后一个数据分片,则帧尾标记为1;若否,则帧尾标记为0。
关于数据压缩格式:若数据分片属于的视频流或音频流的压缩算法为G711标准,则数据压缩格式为1;G726标准的数据压缩格式为2,GSM标准为3,AMR标准为4,MPEG4标准为16,H264标准为17。
关于序列号:依次将序列号0~65535赋予每个数据包,超出65535的再从0~65535开始赋值。
关于时间戳:为每一个数据包赋予一个时间戳,则当前数据包的时间戳Ci=(ti-t0)T+C0;其中,ti为当前数据包对应的时刻,t0为视频流或音频流的第一个数据包对应的时刻,C0为视频流或音频流的第一个数据包的时间戳,T为比例系数;本实施例中,C0为随机初始化的值,对于视频流T=90000,对于音频流T=8000。
关于分片长度:用于表示数据分片的大小。
(3)开辟内存为k1的存储缓冲区,将封装后的数据包存放到存储缓冲区内;
本实施方式中,k1=6MB。
(4)根据存储缓冲区存放情况,以丢包、调节帧率的方法来管理存储缓冲区。
本实施方式中,如果存储缓冲区已满并且存储缓冲区最早帧是I帧,则丢弃最早I帧的下一个I帧之前的所有I帧、B帧、P帧数据包,并降低编码帧率至vb;如果存储缓冲区已满并且存储缓冲区最早帧不是I帧,则丢弃下一个I帧之前的所有B帧、P帧,并降低编码帧率至vb;vb=(1-k)vj,vb为减速后的编码帧率,vj为减速前的编码帧率,k为给定的帧率调节系数;本实施例中,k设置为0.1。
如果存储缓冲区未满并且空余小于等于1/n,则继续保持原来帧率vi;如果存储缓冲区未满并且空余大于1/n,则提高编码帧率为va,va=(1+k)vi,va为加速后的编码帧率,vi为加速前的编码帧率,k为给定的帧率调节系数,n是缓冲区的空余系数;k和n都是通过实验得到的经验常量参数,本实施例中,n设置为3,k设置为0.1。
(5)设置TCP发送缓冲区大小为k2,根据TCP发送缓冲区存放情况,以把存储缓冲区最早一帧的数据包发送至TCP发送缓冲区或者等待TCP发送缓冲区的数据包发送完毕。
本实施方式中,如果TCP发送缓冲区已满,则等待TCP发送缓冲区的数据包发送完毕;如果TCP发送缓冲区为空,则把存储缓冲区最早一帧的数据包发送至TCP发送缓冲区。k2设置为100KB。
以上对本发明所提供的一种基于TCP协议的流媒体无线自适应传输方法进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种基于TCP协议的流媒体无线自适应传输方法,其特征在于,包括如下步骤:
(1)以帧率初始值v0进行音视频的编码;对编码后音视频流中的I帧、P帧和B帧进行数据分割,得到多个数据分片;
(2)对于任意一个数据分片,对其封装数据包头后形成数据包;依次遍历每个数据分片;
(3)开辟内存为k1的存储缓冲区,将封装后的数据包存放到存储缓冲区内;
(4)根据存储缓冲区存放情况,以丢包、调节帧率的方法来管理存储缓冲区;
(5)设置TCP发送缓冲区大小为k2,根据TCP发送缓冲区存放情况,以把存储缓冲区最早一帧的数据包发送至TCP发送缓冲区或者等待TCP发送缓冲区的数据包发送完毕。
2.根据权利要求1所述的流媒体无线自适应传输方法,其特征在于,所述的数据包头内依次包含:帧类型、帧尾标记、数据压缩格式、序列号、时间戳和分片长度。
3.根据权利要求1所述的流媒体无线自适应传输方法,其特征在于,所述步骤(4)中,如果存储缓冲区已满并且存储缓冲区最早帧是I帧,则丢弃最早I帧的下一个I帧之前的所有I帧、B帧、P帧数据包,并降低编码帧率,减速后的编码帧率为vb
4.根据权利要求1所述的流媒体无线自适应传输方法,其特征在于,所述步骤(4)中,如果存储缓冲区已满并且存储缓冲区最早帧不是I帧,则丢弃下一个I帧之前的所有B帧、P帧,并降低编码帧率,减速后的编码帧率为vb
5.根据权利要求3或4所述的流媒体无线自适应传输方法,其特征在于,减速后的编码帧率计算公式为:vb=(1-k)vj,其中,vb为减速后的编码帧率,vj为减速前的编码帧率,k为给定的帧率调节系数。
6.根据权利要求1所述的流媒体无线自适应传输方法,其特征在于,所述步骤(4)中,如果存储缓冲区未满并且空余小于等于1/n,则继续保持原来帧率vi,其中,n是缓冲区的空余系数。
7.根据权利要求1所述的流媒体无线自适应传输方法,其特征在于,所述步骤(4)中,如果存储缓冲区未满并且空余大于1/n,则提高编码帧率,加速后的编码帧率为va,其中,n是缓冲区的空余系数。
8.根据权利要求7所述的流媒体无线自适应传输方法,其特征在于,加速后的编码帧率计算公式为:va=(1+k)vi,其中,va为加速后的编码帧率,vi为加速前的编码帧率,k为给定的帧率调节系数。
9.根据权利要求1所述的流媒体无线自适应传输方法,其特征在于,所述步骤(5)中,如果TCP发送缓冲区已满,则等待TCP发送缓冲区的数据包发送完毕。
10.根据权利要求1所述的流媒体无线自适应传输方法,其特征在于,所述步骤(5)中,如果TCP发送缓冲区为空,则把存储缓冲区最早一帧的数据包发送至TCP发送缓冲区。
CN201410394809.7A 2014-08-08 2014-08-08 一种基于tcp协议的流媒体无线自适应传输方法 Pending CN104135486A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410394809.7A CN104135486A (zh) 2014-08-08 2014-08-08 一种基于tcp协议的流媒体无线自适应传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410394809.7A CN104135486A (zh) 2014-08-08 2014-08-08 一种基于tcp协议的流媒体无线自适应传输方法

Publications (1)

Publication Number Publication Date
CN104135486A true CN104135486A (zh) 2014-11-05

Family

ID=51808008

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410394809.7A Pending CN104135486A (zh) 2014-08-08 2014-08-08 一种基于tcp协议的流媒体无线自适应传输方法

Country Status (1)

Country Link
CN (1) CN104135486A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016131223A1 (zh) * 2015-02-17 2016-08-25 华为技术有限公司 一种视频帧丢帧方法及视频发送装置
CN108989767A (zh) * 2018-08-30 2018-12-11 北京计算机技术及应用研究所 一种网络自适应的多路h264视频流存储转播方法及系统
CN109600586A (zh) * 2018-12-21 2019-04-09 赵丽妍 一种安防监控系统的视频优化传输方法
CN111182334A (zh) * 2019-12-30 2020-05-19 咪咕视讯科技有限公司 数据处理方法、服务器、终端以及存储介质
CN112235616A (zh) * 2020-10-16 2021-01-15 杭州觅睿科技有限公司 一种视频传输方法、装置、设备及介质
CN117615036A (zh) * 2023-11-28 2024-02-27 北京华宇信息技术有限公司 一种多路音频的传输方法及装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1468001A (zh) * 2002-06-27 2004-01-14 上海汉唐科技有限公司 基于因特网的媒体流自适应传输方法
US20070153914A1 (en) * 2005-12-29 2007-07-05 Nokia Corporation Tune in time reduction
CN101043618A (zh) * 2006-03-24 2007-09-26 腾讯科技(深圳)有限公司 一种在多路视频通讯中控制帧率的装置和方法
CN101222296A (zh) * 2008-01-31 2008-07-16 上海交通大学 上行蜂窝视频通信中自适应的传输方法及系统
CN101369866A (zh) * 2008-10-21 2009-02-18 中国电信股份有限公司 一种测试流媒体传输质量的方法和设备
CN101488967A (zh) * 2009-01-14 2009-07-22 深圳市同洲电子股份有限公司 一种视频传输方法、嵌入式监控终端及监控平台服务器
CN101753977A (zh) * 2009-12-31 2010-06-23 中兴通讯股份有限公司 一种调节网络数字视频播放速度的方法及装置
CN102387409A (zh) * 2011-12-07 2012-03-21 江苏远为科技有限公司 基于流媒体系统的视频播放方法
CN102497578A (zh) * 2011-11-25 2012-06-13 武汉大学 一种3g网络环境下的移动音视频实时通信方法
CN103118241A (zh) * 2012-02-24 2013-05-22 金三立视频科技(深圳)有限公司 基于3g网络的移动视频监控流媒体传输自适应调整算法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1468001A (zh) * 2002-06-27 2004-01-14 上海汉唐科技有限公司 基于因特网的媒体流自适应传输方法
US20070153914A1 (en) * 2005-12-29 2007-07-05 Nokia Corporation Tune in time reduction
CN101043618A (zh) * 2006-03-24 2007-09-26 腾讯科技(深圳)有限公司 一种在多路视频通讯中控制帧率的装置和方法
CN101222296A (zh) * 2008-01-31 2008-07-16 上海交通大学 上行蜂窝视频通信中自适应的传输方法及系统
CN101369866A (zh) * 2008-10-21 2009-02-18 中国电信股份有限公司 一种测试流媒体传输质量的方法和设备
CN101488967A (zh) * 2009-01-14 2009-07-22 深圳市同洲电子股份有限公司 一种视频传输方法、嵌入式监控终端及监控平台服务器
CN101753977A (zh) * 2009-12-31 2010-06-23 中兴通讯股份有限公司 一种调节网络数字视频播放速度的方法及装置
CN102497578A (zh) * 2011-11-25 2012-06-13 武汉大学 一种3g网络环境下的移动音视频实时通信方法
CN102387409A (zh) * 2011-12-07 2012-03-21 江苏远为科技有限公司 基于流媒体系统的视频播放方法
CN103118241A (zh) * 2012-02-24 2013-05-22 金三立视频科技(深圳)有限公司 基于3g网络的移动视频监控流媒体传输自适应调整算法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
熊永华: "基于TCP的实时流媒体自适应传输策略及其应用研究", 《中国博士学位论文全文数据库 信息科技辑》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016131223A1 (zh) * 2015-02-17 2016-08-25 华为技术有限公司 一种视频帧丢帧方法及视频发送装置
US10659847B2 (en) 2015-02-17 2020-05-19 Huawei Technologies Co., Ltd. Frame dropping method for video frame and video sending apparatus
CN108989767A (zh) * 2018-08-30 2018-12-11 北京计算机技术及应用研究所 一种网络自适应的多路h264视频流存储转播方法及系统
CN109600586A (zh) * 2018-12-21 2019-04-09 赵丽妍 一种安防监控系统的视频优化传输方法
CN111182334A (zh) * 2019-12-30 2020-05-19 咪咕视讯科技有限公司 数据处理方法、服务器、终端以及存储介质
CN111182334B (zh) * 2019-12-30 2022-03-25 咪咕视讯科技有限公司 数据处理方法、服务器、终端以及存储介质
CN112235616A (zh) * 2020-10-16 2021-01-15 杭州觅睿科技有限公司 一种视频传输方法、装置、设备及介质
CN112235616B (zh) * 2020-10-16 2021-07-13 杭州觅睿科技股份有限公司 一种视频传输方法、装置、设备及介质
CN117615036A (zh) * 2023-11-28 2024-02-27 北京华宇信息技术有限公司 一种多路音频的传输方法及装置

Similar Documents

Publication Publication Date Title
CN103166974B (zh) 一种基于tcp/udp混合协议的流媒体无线传输方法
CN104618337B (zh) 一种基于tcp/udp混合协议的流媒体无线自适应传输方法
CN104135486A (zh) 一种基于tcp协议的流媒体无线自适应传输方法
CN105357592B (zh) 一种流媒体自适应传输选择性丢帧方法
CN106341738B (zh) 流媒体网络传输的带宽计算方法、服务器端和系统
CN101552660B (zh) 对流媒体数据进行重传、播放的方法、装置及通信系统
CN101909208B (zh) 一种适用于cdma2000的视频无线传输控制方法
KR101400658B1 (ko) Tdma mac 계층에서의 mac 프로토콜 데이터 유닛 집합
US10602139B2 (en) Embedded multimedia systems with adaptive rate control for power efficient video streaming
CN101179362B (zh) 适宜移动流媒体应用的自动重传请求机制
CN101184052B (zh) 一种实现可靠udp传输的拥塞控制方法
CN103929681B (zh) 一种提升低速网络中rtp视频流处理效率的方法
TW200412074A (en) Packet transmission method and system, base station, wireless LAN terminal, and wireless LAN system using the same
CN101345756A (zh) 一种基于带宽预测的无线Ad Hoc网络实时视频传输方法
CN103414956A (zh) 基于传输控制协议的实时数据传输方法及其系统
CN113099310A (zh) 基于安卓平台的实时媒体内视音频协调法
CN103607665A (zh) 一种多链路的无线实时视频传输方法及系统
CN103354615B (zh) 基于信号强度的直播视频数据传输差错控制方法
CN105142002A (zh) 音/视频直播方法、装置及控制方法、装置
CN104486690A (zh) 一种基于tcp协议的移动视频传输优化方法
CN101521813B (zh) 一种处理媒体流的方法和装置
CN104754339A (zh) I帧调整方法、装置及系统
CN106210785B (zh) 媒体流网络自适应单向控制方法及系统
CN103428531A (zh) 一种多媒体数据的arq控制方法及系统
Van Beek et al. Delay-constrained rate adaptation for robust video transmission over home networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20141105

RJ01 Rejection of invention patent application after publication