基于http协议的视频直播方法及系统的制作方法

文档序号:7853498阅读:576来源:国知局
专利名称:基于http协议的视频直播方法及系统的制作方法
技术领域
本发明涉及互联网视频直播技术领域,尤其涉及一种基于HTTP协议的视频直播方法及系统。
背景技术
互联网视频直播是利用互联网将正在播放的视频信号通过特定方法推送用到客户端,并由客户端的播放器将视频信号展示为可视、可听的视频。通常客户端有定制客户端和基于浏览器的瘦客户端两种选择。定制客户端有较高的自由度,视频直播提供方可以使用自己特定的视频传输协议,而瘦客户端通过选用公开的协议,如HTTP (HyerTextTransport Protocal,互联网传输协议),RTSP (Real Time Streaming Protocol,实时流传输协议),RTMP (Real Time Messaging Protocol,实时消息传输协议)等。以现在常用的RTSP技术为例,客户端通过特定端ロ与服务器建立连接,服务器将当前的实时信号推送到 客户端,同时会接收客户端的控制指令,以对输出进行调整。这种方式可能产生的问题是
一、服务器要对客户端的指令进行实时响应,导致服务器负载过高;
ニ、服务器和客户端的逻辑相对复杂;
三、视频信号容错机制低,服务器缓存有限,若客户端发生断流重连,服务器只能从当前最新内容提供服务;
四、服务器的直播内容不会保存,难于用来后期处理;
五、使用专用端ロ,容易被防火墙屏蔽;
六、多机负载均衡架构中,直播源服务器与边缘服务器之间必需保持连接,连接中断会导致服务内容中断。综上可知,现有互联网视频直播技术在实际使用上,显然存在不便与缺陷,所以有必要加以改迸。

发明内容
针对上述的缺陷,本发明的目的在于提供一种基于HTTP协议的视频直播方法及系统,其能够有效提高视频直播流的稳定性,易于进行多机负载均衡,并且为直播视频流的后期备份或处理提供技术保障。为了实现上述目的,本发明提供一种基于HTTP协议的视频直播方法,包括步骤如下
生产步骤,直播源服务器将直播视频流切割成若干切片文件;
同步步骤,边缘服务器通过HTTP协议从所述直播源服务器同步下载所述切片文件;
直播服务步骤,所述边缘服务器将所述若干切片文件组装成一完整文件,并将所述完整文件通过HTTP协议向客户端提供视频直播服务。本发明还提供一种基于HTTP协议的视频直播系统,包括有
至少一直播源服务器,用于将直播视频流切割成若干切片文件;至少ー边缘服务器,用于通过HTTP协议从所述直播源服务器同步下载所述切片文件,并将所述若干切片文件组装成一完整文件后通过HTTP协议向客户端提供视频直播服务。本发明的重点是在直播源服务器上将直播视频流切片,然后通过HTTP协议将各切片文件同步到边缘服务器,再由边缘服务器将若干切片文件组装成一完整文件,并以HTTP协议向客户端提供视频直播服务。借此,本发明能有效提高视频直播流的稳定性,易于进行多机负载均衡,为直播视频流的后期备份或处理提供技术保障;在网络连接可能中断的前提下,既保证了用户观看体验,又简化了系统结构;在非定制的通用客户端上也可以提供服务。本发明适用于互联网视频直播领域,尤其是在高负载以及需要对直播内容进行备份或二次处理,所述二次处理包括但不限于直播转点播,回看,时移等情況。


图I是本发明基于HTTP协议的视频直播系统的结构示意 图2是本发明优选的基于HTTP协议的视频直播系统的结构示意图;· 图3是本发明基于HTTP协议的视频直播方法的流程 图4是本发明直播源服务器的生产流程 图5是本发明边缘服务器的同步流程 图6是本发明边缘服务器的视频直播服务的流程 图7是本发明边缘服务器的视频点播服务的流程图;以及 图8是本发明基于HTTP协议的视频直播系统的优选部署图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进ー步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。图I示出了本发明基于HTTP协议的视频直播系统的结构,所述视频直播系统100与客户端200连接,并且所述视频直播系统100至少包括至少一直播源服务器10和至少ー边缘服务器20,其中
直播源服务器10,用于将直播视频流切割成若干切片文件。边缘服务器20,用于通过HTTP协议从直播源服务器10同步下载切片文件,以此实现直播视频流的分发,并将所下载的切片文件组装成一完整文件后通过HTTP协议向客户端200提供视频直播服务,即边缘服务器20会将小的切片文件输入实时转换为大的完整文件输出。边缘服务器20主要起到直播源服务器10和客户端200之间转换的桥梁作用。更好的是,边缘服务器20可以对客户端200的HTTP请求时所帯的參数对切片文件进行适当的组装,即可支持直播转点播服务。优选的是,边缘服务器20定时向直播源服务器10发送HTTP同步请求,以同步下载更新后的切片文件。边缘服务器20并行处理切片文件的同步和完整文件的视频直播服务,衔接服务器同步与客户端200服务两方面的协议,进而提高视频直播服务的效率。边缘服务器20优选将同步下载的切片文件保存在本地,以便为直播视频流的后期备份或处理提供技术保障。更好的是,本发明视频直播系统100在直播源服务器10和边缘服务器20之间增加设置至少ー级分发服务器30,所述分发服务器30用于通过HTTP协议从直播源服务器10同步下载切片文件;所述边缘服务器20用于通过HTTP协议从分发服务器30同步下载切片文件。分发服务器30主要起到直播源服务器10和边缘服务器20之间的桥梁作用。更好的是,客户端200通过HTTP单连接和HTTP单请求方式,从边缘服务器20中下载完整文件并进行视频直播,即边缘服务器20提供単文件服务模式。本发明的客户端200可以是支持HTTP文件边下载边播放功能的瘦客户端或者定制客户端,即可实现视频直播服务。本发明的目的是提供最通用的HTTP协议直播,瘦客户端自然是支持,而定制客户端只要内嵌标准的HTTP播放器即可实现视频直播功能。本发明的边缘服务器20可向客户端200提供视频直播服务边缘服务器20收到客户端200的HTTP直播请求后,向客户端200推送HTTP结果的头信息,所述头信息包含内 容类型但不包含内容长度,以告诉客户端200这是ー个直播流;边缘服务器20定位到最新的切片文件,并将所述切片文件推送给客户端200 ;边缘服务器20判断是否还有后续切片文件,若有则继续推送后续切片文件,否则执行切片等待流程。本发明的边缘服务器20可向客户端200提供视频点播服务边缘服务器20收到客户端200的HTTP点播请求后,根据所述HTTP点播请求中的点播起始时间和点播结束时间,分析HTTP点播请求对应的完整文件;边缘服务器20向客户端200推送HTTP结果的头信息,所述头信息包含内容类型和内容长度,以告诉客户端200这是ー个点播流;边缘服务器20根据点播起始时间定位到指定的切片文件,并将所述切片文件推送给客户端200 ;边缘服务器20判断是否还有后续切片文件;若有则继续定位和推送后续切片文件,否则关闭HTTP连接。本发明中直播源服务器10和边缘服务器20之间传输的是小的切片文件,而边缘服务器20与客户端200之间传输的是大的完整文件,正因为边缘服务器20会把切片文件组合成ー个合法的完整文件,因此客户端200不用改編程序,就可使用任意通用播放器实现视频直播,其有利于推广和应用。图2是本发明优选的基于HTTP协议的视频直播系统的结构示意图,所述视频直播系统100至少包括直播源服务器10和边缘服务器20,其中
所述直播源服务器10进ー步包括
接收模块11,用于接收直播视频流;
切片生成模块12,用于将直播视频流转码并按预定时长切割成若干切片文件;
索引生成模块13,用于将直播视频流的描述信息和切片文件的时间顺序信息保存到索引文件;
服务模块14,用于将所述索引文件和切片文件通过HTTP协议对外服务。所述边缘服务器20进ー步包括
索引下载模块21,用于向直播源服务器10发送第一 HTTP同步请求,以下载索引文件;比较模块22,用于将索引文件与本地已下载的切片文件进行比较,判断是否有増量切片文件;
切片下载模块23,用于在有増量切片文件时,向直播源服务器10发送第二 HTTP同步请求,以下载增量切片文件并保存到本地,以便为直播视频流的后期备份或处理提供技术保障。
通知模块25,用于在无増量切片文件时,通知直播流服务进程新的切片文件就緒。更好的是,所述视频直播系统100还包括转封装模块24,所述转封装模块24用于在所述增量切片文件被下载后,将增量切片文件转封装成预定的视频文件格式后保存到本地。图3是本发明基于HTTP协议的视频直播方法的流程图,所述方法可由如图I所示的视频直播系统100实现,至少包括步骤如下 步骤S301为生产步骤直播源服务器10将直播视频流切割成若干切片文件。步骤S302为同步步骤边缘服务器20通过HTTP协议从直播源服务器10同步下载切片文件。优选的是,边缘服务器20定时向直播源服务器10发送HTTP同步请求,以同步下载更新后的切片文件。更好的是,本发明视频直播系统100在直播源服务器10和边缘服务器20之间增加设置至少ー级分发服务器30,所述分发服务器30通过HTTP协议从直播源服务器10同步下载切片文件;边缘服务器20再通过HTTP协议从分发服务器30同步下载切片文件。步骤S303为直播服务步骤,边缘服务器20将若干切片文件组装成一完整文件,并将完整文件通过HTTP协议向客户端200提供视频直播服务。所述客户端200为支持HTTP文件边下载边播放功能的瘦客户端或者定制客户端。优选的是,客户端200通过HTTP单连接和HTTP单请求方式,从边缘服务器20中下载完整文件并进行视频直播。边缘服务器20优选将同步下载的切片文件保存在本地,以便为直播视频流的后期备份或处理提供技术保障。更好的是,边缘服务器20并行处理上述同步步骤和直播服务步骤。图4是本发明直播源服务器10的生产流程图,包括步骤如下
步骤S401,直播源服务器10接收直播视频流。步骤S402,直播源服务器10将所接收的直播视频流转码并按预定时长切割成若干切片文件并保存。所述预定时长推荐10秒,并要求每个切片文件的第一个视频帧必需为关键中贞。步骤S403,直播源服务器10将直播视频流的描述信息和切片文件的时间顺序信息保存到一索引文件中。步骤S404,直播源服务器10将所述索引文件和切片文件通过HTTP协议对外服务。图5是本发明边缘服务器的同步流程图,包括步骤如下
步骤S501,边缘服务器20向直播源服务器10发送第一 HTTP同步请求,以下载索引文件。优选的是,边缘服务器20定时发送第一 HTTP同步请求,即可定时从直播源服务器10同步切片文件。步骤S502,边缘服务器20读取所述索引文件,并将所述索引文件与本地已下载的切片文件进行比较,优选将索弓I文件中的切片文件名与已经下载到本地的切片文件名进行比较,判断是否有新的増量切片文件,若是则执行步骤S503,否则执行步骤S504。步骤S503,若有增量切片文件,边缘服务器20向直播源服务器10发送第二 HTTP同步请求,以下载增量切片文件并保存到本地,以便为直播视频流的后期备份或处理提供技术保障。步骤S504,根据需求将所述増量切片文件转封装成预定的视频文件格式后保存到本地,此步骤可选。所述转封装是指不改变视频流编码和音频流编码,而只将媒体封装结构改为其它格式。比如将Mpeg2 TSCTransport Stream,传输流)封装改为FLV(Flash Video,ー种由Adobe提出的广泛用于Flash的视频格式)封装。步骤S505,若无增量切片文件,边缘服务器20通知直播流服务进程新的切片文件就绪。步骤S506,等待下ー个更新时间点。具体而言,依据切片时间和步骤S501 S505总花费的时间计算下ー个更新时间点并等待,其是出于服务器程序性能的考虑。因为本发明选择的直播源特性每过一段相对固定的时间生成ー个切片文件,边缘服务器20完成一次同步后,在直播源服务器10生成下ー个切片的时间内将同步不到任何切片文件,所以可优化为上一次同步并处理完成之后等待一段时间,这个时间的选择推荐是直播源服务器10生成切片的间隔的一半。例如直播源服务器10设定为10秒生成ー个切片文件,边缘服务器20上次同步开始时间是10:00:00,下载完成时间10:00:01,转封装完成时间10:00:02,边缘服务器20设定5秒同步一次直播源,那么转封装完成后就会等待3秒,直到10:00:05开始下一次同歩。
图6是本发明边缘服务器的视频直播服务的流程图,包括步骤如下
步骤S601,边缘服务器20收到客户端200的HTTP直播请求。步骤S602,边缘服务器20向客户端200推送HTTP结果的头信息,所述头信息主要包含返回代码200、内容类型(Content-Type),所述内容类型对应的是视频文件类型,但不能包含内容长度(Content-Length),用于告诉客户端200这是ー个直播流。步骤S603,推送视频封装头,本步骤为可选步骤。根据封装格式的要求,推送ー个视频封装的头信息,也不排除封装格式不需要头信息的情況。是否推送视频封装头这由所选择的封装格式所決定的,比如FLV封装格式就要求必需要有ー个13个字节的头信息,而TS封装格式就没有这样的要求。步骤S604,边缘服务器20定位到最新的切片文件。根据步骤S505所传达的信息,定位到最新的一个直播切片文件。步骤S605,边缘服务器20将所述切片文件推送给客户端200。步骤S606,边缘服务器20判断是否还有后续切片文件,若有则返回到步骤S605,继续推送后续切片文件。步骤S607,若已无后续切片文件,则执行切片等待流程。具体而言,依据切片时间和步骤S605-步骤S606所花费的时间计算并等待时间,如果等待期间被步骤S505通知有新切片产生,可立即中断等待过程,进行步骤S606。如果客户端200的网速很快,下载ー个切片文件的时间可能小于切片文件的播放时间,而此时,直播源服务器10在下一次同步之前,没有新的流可以提供,此时边缘服务器20的选择是保持连接并等待,而同时,切片同步与直播流服务是并行执行的,所以边缘服务器20可以每隔一小段时间去检查切片同步线程是否有新的切片产生。比如每等待I秒钟就向同步的线程查询一次是否更新。等待是为了避免过多的查询而影响系统性能。而同步线程在有新的切片产生之后也可结束直播流服务线程的等待,进而使得用户能尽可能快的获得服务。图7是本发明边缘服务器的视频点播服务的流程图,包括步骤如下
步骤S701,边缘服务器20收到客户端200的HTTP点播请求。
步骤S702,边缘服务器20根据HTTP点播请求中的点播起始时间和点播结束时间,分析HTTP点播请求对应的完整文件。边缘服务器20可以从HTTP点播请求的參数中获取点播起始时间和点播结束时间,并计算本次点播需要返回的数据的大小,包含视频头信息的大小和所有在请求时间段内的切片文件的大小。步骤S703,边缘服务器20向客户端200推送HTTP结果的头信息,所述头信息包含内容类型和内容长度。所述头信息主要包含返回代码200、内容类型(Content-Type)和内容长度(Content-Length),所述内容长度为步骤S702计算得出的总大小,用于告诉客户端200这是ー个点播流。 步骤S704,推送视频封装头,本步骤为可选步骤。根据封装格式的要求,推送ー个封装的头信息,也不排除封装格式不需要头信息的情況。步骤S705,边缘服务器20根据点播起始时间定位到指定的切片文件。根据步骤S505所传达的信息和步骤S702的点播起始时间定位到指定的切片文件。步骤S706,边缘服务器20将切片文件推送给客户端200。步骤S707,边缘服务器20判断是否还有后续切片文件。若有则执行步骤S708,否则执行步骤S709。具体是根据步骤S505所传达的信息和步骤S702的点播结束时间来判断当前所推送的切片文件是否是本次HTTP点播请求的最后ー个切片文件。步骤S708,若还有后续切片文件,则定位下ー个切片文件,并返回到步骤S706,以继续推送后续切片文件。步骤S709,若已无后续切片文件,则表示本次HTTP点播请求完成,关闭HTTP连接。图8是本发明基于HTTP协议的视频直播系统的优选部署图,本实施例中视频直播系统包括两台直播源服务器、两台分发服务器以及三台边缘服务器。一、直播源服务器
两台直播源服务器实时接收UDP (User Datagram Protocol用户数据包协议)组播信号流,输入格式为Mpeg TS封装;视频格式为H264 (—种MPEG-4标准所定义的视频编码格式)编码,分辨率720x576,每秒51. 28帧,码率2. 5mb/s ;音频格式为MP2 (MPEG AudioLayer-2, ー种MPEG-I音频标准所定义的音频编码格式)编码,采样率44. 1kHz,单声道,16位精度,码率128kb/s。转码程序将信号流转码为MpegTS封装;视频格式为H264编码,分辨率 720x576,姆秒 51. 28 中贞,码率 2. 5mb/s ;音频格式为 AAC (Advanced Audio Coding 高级音频编码),采样率44. 1kHz,双声道,16位精度,码率96kb/s。并且在每十秒之后的第一个关键帧之前切分,按顺序生成切片文件N. ts,N为自然数,如I. ts,2. ts, 3.ts等。同时生成索引文件live, index,索引文件第一行包含ー个切片文件的序号,时间和文件名信息,如
#live. index
1,2011-12-15 10:00:00,I. ts2,2011-12-15 10:00:10,2. ts3,2011-12-15 10:00:20,3. ts
两台直播源服务器互为热备份,将生成的切片文件和索引文件对外提供HTTP下载服务。但本发明并不排斥使用其他的视频音频格式,转码切片文件的方法,以及索引文件的格式,其他的方法与本发明的基本原理和新颖性不加抵触,可以视为另ー个实施案例。
ニ、分发服务器
两台分发服务器每十秒从两台直播源服务器其中之ー下载索引文件和切片文件存在本地,并对外提供HTTP下载服务。分发服务器在高负载的情况下可以有效的分担直播源服务器和边缘服务器的压力,提高系统的稳定性和抗压性。从两台直播源服务器上同步数据时只要有一台服务器能正常服务,分发服务器就能正常服务,提高系统可靠性。使用分发服务器只是为了増加系统层次,提升性能,但本发明并不排斥边缘服务器直接从直播源服务器同步或者有两层或者更多层分发服务器的情况,其他的方法与本发明的基本原理和新颖性不加抵触,可以视为另ー个实 施案例。三、边缘服务器
本案例的边缘服务器提供MpegTS和FLV两种视频流格式以及直播和直播转点播服务。本发明并不排斥其它的视频封装格式进行服务,其他的方法与本发明的基本原理和新颖性不加抵触,可以视为另一个实施案例。边缘服务器每十秒从分发服务器上下载索引文件和切片文件,同步将下载到的MpegTS封装的扩展名为.ts的切片文件转封装成FLV封装,保持视频和音频格式不变,在文件名后加.flv结尾保存在与原文件相同的目录下。当客户端发起HTTP请求到边缘服务器,先根据客户端请求的地址,若是以.ts结尾,则返回ts格式视频流,若是以.flv结尾,则返回flv格式视频流。请求參数中如果包含start (起始时间)和end (结束时间),则进入直播转点播服务流程,否则进入直播服务流程。格式直播流程HTTP返回头中Content-Type 为 video/MP2T,不含Content-Length信息,无需推送封装头信息,服务程序选取扩展名为.ts的切片文件依次推送。格式直播流程HTTP返回头中 Content-Type 为 video/flv,不含 Content-Length信息,推送 13 个字节的 flv 封装头0x46 0x4c 0x56 OxOl 0x05 0x00 0x00 0x00 0x090x00 0x00 0x00 0x00 (FLV格式,版本号为1,包含视频和音频),服务程序选取扩展名为· ts. flv的切片文件依次推送。格式直播转点播流程HTTP返回头中Content-Type为video/MP2T,将參数中的start和end与索引文件中的时间进行比对,选择出所有在时间段内的切片文件,计算出这些文件的总长度L,将返回头中的Content-Length设置为L,无需推送封装头信息,将这些切片文件依次推送。格式直播转点播流程HTTP返回头中Content-Type为video/flv,将參数中的start和end与索引文件中的时间进行比对,选择出所有在时间段内的切片文件,计算出这些文件的总长度L,将返回头中的Content-Length设置为L+13(13为flv封装头的长度),推送 13 个字节的 flv 封装头0x46 0x4c 0x56 0x01 0x05 0x00 0x00 0x00 0x09 0x000x00 0x00 0x00,将这些切片文件所对应的.ts. flv文件依次推送。综上所述,本发明的重点是在直播源服务器上将直播视频流切片,然后通过HTTP协议将各切片文件同步到边缘服务器,再由边缘服务器将若干切片文件组装成一完整文件,并以HTTP协议向客户端提供视频直播服务。借此,本发明能有效提高视频直播流的稳定性,易于进行多机负载均衡,为直播视频流的后期备份或处理提供技术保障;在网络连接可能中断的前提下,既保证了用户观看体验,又简化了系统结构;在非定制的通用客户端上也可以提供服务。本发明适用于互联网视频直播领域,尤其是在高负载以及需要对直播内容进行备份或二次处理,所述二次处理包括但不限于直播转点播,回看,时移等情況。当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变 形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种基于HTTP协议的视频直播方法,其特征在于,包括步骤如下 生产步骤,直播源服务器将直播视频流切割成若干切片文件; 同步步骤,边缘服务器通过HTTP协议从所述直播源服务器同步下载所述切片文件; 直播服务步骤,所述边缘服务器将所述若干切片文件组装成一完整文件,并将所述完整文件通过HTTP协议向客户端提供视频直播服务。
2.根据权利要求I所述的视频直播方法,其特征在于,所述同步步骤包括所述边缘服务器定时向所述直播源服务器发送HTTP同步请求,以同步下载更新后的所述切片文件。
3.根据权利要求I所述的视频直播方法,其特征在于,所述同步步骤进一歩包括 分发服务器通过HTTP协议从所述直播源服务器同步下载所述切片文件; 所述边缘服务器通过HTTP协议从所述分发服务器同步下载所述切片文件。
4.根据权利要求I所述的视频直播方法,其特征在于,所述边缘服务器并行处理所述同步步骤和所述直播服务步骤。
5.根据权利要求I所述的视频直播方法,其特征在干,所述直播服务步骤包括所述客户端通过HTTP单连接和HTTP单请求方式,从所述边缘服务器中下载所述完整文件并进行视频直播。
6.根据权利要求I所述的视频直播方法,其特征在于,所述直播服务步骤包括 所述边缘服务器收到所述客户端的HTTP直播请求后,向所述客户端推送HTTP结果的头信息,所述头信息包含内容类型但不包含内容长度; 所述边缘服务器定位到最新的切片文件; 所述边缘服务器将所述切片文件推送给所述客户端; 所述边缘服务器判断是否还有后续切片文件; 若有则继续推送后续切片文件,否则执行切片等待流程。
7.根据权利要求I所述的视频直播方法,其特征在于,所述直播服务步骤包括 所述边缘服务器收到所述客户端的HTTP点播请求后,根据所述HTTP点播请求中的点播起始时间和点播结束时间,分析所述HTTP点播请求对应的所述完整文件; 所述边缘服务器向所述客户端推送HTTP结果的头信息,所述头信息包含内容类型和内容长度; 所述边缘服务器根据所述点播起始时间定位到指定的切片文件; 所述边缘服务器将所述切片文件推送给所述客户端; 所述边缘服务器判断是否还有后续切片文件; 若有则继续定位和推送后续切片文件,否则关闭HTTP连接。
8.根据权利要求I所述的视频直播方法,其特征在于,所述客户端为支持HTTP文件边下载边播放功能的瘦客户端或者定制客户端。
9.根据权利要求Γ8任ー项所述的视频直播方法,其特征在于,所述切片步骤进一歩包括 所述直播源服务器接收直播视频流; 所述直播源服务器将所述直播视频流转码并按预定时长切割成若干切片文件; 所述直播源服务器将所述直播视频流的描述信息和所述切片文件的时间顺序信息保存到索引文件;所述直播源服务器将所述索引文件和切片文件通过HTTP协议对外服务; 所述同步步骤进一歩包括 所述边缘服务器向所述直播源服务器发送第一 HTTP同步请求,以下载所述索引文件; 所述边缘服务器将所述索引文件与本地已下载的切片文件进行比较,判断是否有増量切片文件; 若有所述增量切片文件,所述边缘服务器向所述直播源服务器发送第二 HTTP同步请求,以下载所述増量切片文件并保存到本地; 若无所述増量切片文件,所述边缘服务器通知直播流服务进程新的切片文件就緒。
10.根据权利要求9所述的视频直播方法,其特征在于,所述下载増量切片文件的步骤还包括 所述边缘服务器下载所述増量切片文件; 将所述増量切片文件转封装成预定的视频文件格式后保存到本地。
11.一种基于HTTP协议的视频直播系统,其特征在于,包括有 至少一直播源服务器,用于将直播视频流切割成若干切片文件; 至少ー边缘服务器,用于通过HTTP协议从所述直播源服务器同步下载所述切片文件,并将所述若干切片文件组装成一完整文件后通过HTTP协议向客户端提供视频直播服务。
12.根据权利要求11所述的视频直播系统,其特征在于,所述边缘服务器定时向所述直播源服务器发送HTTP同步请求,以同步下载更新后的所述切片文件。
13.根据权利要求11所述的视频直播系统,其特征在于,还包括 至少一分发服务器,用于通过HTTP协议从所述直播源服务器同步下载所述切片文件; 所述边缘服务器,用于通过HTTP协议从所述分发服务器同步下载所述切片文件。
14.根据权利要求11所述的视频直播系统,其特征在于,所述边缘服务器并行处理所述切片文件的同步和所述完整文件的视频直播服务。
15.根据权利要求11所述的视频直播系统,其特征在于,所述客户端通过HTTP单连接和HTTP单请求方式,从所述边缘服务器中下载所述完整文件并进行视频直播。
16.根据权利要求11所述的视频直播系统,其特征在于,所述边缘服务器收到所述客户端的HTTP直播请求后,向所述客户端推送HTTP结果的头信息,所述头信息包含内容类型但不包含内容长度;所述边缘服务器定位到最新的切片文件,并将所述切片文件推送给所述客户端;所述边缘服务器判断是否还有后续切片文件,若有则继续推送后续切片文件,否则执行切片等待流程。
17.根据权利要求11所述的视频直播系统,其特征在于,所述边缘服务器收到所述客户端的HTTP点播请求后,根据所述HTTP点播请求中的点播起始时间和点播结束时间,分析所述HTTP点播请求对应的所述完整文件;所述边缘服务器向所述客户端推送HTTP结果的头信息,所述头信息包含内容类型和内容长度;所述边缘服务器根据所述点播起始时间定位到指定的切片文件,并将所述切片文件推送给所述客户端;所述边缘服务器判断是否还有后续切片文件;若有则继续定位和推送后续切片文件,否则关闭HTTP连接。
18.根据权利要求11所述的视频直播系统,其特征在于,所述客户端为支持HTTP文件边下载边播放功能的瘦客户端或者定制客户端。
19.根据权利要求If18任一项所述的视频直播系统,其特征在于,所述直播源服务器进ー步包括 接收模块,用于接收直播视频流; 切片生成模块,用于将所述直播视频流转码并按预定时长切割成若干切片文件; 索引生成模块,用于将所述直播视频流的描述信息和所述切片文件的时间顺序信息保存到索引文件; 服务模块,用于将所述索引文件和切片文件通过HTTP协议对外服务; 所述边缘服务器进一歩包括 索引下载模块,用于向所述直播源服务器发送第一 HTTP同步请求,以下载所述索引文件; 比较模块,用于将所述索引文件与本地已下载的切片文件进行比较,判断是否有増量切片文件; 切片下载模块,用于在有所述增量切片文件吋,向所述直播源服务器发送第二 HTTP同步请求,以下载所述增量切片文件并保存到本地; 通知模块,用于在无所述增量切片文件时,通知直播流服务进程新的切片文件就緒。
20.根据权利要求19所述的视频直播系统,其特征在于,所述边缘服务器还包括转封装模块,用于在所述增量切片文件被下载后,将所述増量切片文件转封装成预定的视频文件格式后保存到本地。
全文摘要
本发明提供了一种基于HTTP协议的视频直播方法及系统,所述视频直播方法包括步骤有直播源服务器将直播视频流切割成若干切片文件;边缘服务器通过HTTP协议从所述直播源服务器同步下载所述切片文件;所述边缘服务器将所述若干切片文件组装成一完整文件,并将所述完整文件通过HTTP协议向客户端提供视频直播服务。借此,本发明能够有效提高视频直播流的稳定性,易于进行多机负载均衡,并且为直播视频流的后期备份或处理提供技术保障。
文档编号H04N21/2318GK102710966SQ20121019341
公开日2012年10月3日 申请日期2012年6月13日 优先权日2012年6月13日
发明者潘敬华 申请人:百视通网络电视技术发展有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1