[发明专利]基于传输控制协议的实时数据传输方法及其系统无效
申请号: | 201310351901.0 | 申请日: | 2013-08-13 |
公开(公告)号: | CN103414956A | 公开(公告)日: | 2013-11-27 |
发明(设计)人: | 杨旋 | 申请(专利权)人: | 中安消技术有限公司 |
主分类号: | H04N21/643 | 分类号: | H04N21/643;H04N21/6437 |
代理公司: | 广东卓建律师事务所 44305 | 代理人: | 陈江雄 |
地址: | 100190 北京市海淀区科学院*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 传输 控制 协议 实时 数据传输 方法 及其 系统 | ||
技术领域
本发明涉及数据传输领域,尤其涉及一种基于传输控制协议的实时数据传输方法及其系统。
背景技术
目前实时数据的网络传输方式有TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)两种,UDP从问世至今已经被使用了很多年,虽然UDP不提供数据包的封装和排序,也就是说,无法得知数据是否安全完整到达,但是由于其具备低开销、不重复请求、低处理时间等特点,所以即使是在今天,UDP仍然不失为一项非常实用和可行的网络传输层。
TCP的工作主要是建立连接,然后接收数据并进行传输。TCP采用虚电路连接方式进行工作,在发送数据前它需要在发送方和接收方建立一个连接,数据在发送出去后,发送方会等待接收方给出一个确认性的应答,否则发送方将认为此数据丢失,并重新发送此数据。可见TCP有助于越过防火墙,且能保证数据的完整性,所以在一些环境下,比如跨网关传输实时视频,或要求实时视频不会出现花屏现象等条件下,仍然需要采用TCP方式来传输实时视频。
TCP中包含了专门的传递保证机制,当数据接收方收到发送方传来的信息时,会自动向发送方发出确认消息;发送方只有在接收到该确认消息之后才继续传送其它信息,否则将一直等待直到收到确认信息为止。这种机制虽然能保证数据的完整性,但在网络状况不好的情况下,TCP可能会出现反复重发数据包的情况;在网络带宽不够的情况,TCP也会来不及发送数据包。这两种情况都会有大量的数据包在发送端的TCP缓冲排队等待发送,等到接收端接收到数据包时,离发送端发送数据包已经过去了很长的时间,造成了画面延时严重的情况,而且如果网络状况不改善,延时会越来越大。
目前采用TCP传输实时数据的技术中,没有很好的办法可以判断网络带宽的占用情况,无法判断数据能否被及时传输,因而无法实现码流的自动调整,只能依据用户观察画面的延时来判断网络是否拥堵,手动进行调整。
发明内容
本发明的特征和优点在下文的描述中部分地陈述,或者可从该描述显而易见,或者可通过实践本发明而学习。
为克服现有技术的问题,本发明提供一种基于传输控制协议的实时数据传输方法及其系统,利用数据包的接收时间和发送时间计算出当前时间差,并结合初始时间差以及预先设置的时间差限值,决定是否调整数据传输的码流,从而实现网络的自适应,解决画面延时的问题。
本发明解决上述技术问题所采用的技术方案如下:
根据本发明的一个方面,提供一种基于传输控制协议的实时数据传输方法,包括:S1、将被点播的媒体文件封装成多个数据包,该数据包内具有记录该数据包发送时间的时间戳,通过传输控制协议发送该数据包;S2、记录第一个该数据包的接收时间,并结合第一个该数据包内时间戳记录的发送时间,得出初始时间差;S3、记录下一个该数据包的接收时间,并结合接收到的该数据包内时间戳记录的发送时间,得出当前时间差,用该当前时间差减去该初始时间差得到时间差值;S4、比较该时间差值与预先设置的时间差限值的大小,若该时间差值比预先设置的时间差限值大,则调整数据传输的码流,若该时间差限值比预先设置的时间差限值小,则重复步骤S3。
根据本发明的一个实施例,在该步骤S1中采用RTP将该媒体文件封装成RTP数据包;或先采用除该RTP外的协议将该媒体文件封装,再采用该传输控制协议封装成带有时间戳的TCP数据包。
根据本发明的一个实施例,在该步骤S4中,通过占有不同带宽的子码流连接来调整该数据传输的码流;或通过改变该媒体文件封装成多个数据包时的压缩比、分辨率以及帧率中的至少一项参数来调整该数据传输的码流。
根据本发明的一个实施例,当通过占有不同带宽的子码流连接来调整该数据传输的码流时,包括步骤:关闭当前默认的RTSP地址;开启占有更低带宽的RTSP地址;当通过改变该媒体文件封装成多个数据包时的压缩比、分辨率以及帧率中的至少一项参数来调整该数据传输的码流时,包括步骤:通过http接口发出请求,请求改变该媒体文件封装成多个数据包时的压缩比、分辨率以及帧率中的至少一项参数来调整该数据传输的码流;依据该请求调整该参数,并按调整后的参数进行该数据包的封装。
根据本发明的一个实施例,在该步骤S1之前,还包括步骤:获取可供点播的媒体文件;在接收到该数据包后,还包括步骤:将该数据包解码成相应的媒体文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中安消技术有限公司,未经中安消技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310351901.0/2.html,转载请声明来源钻瓜专利网。