CN103457956A - 基于多条tcp连接的http流媒体直播方法和*** - Google Patents

基于多条tcp连接的http流媒体直播方法和*** Download PDF

Info

Publication number
CN103457956A
CN103457956A CN2013104248406A CN201310424840A CN103457956A CN 103457956 A CN103457956 A CN 103457956A CN 2013104248406 A CN2013104248406 A CN 2013104248406A CN 201310424840 A CN201310424840 A CN 201310424840A CN 103457956 A CN103457956 A CN 103457956A
Authority
CN
China
Prior art keywords
connection
http
session identification
client
tcp
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.)
Granted
Application number
CN2013104248406A
Other languages
English (en)
Other versions
CN103457956B (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.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and 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 Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201310424840.6A priority Critical patent/CN103457956B/zh
Publication of CN103457956A publication Critical patent/CN103457956A/zh
Application granted granted Critical
Publication of CN103457956B publication Critical patent/CN103457956B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

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

Description

基于多条TCP连接的HTTP流媒体直播方法和***
技术领域
本发明涉及HTTP流媒体直播的技术,尤其涉及高码率的HTTP流媒体直播方法和***。
背景技术
HTTP流媒体直播是使用HTTP(超文本传输协议)进行流媒体直播的流式数据的传输。目前市场主流的协议包括Apple的HLS(HTTP Live Streaming)、Adobe的HDS(HTTP Dynamic Streaming)以及Microsoft的HSS(HTTP Smooth Streaming)。上述三种协议的核心机制是将直播流式数据进行切片,并生成不断更新的文件列表信息来告知播放端去下载、拼接和播放切片数据。其优势在于传输协议简单,劣势在于切片数据受关键帧间隔影响,交互流程复杂,客户端需要累积若干个切片后才能播放,直播的播放延迟较大。
业界常见的另一种HTTP直播协议是将直播流式数据虚拟成为一个无限大的FLV(FLASH VIDEO)文件,并通过HTTP协议进行传输。该协议保持HTTP协议的简单性和高可用性,并简化交互协议,播放延迟可以大幅缩短。该协议通常被称为HDL,即HTTP Download Live streaming。
HDL协议的工作原理如下:客户端仅发送一次HTTP GET请求,请求中携带需要访问的直播流名,服务器返回HTTP响应,不携带消息体内容长度直接发送无限长FLV文件内容,或者使用HTTP CHUNK模式将无限长FLV文件按分段模式发送。客户端获得HTTP消息体中的FLV内容时即可播放。
例如请求直播流http://flv.drag.test.com/live/livestream.flv,HTTP交互如下:
请求:
GET/live/livestream.flv?wsHost=flv.drag.test.com HTTP/1.1
accept:*/*
accept-encoding:gzip,deflate
accept-language:zh-CN
connection:Keep-Alive
host:www.abc.com
referer:http://www.abc.com/vplayer.swf
响应:
HTTP/1.1200OK
Content-Type:video/x-flv
FLV.......................................................................
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连接关联起来,流式数据分散到各个连接中进行传输。客户端将各个连接收到的分段流式数据拼接起来即可进行播放。相较于传统技术,本发明解决HDL协议单TCP连接传输速率抖动厉害,无法流畅观看直播尤其是高清码率的问题。这种HTTP直播传输方案达到更快速更稳定的直播内容传输,显著提升播放用户体验。
附图说明
图1示出了本发明的基于多条TCP连接的HTTP流媒体直播方法的第一实施例的流程图。
图2示出了本发明的基于多条TCP连接的HTTP流媒体直播方法的第二实施例的流程图。
图3示出了本发明的TCP连接建立和绑定的第一种实施方式的细化流程图。
图4示出了本发明的TCP连接建立和绑定的第二种实施方式的细化流程图。
图5示出了本发明的TCP连接数量动态调整的细化流程图。
图6示出了本发明的基于多条TCP连接的HTTP流媒体直播***的第一实施例的结构图。
图7示出了本发明的基于多条TCP连接的HTTP流媒体直播***的第二实施例的结构图。
图8示出了本发明的连接建立绑定装置的第一种示例的细化结构图。
图9示出了本发明的连接建立绑定装置的第二种示例的细化结构图。
图10示出了本发明的连接数量调整装置的细化结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
基于多条TCP连接的HTTP流媒体直播方法的第一实施例
图1示出了本发明的基于多条TCP连接的HTTP流媒体直播方法的第一实施例的流程。请参见图1,本实施例的HTTP流媒体直播方法的实施步骤详述如下。
步骤S11:客户端发起若干个TCP连接并完成绑定。
在客户端和服务端建立多个TCP连接并通过连接绑定技术进行关联。
客户端对于TCP连接并完成绑定的步骤可以通过两种方式来实现。
第一种方式如图3所示,请同时参见图3,TCP连接建立和绑定的第一种方式的细化步骤详述如下。
步骤S110:客户端发起和服务端的第一个TCP连接并发送HTTP请求。HTTP请求中仅包含直播流名称,没有会话标识(Session ID)。
步骤S112:服务端发现HTTP请求为新请求时(即无Session ID),则为该请求分配一个全局唯一的会话标识,通过这一会话标识管理第一个连接,并将这一会话标识放入HTTP响应中返回给客户端,此时第一个连接可以同时开始传输FLV流式数据。
步骤S114:客户端从HTTP响应中获取会话标识,并连续发起和服务端的第2至N个连接并发送HTTP请求,在HTTP请求中携带直播流名称和会话标识。
步骤S116:服务端处理第2至N个连接及请求,从请求中获取会话标识,通过这一会话标识找到第1个连接,将第2至第N个连接和第1个连接进行关联,每关联一个新的TCP连接,该新的连接加入到FLV流式数据的传输中。
第二种方式如图4所示,请同时参见图4,TCP连接建立和绑定的第二种方式的细化步骤详述如下。
步骤S111:客户端随机生成近似全局唯一的会话标识。
步骤S113:客户端连续发起第1至第N个连接,发送携带相同直播流名称和会话标识的HTTP请求,其中N是自然数。
步骤S115:服务端逐个处理第1至第N个请求,根据每个请求中的会话标识,将第2至N个连接和第1个连接进行关联,每关联一个新的连接,该新的连接加入到FLV流式数据的传输中。
服务端在处理当前的请求时,当发现会话标识为未知标识时,认为该连接为新连接,通过该会话标识来管理该连接,当发现会话标识和其余某个连接的会话标识相同时,即可归入到同一个会话标识进行管理,完成关联。
步骤S12:服务端将流式数据进行分段并分散在已完成绑定的若干个TCP连接中进行数据传输。
FLV流式数据的分段可以有很多种方法,如将虚拟FLV大文件进行定长分段,并为每段添加头部信息,包含分段编号、分段长度等。本发明并不限制具体的分段方法。
服务端通过监测每个连接的传输状态,选择最空闲的TCP连接来传输最新的分段数据。连接传输状态的监测可以有很多种方法,如检查操作***TCP发送缓冲区长度,缓冲区最短的即为最空闲的连接。本发明并不限制具体的检测方法。
步骤S13:客户端将各个TCP连接收到的分段流式数据拼接起来后进行播放。
客户端从各TCP连接收到HTTP响应,其中HTTP消息体中包含了无限的分段数据,通过每个分段的头部信息,完成数据的还原。
基于多条TCP连接的HTTP流媒体直播方法的第二实施例
图2示出了本发明的基于多条TCP连接的HTTP流媒体直播方法的第二实施例的流程。请参见图2,本实施例的HTTP流媒体直播方法的实施步骤详述如下。
步骤S21:客户端发起若干个TCP连接并完成绑定。
在客户端和服务端建立多个TCP连接并通过连接绑定技术进行关联。
客户端对于TCP连接并完成绑定的步骤可以通过两种方式来实现。
第一种方式如图3所示,请同时参见图3,TCP连接建立和绑定的第一种方式的细化步骤详述如下。
步骤S110:客户端发起和服务端的第一个TCP连接并发送HTTP请求。HTTP请求中仅包含直播流名称,没有会话标识(Session ID)。
步骤S112:服务端发现HTTP请求为新请求时(即无Session ID),则为该请求分配一个全局唯一的会话标识,通过这一会话标识管理第一个连接,并将这一会话标识放入HTTP响应中返回给客户端,此时第一个连接可以同时开始传输FLV流式数据。
步骤S114:客户端从HTTP响应中获取会话标识,并连续发起和服务端的第2至N个连接并发送HTTP请求,在HTTP请求中携带直播流名称和会话标识。
步骤S116:服务端处理第2至N个连接及请求,从请求中获取会话标识,通过这一会话标识找到第1个连接,将第2至第N个连接和第1个连接进行关联,每关联一个新的TCP连接,该新的连接加入到FLV流式数据的传输中。
第二种方式如图4所示,请同时参见图4,TCP连接建立和绑定的第二种方式的细化步骤详述如下。
步骤S111:客户端随机生成近似全局唯一的会话标识。
步骤S113:客户端连续发起第1至第N个连接,发送携带相同直播流名称和会话标识的HTTP请求,其中N是自然数。
步骤S115:服务端逐个处理第1至第N个请求,根据每个请求中的会话标识,将第2至N个连接和第1个连接进行关联,每关联一个新的连接,该新的连接加入到FLV流式数据的传输中。
服务端在处理当前的请求时,当发现会话标识为未知标识时,认为该连接为新连接,通过该会话标识来管理该连接,当发现会话标识和其余某个连接的会话标识相同时,即可归入到同一个会话标识进行管理,完成关联。
步骤S22:服务端将流式数据进行分段并分散在已完成绑定的若干个TCP连接中进行数据传输。
FLV流式数据的分段可以有很多种方法,如将虚拟FLV大文件进行定长分段,并为每段添加头部信息,包含分段编号、分段长度等。本发明并不限制具体的分段方法。
服务端通过监测每个连接的传输状态,选择最空闲的TCP连接来传输最新的分段数据。连接传输状态的监测可以有很多种方法,如检查操作***TCP发送缓冲区长度,缓冲区最短的即为最空闲的连接。本发明并不限制具体的检测方法。
步骤S23:在数据传输期间,客户端实时根据网络状态的变化动态调整TCP连接的个数。
客户端对TCP连接个数的动态调整的细化步骤请同时参见图5,详述如下。
步骤S230:在传输过程中,客户端动态检测数据的传输状态,以确认是否满足直播播放的需求。检测的方法有很多,如统计所有连接数据的到达速率,与预期码率进行对比。
步骤S231:当传输速率低于直播播放需求时,启动TCP连接动态增加过程,动态增加是指客户端发起若干个新连接并发送HTTP请求,HTTP请求中携带直播流名称以及会话标识。
步骤S232:服务端逐个处理新的请求HTTP,并根据会话标识与原有的N个连接进行关联,新关联的连接加入到FLV流式数据的传输中。
步骤S24:客户端将各个TCP连接收到的分段流式数据拼接起来后进行播放。
客户端从各TCP连接收到HTTP响应,其中HTTP消息体中包含了无限的分段数据,通过每个分段的头部信息,完成数据的还原。
基于多条TCP连接的HTTP流媒体直播***的第一实施例
图6示出了本发明的基于多条TCP连接的HTTP流媒体直播***的第一实施例的结构。请参见图6,本实施例的HTTP流媒体直播***包括:连接建立绑定装置11、分散传输装置12、拼接播放装置13。连接建立绑定装置11的输出端连接分散传输装置12,分散传输装置12的输出端连接拼接播放装置13。
连接建立绑定装置11中,客户端发起若干个TCP连接并完成绑定。在客户端和服务端建立多个TCP连接并通过连接绑定技术进行关联。
连接建立绑定装置11的具体实现可以有两种方式,第一种方式如图8所示,第二种方式如图9所示。
请同时参见图8,第一种方式的连接建立绑定装置11包括:HTTP请求发起模块110、会话标识分配模块112、会话标识携带模块114、以及连接关联模块116。
HTTP请求发起模块110的输出端连接会话标识分配模块112,会话标识分配模块112的输出端连接会话标识携带模块114,会话标识携带模块114的输出端连接连接关联模块116。
HTTP请求发起模块110中,客户端发起和服务端的第一个TCP连接并发送HTTP请求。HTTP请求中仅包含直播流名称,没有会话标识(Session ID)。
会话标识分配模块112中,服务端发现HTTP请求为新请求时(即无Session ID),则为该请求分配一个全局唯一的会话标识,通过这一会话标识管理第一个连接,并将这一会话标识放入HTTP响应中返回给客户端,此时第一个连接可以同时开始传输FLV流式数据。
会话标识携带模块114中,客户端从HTTP响应中获取会话标识,并连续发起和服务端的第2至N个连接并发送HTTP请求,在HTTP请求中携带直播流名称和会话标识。
连接关联模块116中,服务端处理第2至N个连接及请求,从请求中获取会话标识,通过这一会话标识找到第1个连接,将第2至第N个连接和第1个连接进行关联,每关联一个新的TCP连接,该新的连接加入到FLV流式数据的传输中。
请同时参见图9,第二种方式的连接建立绑定装置11包括:会话标识生成模块111、会话标识携带模块113、以及连接关联模块115。会话标识生成模块111的输出端连接会话标识携带模块113,会话标识携带模块113的输出端连接连接关联模块115。
会话标识生成模块111中,客户端随机生成近似全局唯一的会话标识;
会话标识携带模块113中,客户端连续发起第1至N个连接,在HTTP请求中携带所述会话标识,其中N是自然数。
连接关联模块115中,服务端逐个处理第1至第N个请求,根据每个请求中的会话标识,将第2至N个连接和第1个连接进行关联,每关联一个新的连接,该新的连接加入到FLV流式数据的传输中。
服务端在处理当前的请求时,当发现会话标识为未知标识时,认为该连接为新连接,通过该会话标识来管理该连接,当发现会话标识和其余某个连接的会话标识相同时,即可归入到同一个会话标识进行管理,完成关联。
分散传输装置12中,服务端将流式数据进行分段并分散在已完成绑定的若干个TCP连接中进行数据传输。
拼接播放装置13中,客户端将各个TCP连接收到的分段流式数据拼接起来后进行播放。
基于多条TCP连接的HTTP流媒体直播***的第二实施例
图7示出了本发明的连接建立绑定装置的第二种示例的细化结构。请参见图7,本实施例的HTTP流媒体直播***包括:连接建立绑定装置21、分散传输装置22、连接数量调整装置23、以及拼接播放装置24。连接建立绑定装置21的输出端连接分散传输装置22,分散传输装置22的输出端连接连接数量调整装置23,连接数量调整装置23的输出端连接拼接播放装置24。
连接建立绑定装置21中,客户端发起若干个TCP连接并完成绑定。在客户端和服务端建立多个TCP连接并通过连接绑定技术进行关联。
连接建立绑定装置21的具体实现可以有两种方式,第一种方式如图8所示,第二种方式如图9所示。
请同时参见图8,第一种方式的连接建立绑定装置21包括:HTTP请求发起模块110、会话标识分配模块112、会话标识携带模块114、以及连接关联模块116。
HTTP请求发起模块110的输出端连接会话标识分配模块112,会话标识分配模块112的输出端连接会话标识携带模块114,会话标识携带模块114的输出端连接连接关联模块116。
HTTP请求发起模块110中,客户端发起和服务端的第一个TCP连接并发送HTTP请求。HTTP请求中仅包含直播流名称,没有会话标识(Session ID)。
会话标识分配模块112中,服务端发现HTTP请求为新请求时(即无Session ID),则为该请求分配一个全局唯一的会话标识,通过这一会话标识管理第一个连接,并将这一会话标识放入HTTP响应中返回给客户端,此时第一个连接可以同时开始传输FLV流式数据。
会话标识携带模块114中,客户端从HTTP响应中获取会话标识,并连续发起和服务端的第2至N个连接并发送HTTP请求,在HTTP请求中携带直播流名称和会话标识。
连接关联模块116中,服务端处理第2至N个连接及请求,从请求中获取会话标识,通过这一会话标识找到第1个连接,将第2至第N个连接和第1个连接进行关联,每关联一个新的TCP连接,该新的连接加入到FLV流式数据的传输中。
请同时参见图9,第二种方式的连接建立绑定装置21包括:会话标识生成模块111、会话标识携带模块113、以及连接关联模块115。会话标识生成模块111的输出端连接会话标识携带模块113,会话标识携带模块113的输出端连接连接关联模块115。
会话标识生成模块111中,客户端随机生成近似全局唯一的会话标识;
会话标识携带模块113中,客户端连续发起第1至N个连接,在HTTP请求中携带所述会话标识,其中N是自然数。
连接关联模块115中,服务端逐个处理第1至第N个请求,根据每个请求中的会话标识,将第2至N个连接和第1个连接进行关联,每关联一个新的连接,该新的连接加入到FLV流式数据的传输中。
服务端在处理当前的请求时,当发现会话标识为未知标识时,认为该连接为新连接,通过该会话标识来管理该连接,当发现会话标识和其余某个连接的会话标识相同时,即可归入到同一个会话标识进行管理,完成关联。
分散传输装置22中,服务端将流式数据进行分段并分散在已完成绑定的若干个TCP连接中进行数据传输。
连接数量调整装置23中,在数据传输期间实时根据网络状态的变化动态调整TCP连接的个数。
图10示出了连接数量调整装置23的细化结构。请参见图10,连接数量调整装置23包括:状态检测模块230、连接增加模块231、新增连接关联模块232。状态检测模块230的输出端连接连接增加模块231,连接增加模块231的输出端连接新增连接关联模块232。
状态检测模块230中,客户端动态检测数据的传输状态,以确认是否满足直播播放的需求。检测的方法有很多,如统计所有连接数据的到达速率,与预期码率进行对比。
连接增加模块231中,当传输速率低于直播播放需求时,启动TCP连接动态增加过程,动态增加是指客户端发起若干个新连接并发送HTTP请求,HTTP请求中携带直播流名称以及会话标识。
新增连接关联模块232中,服务端逐个处理新的请求HTTP,并根据会话标识与原有的N个连接进行关联,新关联的连接加入到FLV流式数据的传输中。
拼接播放装置24中,客户端将各个TCP连接收到的分段流式数据拼接起来后进行播放。
上述实施例是提供给本领域普通技术人员来实现和使用本发明的,本领域普通技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书所提到的创新性特征的最大范围。

Claims (10)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310424840.6A CN103457956B (zh) 2013-09-17 2013-09-17 基于多条tcp连接的http流媒体直播方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310424840.6A CN103457956B (zh) 2013-09-17 2013-09-17 基于多条tcp连接的http流媒体直播方法和***

Publications (2)

Publication Number Publication Date
CN103457956A true CN103457956A (zh) 2013-12-18
CN103457956B CN103457956B (zh) 2017-02-08

Family

ID=49739910

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310424840.6A Expired - Fee Related CN103457956B (zh) 2013-09-17 2013-09-17 基于多条tcp连接的http流媒体直播方法和***

Country Status (1)

Country Link
CN (1) CN103457956B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104506493A (zh) * 2014-12-04 2015-04-08 武汉市烽视威科技有限公司 一种实现hls内容回源和缓存的方法
CN104702592A (zh) * 2015-01-08 2015-06-10 三星电子(中国)研发中心 流媒体下载方法和装置
CN105471869A (zh) * 2015-11-23 2016-04-06 珠海全志科技股份有限公司 一种互联网电视内容请求的连接复用方法及***
CN105471760A (zh) * 2014-09-12 2016-04-06 华为技术有限公司 一种路由方法、负载均衡的装置及数据通信***
CN108471344A (zh) * 2018-03-30 2018-08-31 北京奥普维尔科技有限公司 一种基于fpga实现的双向多链接数据发送方法及装置
CN108600012A (zh) * 2018-04-26 2018-09-28 深圳光华普惠科技有限公司 微服务架构监控***
CN110740351A (zh) * 2019-11-14 2020-01-31 普联技术有限公司 一种传输流媒体数据的方法及设备
CN112689011A (zh) * 2020-12-24 2021-04-20 北京浪潮数据技术有限公司 一种基于nfs协议的业务传输方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101827111A (zh) * 2010-05-12 2010-09-08 中兴通讯股份有限公司 Tcp链接方法、网络***、客户端和服务器
WO2011150644A1 (zh) * 2010-12-17 2011-12-08 华为技术有限公司 一种启动阶段的流媒体数据获取、发送方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101827111A (zh) * 2010-05-12 2010-09-08 中兴通讯股份有限公司 Tcp链接方法、网络***、客户端和服务器
WO2011150644A1 (zh) * 2010-12-17 2011-12-08 华为技术有限公司 一种启动阶段的流媒体数据获取、发送方法及装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105471760B (zh) * 2014-09-12 2019-04-05 华为技术有限公司 一种路由方法、负载均衡的装置及数据通信***
CN105471760A (zh) * 2014-09-12 2016-04-06 华为技术有限公司 一种路由方法、负载均衡的装置及数据通信***
CN104506493B (zh) * 2014-12-04 2018-02-27 武汉市烽视威科技有限公司 一种实现hls内容回源和缓存的方法
CN104506493A (zh) * 2014-12-04 2015-04-08 武汉市烽视威科技有限公司 一种实现hls内容回源和缓存的方法
CN104702592B (zh) * 2015-01-08 2018-09-11 三星电子(中国)研发中心 流媒体下载方法和装置
CN104702592A (zh) * 2015-01-08 2015-06-10 三星电子(中国)研发中心 流媒体下载方法和装置
CN105471869A (zh) * 2015-11-23 2016-04-06 珠海全志科技股份有限公司 一种互联网电视内容请求的连接复用方法及***
CN105471869B (zh) * 2015-11-23 2019-05-21 珠海全志科技股份有限公司 一种互联网电视内容请求的连接复用方法及***
CN108471344A (zh) * 2018-03-30 2018-08-31 北京奥普维尔科技有限公司 一种基于fpga实现的双向多链接数据发送方法及装置
CN108471344B (zh) * 2018-03-30 2021-07-02 北京奥普维尔科技有限公司 一种基于fpga实现的双向多链接数据发送方法及装置
CN108600012A (zh) * 2018-04-26 2018-09-28 深圳光华普惠科技有限公司 微服务架构监控***
CN110740351A (zh) * 2019-11-14 2020-01-31 普联技术有限公司 一种传输流媒体数据的方法及设备
CN112689011A (zh) * 2020-12-24 2021-04-20 北京浪潮数据技术有限公司 一种基于nfs协议的业务传输方法、装置、设备及介质
CN112689011B (zh) * 2020-12-24 2023-05-26 北京浪潮数据技术有限公司 一种基于nfs协议的业务传输方法、装置、设备及介质

Also Published As

Publication number Publication date
CN103457956B (zh) 2017-02-08

Similar Documents

Publication Publication Date Title
CN103457956A (zh) 基于多条tcp连接的http流媒体直播方法和***
US20170155928A1 (en) Method, Device and System for Playing Live Video
US20170155695A1 (en) Method, device and system for uploading live video
CN102790925B (zh) 一种在线流媒体播放的方法及点播终端
CN105471869A (zh) 一种互联网电视内容请求的连接复用方法及***
EP3595325A1 (en) Method for realizing multicast and relevant network device
US9628352B2 (en) Method, apparatus and system for downloading file in content delivery network
EP3120523A1 (en) Bandwidth management in a content distribution network
WO2019128800A1 (zh) 一种内容服务的实现方法、装置及内容分发网络节点
US20130219441A1 (en) Method, server and terminal for audio and video on demand
WO2007025474A1 (fr) Systeme de communication de reseau et procede de telechargement de fichier
CN104009938A (zh) 基于路由层面的长连接的方法和***
US20150271226A1 (en) Transport accelerator implementing a multiple interface architecture
CN107612912B (zh) 一种设置播放参数的方法和装置
MX2015002628A (es) Sistema y metodo para entregar un contenido audio-visual a un dispositivo de un cliente.
CN106657143A (zh) 一种流媒体传输方法、装置、服务器及终端
CN108933764A (zh) 一种实现快速起播的方法和装置
WO2017161757A1 (zh) 一种流媒体文件分发方法及***
WO2022166593A1 (zh) 点对点网络调度方法和***
US20150127837A1 (en) Relay apparatus and data transfer method
CN103401946A (zh) Http上传加速方法和***
CN104010001A (zh) 移动终端中同类联网请求进行连接通信的方法和***
CN103731684A (zh) 一种点播到直播的视频切换方法、设备及***
WO2019128692A1 (zh) 一种媒体处理架构及方法
WO2023061060A1 (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
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: 20170208