基于cdn的流媒体触发式切片点播系统和方法

文档序号:7889819阅读:209来源:国知局
专利名称:基于cdn的流媒体触发式切片点播系统和方法
技术领域
本发明涉及流媒体点播技术领域,尤其涉及一种基于CDN的流媒体触发式切片点播系统和方法。
背景技术
随着互联网技术的飞速发展,越来越多的信息如影视、音乐等逐渐以网络作为传播的媒介。流媒体指以流方式在网络中传送音频、视频和多媒体文件的媒体形式。相对于下载后观看的网络播放形式而言,流媒体的典型特征是把连续的音频和视频信息压缩后放到网络服务器上,用户边下载边观看,而不必等待整个文件下载完毕。由于流媒体服务器流媒体技术的优越性,该技术广泛应用于视频点播、视频会议、远程教育、远程医疗和在线直播系统中。作为新一代互联网应用的标志,流媒体技术在近几年得到了飞速的发展。而流媒体服务器又是流媒体应用的核心系统,是运营商向用户提供视频服务的关键平台。其主要功能是对媒体内容进行采集、缓存、调度和传输播放,流媒体应用系统的主要性能体现都取决于媒体服务器的性能和服务质量。因此,流媒体服务器是流媒体应用系统的基础,也是最主要的组成部分。流媒体服务器的主要功能是以流式协议(RTP/RTSP、MMS、RTMP等)将视频文件传输到客户端,供用户在线观看;也可从视频采集、压缩软件接收实时视频流,再以流式协议直播给客户端。流媒体点播需要在客户端与媒体服务器之间需要建立一个单独的数据通道,从一台服务器送出的每个数据包只能传送给一个客户机,这种传送方式称为单播。每个用户必须分别对媒体服务器发送单独的查询,而媒体服务器必须向每个用户发送所申请的数据包拷贝。这种巨大冗余首先造成服务器沉重的负担,响应需要很长时间,甚至停止播放;管理人员也被迫购买硬件和带宽来保证一定的服务质量。在网上进行流媒体传输,所传输的文件必须制作成适合流媒体传输的流媒体格式文件。因这通常格式存储的多媒体文件容量十分大,若要在现有的窄带网络上传输则需要花费十分长的时间,若遇网络繁忙,还将造成传输中断。另外,通常格式的流媒体也不能按流媒体传输协议进行传输。因此,对需要进行流媒体格式传输的文件应进行预处理,将文件压缩生成流媒体格式文件。这里应注意两点一是选用适当的压缩算法进行压缩,这样生成的文件容量较小。二是需要向文件中添加流式信息。现有的技术中,存在以下缺点1、人工干预切片,不灵活;2、下载完整的视频文件,浪费磁盘3、渐进下载方式,浪费带宽,流控不好
发明内容
针对上述技术方案中的缺点,本发明提供一种基于CDN的流媒体触发式切片点播系统和方法,该方法支持触发式切片,不需人工干预,对文件进行切片处理时,无需缓存整个视频文件。本发明提供了一种基于⑶N的流媒体触发式切片点播系统,包括至少一个客户端、Cache服务器以及流媒体服务器;所述客户端,用于获取指定格式的流媒体文件,并向Cache服务器发送所述获取流媒体文件请求;所述Cache服务器,用于根据接收到的所述获取流媒体文件请求,判断是否存储有对应所述指定格式的流媒体文件的切片文件;当所述Cache服务器判断出没有存储对应所述指定格式的流媒体文件的切片文件时,所述流媒体服务器用于根据所述获取流媒体文件请求,触发所述流媒体服务器中的切片点播服务器自动生成对应所述获取流媒体文件请求的切片文件,并发送给对应的客户端;当所述Cache服务器判断出存储对应所述指定格式的流媒体文件的切片文件时, 将对应的所述切片文件发送给对应的客户端。本发明还提供一种基于⑶N的流媒体触发式切片点播方法,包括以下步骤客户端发送获取流媒体文件的请求;Cache服务器根据接收的所述获取流媒体文件请求,判断是否存储有对应所述指定格式的流媒体文件的切片文件;当所述Cache服务器判断出没有存储对应所述指定格式的流媒体文件的切片文件时,所述流媒体服务器用于根据所述获取流媒体文件请求,触发所述流媒体服务器中的切片点播服务器自动生成对应所述获取流媒体文件请求的切片文件,并发送给对应的客户端。本发明与现有技术相对比,具有以下优点本发明提供了一种基于CDN的流媒体触发式切片点播系统和方法,其中,本发明中流媒体服务器通过在其中嵌入切片程序模块,一旦触发,则自动调用切片程序对文件进行处理。切片程序按照关键帧或时间等方式进行切片生成虚拟文件存储,处理速度快,并且支持多平台终端;当客户端首次访问时,调用切片程序将流媒体文件按照关键帧序列生成对应的切片文件,本发明处理生成切片文件的速度快,对于短视频文件(几秒到几分钟的文件),本发明仅需要毫秒量级;对于大视频文件(几小时的文件),本发明需要的切片时间也只有数秒钟,本发明基于CDN的流媒体触发式切片点播系统节约了磁盘空间,并且在用户访问切片文件时,无需下载整个视频文件,节省带宽,且流控好。


图1为本发明系统的实施例一的结构框图;图2为本发明系统中切片点播服务器的结构示意图;图3为本发明系统的实施例二的流程图;图4为本发明方法的实施例一的流程图5为本发明方法的实施例ニ的流程图。
具体实施例方式本发明提供一种基于CDN的流媒体触发式切片点播系统和方法,该方法支持触发式切片,不需人工干预;对文件进行切片处理时,无需缓存整个视频文件,节约了磁盘空间, 并且在用户访问切片文件时,无需下载整个视频文件,节省带宽,且流控好。下面结合具体实施例及附图对本发明的技术方案进行详细描述如图1所示,为本发明系统实施例一的结构框图,包括至少ー个客户端、Cache服务器以及流媒体服务器,具体以ー个客户端时为例客户端11,用于获取指定格式的流媒体文件,井向Cache服务器发送所述获取流媒体文件的请求;Cache服务器12,用于根据接收到的所述获取流媒体文件的请求,判断是否存储有对应所述指定格式的流媒体文件的切片文件;当Cache服务器12判断出没有存储对应所述指定格式的流媒体文件的切片文件吋,流媒体服务器13用于根据所述获取流媒体文件的请求,触发流媒体服务器13中的切片点播服务器131自动生成对应所述获取流媒体文件的请求的切片文件,并发送给对应的客户端11;当Cache服务器12判断出存储对应所述指定格式的流媒体文件的切片文件吋,直接将对应的所述切片文件发送给对应的客户端11。如图2所示,为本发明系统流媒体服务器中切片点播服务器的结构示意图,包括第一获取单元21,用于获取所述获取流媒体文件的请求中的流媒体文件的格式类型;查找单元22,用于根据获取的对应所述流媒体文件的格式类型,查找本地是否存储相应文件格式的切片存放目录;发送单元23,用于将所述切片存放目录下对应所述流媒体文件切片文件发送给对应的客户端。当根据获取的对应所述流媒体文件的格式类型,没有查找到本地存储有相应文件格式的切片存放目录,所述切片点播服务器,还包括第二获取单元对,用于获取对应所述流媒体文件的原始流媒体文件格式信息,并获取所述文件格式信息中的头信息,所述文件格式信息中的头信息中至少含有对应每个视频帧及音频帧大小、位置和关键帧信息;生成切片単元25,用于按照获取所述文件格式信息中的头信息中的所述关键帧为序列的起始进行技术触发切片,并重新組合视频文件,生成包含有音视频数据的切片文件。存储单元沈,用于将生成的包含有音视频数据的切片文件对应的存储在所述切片存放目录下。建立对应关系単元27,用于将所述音视频数据的切片文件与描述切片文件之间组织关系的对应文件建立一一对应的关系,并存储在所述切片存放目录下。如图3所示,为本发明系统的实施例ニ的结构示意图,包括流媒体服务器31、支撑系统32、Cache服务器33、客户端34,在本发明实施例中,流媒体服务器一台或多台采用CN 102547478 A
HTTP协议来提供点播服务的服务器,流媒体服务器31存储有客户源站文件,如mp4、f4v格式的视频文件,通过在其apache中嵌入ー个切片点播服务器,当客户端34首次访问时,调用相应的切片程序将流媒体文件按照关键帧生成虚拟文件。客户端34发送请求中的流媒体文件URL格式为http://流媒体服务器IP 端ロ 号/目录/虚拟文件名。其中,目录下对应存放切片程序生成的切片文件,包括音视频文件,以及以XML形式的解析文件;目录名为.ssm。为适应不同的用户平台,用户请求流媒体文件吋,虚拟文件名略有不同对于apple平台,文件后缀名为.m;3u8 ;对于Adobe Flash平台,文件后缀名为.f^m ;对于Microsoft Silverlight平台,文件后缀名为.ismc。访问请求通过HTTP协议由客户端34发送到Cache服务器33,当首次访问吋, Cache服务器33中没有对应的文件,则根据所述请求查询流媒体服务器31 ;当不是首次访问时,则直接将数据返回给客户端34。支撑系统32为整个系统提供设备配置信息以及频道配置信息,它包括支撑中央服务器321、网管系统322以及数据库323流媒体服务器31中的触发切片服务器按照预定时间间隔向支撑系统32中的支撑中央服务器321发送用于请求与所述域名信息对应的配置信息的获取请求消息;并接收支撑中央服务器321根据所述获取请求消息返回的与所述域名信息对应的配置信息,所述配置信息为客户端;34通过提供的应用程序编程接ロ设置的配置信息,或者为预先设置在支撑中央服务器321中的默认配置。CACHE服务器33,可以支持分层的树形架构,包括上层FC331以及下层FC332,用以缓解单层的时候回源站的压力。如图4所示,为本发明方法实施例一的流程图,包括Sl 客户端发送获取流媒体文件的请求;S2 =Cache服务器根据接收的所述获取流媒体文件的请求,判断是否存储有对应所述指定格式的流媒体文件的切片文件;当所述Cache服务器判断出没有存储对应所述指定格式的流媒体文件的切片文件时,执行步骤S3 所述流媒体服务器用于根据所述获取流媒体文件的请求,触发所述流媒体服务器中的切片点播服务器自动生成对应所述获取流媒体文件的请求的切片文件,并发送给对应的客户端;当所述Cache服务器判断出存储对应所述指定格式的流媒体文件的切片文件吋, 执行步骤S4 将对应的所述切片文件发送给对应的客户端。图5为本发明方法的实施例ニ的流程图,步骤S3 所述流媒体服务器用于根据所述获取流媒体文件的请求,触发所述流媒体服务器中的切片点播服务器自动生成对应所述获取流媒体文件的请求的切片文件,具体包括S31 获取所述获取流媒体文件的请求中的流媒体文件的格式类型;S32 根据获取的对应所述流媒体文件的格式类型,查找本地是否存储相应文件格式的切片存放目录;若本地存储有相应文件格式的切片存放目录,执行步骤S33 将所述切片存放目录下对应所述流媒体文件切片文件发送给对应的客户端;如没有存储相应文件格式的切片存放目录,执行步骤S34:获取对应所述流媒体文件的原始流媒体文件格式信息,并获取所述文件格式信息中的头信息,所述文件格式信息中的头信息中至少含有对应每个视频帧及音频帧大小、位置和关键帧信息;S35:按照获取所述文件格式信息中的头信息中的所述关键帧为序列的起始进行技术触发进行切片,并重新組合视频文件,生成包含有音视频数据的切片文件;具体包括按照获取所述文件格式信息中的头信息中的所述关键帧为序列的起始进行技术触发进行切片;重新組合视频文件对应的头信息,将两个关键帧之间的信息插入关键信息,并同时记录每个关键帧信息的索引;切片信息文件表述切片文件的关键信息包含流媒体文件的头信息、帧信息、时长、码率、视频音频格式信息。生成包含有音视频数据的切片文件。S36 将生成的所述切片文件发送给对应的客户端。进ー步的,所述按照获取所述文件格式信息中的头信息中的所述关键帧为序列的起始进行技术触发切片,并重新組合视频文件,生成包含有音视频数据的切片文件之后,还包括将生成的包含有音视频数据的切片文件对应的存储在所述切片存放目录下。具体包括将所述音视频数据的切片文件与描述切片文件之间组织关系的对应文件建立一一对应的关系,并存储在所述切片存放目录下。本发明实施例与现有技术相比,具有以下优点本发明提供了一种基于CDN的流媒体触发式切片点播系统和方法,其中,本发明中流媒体服务器通过在其中嵌入切片程序模块,一旦触发,则自动调用切片程序对文件进行处理。切片程序按照关键帧或时间等方式进行切片生成虚拟文件存储,处理速度快,并且支持多平台终端;当客户端首次访问时,调用切片程序将流媒体文件按照关键帧序列生成对应的切片文件,本发明处理生成切片文件的速度快,对于短视频文件(几秒到几分钟的文件),本发明仅需要毫秒量级;对于大视频文件(几小时的文件),本发明需要的切片时间也只有数秒钟,本发明基于CDN的流媒体触发式切片点播系统节约了磁盘空间,并且在用户访问切片文件时,无需下载整个视频文件,节省带宽,且流控好。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本发明是參照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每ー 流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生ー个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图ー个流程或多个流程和/或方框图ー个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图ー个流程或多个流程和/或方框图ー个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图ー个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种基于⑶N的流媒体触发式切片点播系统,其特征在于,包括至少一个客户端、 Cache服务器以及流媒体服务器;所述客户端,用于获取指定格式的流媒体文件,并向所述Cache服务器发送所述获取流媒体文件请求;所述Cache服务器,用于根据接收到的所述获取流媒体文件请求,判断是否存储有对应所述指定格式的流媒体文件的切片文件;当所述Cache服务器判断出没有存储对应所述指定格式的流媒体文件的切片文件时, 所述流媒体服务器用于根据所述获取流媒体文件请求,触发所述流媒体服务器中的切片点播服务器生成对应获取的所述流媒体文件请求的切片文件,并发送给对应的客户端;当所述Cache服务器判断出存储有对应所述流媒体文件指定格式的切片文件时,将对应的所述切片文件发送给对应的客户端。
2.根据权利要求1所述的系统,其特征在于,所述切片点播服务器,还包括 第一获取单元,用于获取所述获取流媒体文件请求中的流媒体文件的格式类型;查找单元,用于根据获取的对应所述流媒体文件的格式类型,查找本地是否存储有对应所述流媒体文件格式类型的切片存放目录;发送单元,用于将所述切片存放目录下对应所述流媒体文件切片文件发送给对应的客户端。
3.根据权利要求1所述的系统,其特征在于,所述切片点播服务器,还包括第二获取单元,用于获取对应所述流媒体文件的原始格式信息,并获取所述流媒体文件格式信息中的头信息,所述文件格式信息中的头信息中至少含有对应每个视频帧及音频帧大小、位置和关键帧信息;生成切片单元,用于按照获取所述文件格式信息中的头信息中的所述关键帧为序列的起始进行技术触发切片,并重新组合视频文件,生成包含有音视频数据的切片文件。
4.根据权利要求1所述的系统,其特征在于,所述切片点播服务器,还包括存储单元,用于将生成的包含有音视频数据的切片文件对应的存储在所述切片存放目录下。
5.根据权利要求1所述的系统,其特征在于,所述切片点播服务器,具体还包括建立对应关系单元,用于将所述音视频数据的切片文件与描述切片文件之间组织关系的对应文件建立一一对应的关系,并存储在所述切片存放目录下。
6.一种基于CDN的流媒体触发式切片点播方法,其特征在于,包括以下步骤 客户端发送获取流媒体文件的请求;Cache服务器根据接收的所述获取流媒体文件的请求,判断是否存储有对应所述指定格式的流媒体文件的切片文件;当所述Cache服务器判断出没有存储对应所述指定格式的流媒体文件的切片文件时, 所述流媒体服务器用于根据所述获取流媒体文件请求,触发所述流媒体服务器中的切片点播服务器自动生成对应所述获取流媒体文件请求的切片文件,并发送给对应的客户端。
7.根据权利要求6所述的方法,其特征在于,还包括当所述Cache服务器判断出存储对应所述指定格式的流媒体文件的切片文件时,直接将对应的所述切片文件发送给对应的客户端。CN 102547478 A
8.根据权利要求7所述的方法,其特征在于,所述流媒体服务器用于根据所述获取流媒体文件请求,触发所述流媒体服务器中的切片点播服务器自动生成对应所述获取流媒体文件的请求的切片文件,具体包括获取所述获取流媒体文件请求中的流媒体文件的格式类型;根据获取的对应所述流媒体文件的格式类型,查找本地是否存储相应文件格式的切片存放目录;将所述切片存放目录下对应所述流媒体文件切片文件发送给对应的客户端。
9.根据权利要求8所述的方法,其特征在于,当根据获取的对应所述流媒体文件的格式类型,没有查找到本地存储有相应文件格式的所述切片存放目录时,还包括获取对应所述流媒体文件的原始流媒体文件的格式信息,并获取所述文件格式信息中的头信息,所述文件格式信息中的头信息中至少含有对应每个视频帧及音频帧的大小、位置和关键帧信息;按照获取所述文件格式信息中的头信息中的所述关键帧为序列的起始进行技术触发进行切片,并重新组合视频文件,生成包含有音视频数据的切片文件;将生成的所述切片文件发送给对应的客户端。
10.根据权利要求9所述的方法,其特征在于,所述按照获取所述文件格式信息中的头信息中的所述关键帧为序列的起始进行技术触发切片,并重新组合视频文件,生成包含有音视频数据的切片文件,具体包括按照获取所述文件格式信息中的头信息中的所述关键帧为序列的起始进行技术触发进行切片;重新组合视频文件对应的头信息,将两个关键帧之间的切片信息插入关键数据信息, 并同时记录每个关键帧信息的索引;生成包含有音视频数据的切片文件。
11.根据权利要求10所述的方法,其特征在于,所述按照获取所述文件格式信息中的头信息中的所述关键帧为序列的起始进行技术触发切片,并重新组合视频文件,生成包含有音视频数据的切片文件之后,还包括将生成的包含有音视频数据的切片文件对应的存储在所述切片存放目录下。
12.根据权利要求11所述的方法,其特征在于,所述将生成的包含有音视频数据的切片文件对应的存储在所述切片存放目录下,具体包括将所述音视频数据的切片文件与描述切片文件之间组织关系的对应文件建立一一对应的关系,并存储在所述切片存放目录下。
全文摘要
本发明公开了一种基于CDN的流媒体触发式切片点播系统和方法,该方法包括客户端发送获取流媒体文件的请求;Cache服务器根据接收的所述获取流媒体文件的请求,判断是否存储有对应所述指定格式的流媒体文件的切片文件,当没有存储时,所述流媒体服务器用于根据所述获取流媒体文件的请求,触发所述流媒体服务器中的切片点播服务器自动生成对应所述获取流媒体文件的请求的切片文件,并发送给对应的客户端。本发明采用触发式切片技术,不需要人工干预,即可对流媒体文件进行切片处理,也不需要缓存整个音视频文件,节省了磁盘空间,并且用户访问切片文库,无需下载整个视频文件,节省了带宽,且流控好。
文档编号H04N21/25GK102547478SQ20121004006
公开日2012年7月4日 申请日期2012年2月20日 优先权日2012年2月20日
发明者付亮, 苗权 申请人:北京蓝汛通信技术有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1