基于多条TCP连接的HTTP流媒体直播方法和系统技术方案

技术编号:9465279 阅读:100 留言:0更新日期:2013-12-19 02:55
本发明专利技术公开了基于多条TCP连接的HTTP流媒体直播方法和系统,能够显著提升传输速率,解决网络拥塞或丢包带来的播放卡顿问题,能够支持更高码率的直播播放,提升用户体验。其技术方案为:本发明专利技术通过连接绑定技术,在服务端将若干个TCP连接关联起来,流式数据分散到各个连接中进行传输。客户端将各个连接收到的分段流式数据拼接起来即可进行播放。

【技术实现步骤摘要】
基于多条TCP连接的HTTP流媒体直播方法和系统
本专利技术涉及HTTP流媒体直播的技术,尤其涉及高码率的HTTP流媒体直播方法和系统。
技术介绍
HTTP流媒体直播是使用HTTP(超文本传输协议)进行流媒体直播的流式数据的传输。目前市场主流的协议包括Apple的HLS(HTTPLiveStreaming)、Adobe的HDS(HTTPDynamicStreaming)以及Microsoft的HSS(HTTPSmoothStreaming)。上述三种协议的核心机制是将直播流式数据进行切片,并生成不断更新的文件列表信息来告知播放端去下载、拼接和播放切片数据。其优势在于传输协议简单,劣势在于切片数据受关键帧间隔影响,交互流程复杂,客户端需要累积若干个切片后才能播放,直播的播放延迟较大。业界常见的另一种HTTP直播协议是将直播流式数据虚拟成为一个无限大的FLV(FLASHVIDEO)文件,并通过HTTP协议进行传输。该协议保持HTTP协议的简单性和高可用性,并简化交互协议,播放延迟可以大幅缩短。该协议通常被称为HDL,即HTTPDownloadLivestreaming。HDL协议的工作原理如下:客户端仅发送一次HTTPGET请求,请求中携带需要访问的直播流名,服务器返回HTTP响应,不携带消息体内容长度直接发送无限长FLV文件内容,或者使用HTTPCHUNK模式将无限长FLV文件按分段模式发送。客户端获得HTTP消息体中的FLV内容时即可播放。例如请求直播流http://flv.drag.test.com/live/livestream.flv,HTTP交互如下:请求:GET/live/livestream.flv?wsHost=flv.drag.test.comHTTP/1.1accept:*/*accept-encoding:gzip,deflateaccept-language:zh-CNconnection:Keep-Alivehost:www.abc.comreferer:http://www.abc.com/vplayer.swf响应:HTTP/1.1200OKContent-Type:video/x-flvFLV.......................................................................HDL协议的缺点是:其数据传输依赖于单连接的TCP传输,当网络出现拥塞或者丢包时,TCP传输效率容易受到影响,导致直播流式数据无法及时传输到客户端,进而导致客户端播放出现卡顿甚至无法播放,影响用户体验。当直播码率较高时该现象更为明显。
技术实现思路
本专利技术的目的在于解决上述问题,提供了一种基于多条TCP连接的HTTP流媒体直播方法和系统,能够显著提升传输速率,解决网络拥塞或丢包带来的播放卡顿问题,能够支持更高码率的直播播放,提升用户体验。本专利技术的技术方案为:本专利技术揭示了一种基于多条TCP连接的HTTP流媒体直播方法,包括:客户端发起若干个TCP连接并完成绑定;服务端将流式数据进行分段并分散在已完成绑定的若干个TCP连接中进行数据传输;客户端将各个TCP连接收到的分段流式数据拼接起来后进行播放。根据本专利技术的基于多条TCP连接的HTTP流媒体直播方法的一实施例,在数据传输期间,客户端实时根据网络状态的变化动态调整TCP连接的个数。根据本专利技术的基于多条TCP连接的HTTP流媒体直播方法的一实施例,客户端发起若干个TCP连接并完成绑定的步骤进一步包括:客户端发起第一个连接并发送HTTP请求;服务端为该请求分配全局唯一的会话标识,并在HTTP响应中发送给客户端,同时开始传输流式数据;客户端从HTTP响应中获取会话标识,并连续发起第2至N个连接,在HTTP请求中携带该会话标识;服务端根据每个请求中的会话标识,将第2至第N个连接和第1个连接进行关联,每关联一个新的连接,该新的连接加入到流式数据的传输中。根据本专利技术的基于多条TCP连接的HTTP流媒体直播方法的一实施例,客户端发起若干个TCP连接并完成绑定的步骤进一步包括:客户端随机生成近似全局唯一的会话标识;客户端连续发起第1至N个连接,在HTTP请求中携带所述会话标识,其中N是自然数;服务端根据每个请求中的会话标识,将第2至N个连接和第1个连接进行关联,每关联一个新的连接,该新的连接加入到流式数据的传输中。根据本专利技术的基于多条TCP连接的HTTP流媒体直播方法的一实施例,客户端对TCP连接个数的动态调整包括:客户端动态检测数据的传输状态,以确认是否满足直播播放的需求;当传输速率低于直播播放需求时,启动TCP连接动态增加过程,动态增加是指客户端发起若干个新连接并发送HTTP请求,HTTP请求中携带直播流名称以及会话标识;服务端逐个处理新的请求HTTP,并根据会话标识与原有的N个连接进行关联,新关联的连接加入到流式数据的传输中。本专利技术还揭示了一种基于多条TCP连接的HTTP流媒体直播系统,包括:连接建立绑定装置,客户端发起若干个TCP连接并完成绑定;分散传输装置,服务端将流式数据进行分段并分散在已完成绑定的若干个TCP连接中进行数据传输;拼接播放装置,客户端将各个TCP连接收到的分段流式数据拼接起来后进行播放。根据本专利技术的基于多条TCP连接的HTTP流媒体直播系统的一实施例,系统还包括:连接数量调整装置,在数据传输期间实时根据网络状态的变化动态调整TCP连接的个数。根据本专利技术的基于多条TCP连接的HTTP流媒体直播系统的一实施例,连接建立绑定装置进一步包括:HTTP请求发起模块,客户端发起第一个连接并发送HTTP请求;会话标识分配模块,服务端为该请求分配全局唯一的会话标识,并在HTTP响应中发送给客户端,同时开始传输流式数据;会话标识携带模块,客户端从HTTP响应中获取会话标识,并连续发起第2至N个连接,在HTTP请求中携带该会话标识;连接关联模块,服务端根据每个请求中的会话标识,将第2至第N个连接和第1个连接进行关联,每关联一个新的连接,该新的连接加入到流式数据的传输中。根据本专利技术的基于多条TCP连接的HTTP流媒体直播系统的一实施例,连接建立绑定装置进一步包括:会话标识生成模块,客户端随机生成近似全局唯一的会话标识;会话标识携带模块,客户端连续发起第1至N个连接,在HTTP请求中携带所述会话标识,其中N是自然数;连接关联模块,服务端根据每个请求中的会话标识,将第2至N个连接和第1个连接进行关联,每关联一个新的连接,该新的连接加入到流式数据的传输中。根据本专利技术的基于多条TCP连接的HTTP流媒体直播系统的一实施例,连接数量调整装置包括:状态检测模块,客户端动态检测数据的传输状态,以确认是否满足直播播放的需求;连接增加模块,当传输速率低于直播播放需求时,启动TCP连接动态增加过程,动态增加是指客户端发起若干个新连接并发送HTTP请求,HTTP请求中携带直播流名称以及会话标识;新增连接关联模块,服务端逐个处理新的请求HTTP,并根据会话标识与原有的N个连接进行关联,新关联的连接加入到流式数据的传输中。本专利技术对比现有技术有如下的有益效果:本专利技术用多个TCP连接来传输直播流式数据。其核心思想是通过连接绑定技术,本文档来自技高网
...
基于多条TCP连接的HTTP流媒体直播方法和系统

【技术保护点】
一种基于多条TCP连接的HTTP流媒体直播方法,包括:客户端发起若干个TCP连接并完成绑定;服务端将流式数据进行分段并分散在已完成绑定的若干个TCP连接中进行数据传输;客户端将各个TCP连接收到的分段流式数据拼接起来后进行播放。

【技术特征摘要】
1.一种基于多条TCP连接的HTTP流媒体直播方法,包括:客户端发起若干个TCP连接并完成绑定;服务端将流式数据进行分段并分散在已完成绑定的若干个TCP连接中进行数据传输;客户端将各个TCP连接收到的分段流式数据拼接起来后进行播放;其中在数据传输期间,客户端实时根据网络状态的变化动态调整TCP连接的个数,客户端对TCP连接个数的动态调整包括:客户端动态检测数据的传输状态,以确认是否满足直播播放的需求;当传输速率低于直播播放需求时,启动TCP连接动态增加过程,动态增加是指客户端发起若干个新连接并发送HTTP请求,HTTP请求中携带直播流名称以及会话标识;服务端逐个处理新的请求HTTP,并根据会话标识与原有的N个连接进行关联,新关联的连接加入到流式数据的传输中。2.根据权利要求1所述的基于多条TCP连接的HTTP流媒体直播方法,其特征在于,客户端发起若干个TCP连接并完成绑定的步骤进一步包括:客户端发起第一个连接并发送HTTP请求;服务端为该请求分配全局唯一的会话标识,并在HTTP响应中发送给客户端,同时开始传输流式数据;客户端从HTTP响应中获取会话标识,并连续发起第2至N个连接,在HTTP请求中携带该会话标识;服务端根据每个请求中的会话标识,将第2至第N个连接和第1个连接进行关联,每关联一个新的连接,该新的连接加入到流式数据的传输中。3.根据权利要求1所述的基于多条TCP连接的HTTP流媒体直播方法,其特征在于,客户端发起若干个TCP连接并完成绑定的步骤进一步包括:客户端随机生成全局唯一的会话标识;客户端连续发起第1至N个连接,在HTTP请求中携带所述会话标识,其中N是自然数;服务端根据每个请求中的会话标识,将第2至N个连接和第1个连接进行关联,每关联一个新的连接,该新的连接加入到流式数据的传输中。4.一种基于多条TCP连接的HTTP流媒体直播系统,包括:连接建立绑定装置,...

【专利技术属性】
技术研发人员:洪珂白永光邹焕英
申请(专利权)人:网宿科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1