一种基于云存储发布流媒体的装置、系统及方法

文档序号:7894969阅读:253来源:国知局
专利名称:一种基于云存储发布流媒体的装置、系统及方法
技术领域
本发明涉及网络信息技术,尤其涉及一种基于云存储流媒体的装置、系统及方法。
背景技术
目前,在多媒体通讯领域中,使用RTSP+RTP/RTCP协议来发布多媒体已经成为业界一种非常通用的做法,其优点是用户可以边下载边播放,而不需要把媒体文件全部下载到本地才能观看,大大节约了客户端的空间。而许多知名播放器包括许多开源项目(如VLC)都支持RTSP+RTP/RTCP协议来播放多媒体文件。然而,随着计算机和网络的不断发展及高清视频的普及,存储多媒体所需的空间不断的增长,传统的存储架构已经很难满足需求。云存储以其海量的存储空间、高可靠性、、高并发、高可扩展性及高性价比等特性逐渐崭露头角。然而,传统的云存储往往是以文件或文体块的形式对外提供服务的,用户若要使用多媒体必须下载整个文件或者使用云存储复杂的私有协议去处理文件块,大大增加客户端开发的复杂性,限制了多媒体的应用。所涉及的协议说明RTSP (Real Time Streaming Protocol,实时流媒体协议),是一种实时流媒体会话控制协议,控制实时流媒体会话的建立、播放、暂停和拆除等操作。RTP (Real-time Transport Protocol,实时传输协议),用于传输音视频等实时多媒体数据。在该协议的数据包中,包含数据包的序列号、时间戳等与实时传输相关的信息。RTCP(RTP Control Protocol,RTP控制协议),用于控制RTP传输的质量,如丢包、延时、传输抖动等。

发明内容
有鉴于此,需提供一种基于云存储发布流媒体的装置,在云存储高容量、高可靠性、高可扩展性的基础上,使用RTSP协议来发布多媒体,结构简单,便于用户的使用及二次开发。另外,还需提供一种基于云存储发布流媒体的系统,采用基于云存储发布流媒体的装置,结构简单,便于用户的使用及二次开发。此外,仍需提供一种基于云存储发布流媒体的方法,降低客户端开发的复杂性,便于用户的使用及二次开发。本发明的发明目的是通过以下技术方案来实现的一种基于云存储发布流媒体的装置,包括云存储装置以及流媒体服务器。其中,云存储装置用于分割、控制并存储多媒体数据。流媒体服务器与所述云存储装置通过网络连接,并与所述客户端通过RTSP协议进行交互,其包括接收模块、读取及查询模块以及传输模块。其中,接收模块用于接收客户端的请求。读取及查询模块用于根据客户端的请求从所述云存储装置中读取多媒体数据。传输模块用于将读取的数据打包成RTP包传送给所述客户端。
上述的基于云存储发布流媒体的装置,其中所述云存储装置包括云存储存储服务器以及云存储控制服务器。其中,云存储存储服务器用于存储多媒体文件块。云存储控制服务器与所述云存储存储服务器通过网络连接,用于控制所述云存储存储服务器,并提供多媒体文件块和云存储存储服务器的查询定位,其包括分割模块、控制模块以及存储模块。分割模块用于将多媒体文件分割成多个多媒体文件块。控制模块用于生成对应的多媒体文件块的索引,控制和协调云存储存储服务器的负载均衡。存储模块用于存储多媒体文件块的索引和云存储存储服务器的信息。上述的基于云存储发布流媒体的装置,其中所述读取及查询模块还用于查询多媒体文件的偏移值、对应的多媒体文件块所在的云存储存储服务器的信息;所述云存储控制服务器提供多媒体文件块和云存储存储服务器的查询定位是根据所述客户端的请求中的相对时间查询多媒体文件的偏移值,并根据所述多媒体文件的偏移值在所述索引中查询多媒体文件块所在的云存储存储服务器的信息。上述的基于云存储发布流媒体的装置,其中所述分割模块分割的多个多媒体文件块均为固定大小或大小不同的多媒体文件块。 上述的基于云存储发布流媒体的装置,其中所述流媒体服务器是逐一与查询到的云存储存储服务器建立连接,读取多媒体文件块的数据;所述流媒体服务器还包括判断模块,用于判断当前的多媒体文件块的数据是否读取完毕以及客户端是否请求结束播放。—种基于云存储发布流媒体的系统,包括客户端以及上述的基于云存储发布流媒体的装置。其中,客户端用于发送请求,并接收返回的响应的多媒体数据。上述的基于云存储发布流媒体的系统,其中所述客户端为支持音视频媒体播放的终端;所述终端为PC或手机。一种基于云存储发布流媒体的方法,客户端和流媒体服务器之间通过RTSP协议进行交互,获取云存储装置中的多媒体数据,包括以下步骤云存储控制服务器将多媒体文件分割成多个多媒体文件块,存储到不同的云存储存储服务器中,并生成对应的多媒体文件块的索引;当客户端请求播放多媒体时,流媒体服务器与云存储装置建立连接,根据云存储控制服务器中的多媒体文件块的索引从对应的云存储存储服务器读取多媒体数据,并打包成RTP包传输给客户端进行播放。上述的基于云存储发布流媒体的方法,其中当客户端请求播放多媒体时,流媒体服务器与云存储装置建立连接,根据云存储控制服务器中的多媒体文件块的索引从对应的云存储存储服务器读取多媒体数据,并打包成RTP包传输给客户端进行播放的步骤包括以下步骤流媒体服务器从客户端的请求中解析出需播放多媒体数据的相对时间;流媒体服务器根据解析出的相对时间,在云存储控制服务器中获取该数据在整个多媒体文件的偏移值;流媒体服务器根据获取的偏移值向云存储控制服务器查询对应的多媒体文件块所在的云存储存储服务器的信息;流媒体服务器与查询到的云存储存储服务器建立连接,读取多媒体文件块的数据,并打包成RTP包传输给客户端。上述的基于云存储发布流媒体的方法,其中还包括以下步骤流媒体服务器判断当前的多媒体文件块的数据是否读取完毕;若读取完毕,则断开与当前云存储存储服务器的连接;继续判断是否需要读取下一多媒体文件块的数据;若需要,则向云存储控制服务器查询下一多媒体文件块所在的云存储服务器的信息;流媒体服务器与查询到的下一云存储存储服务器建立连接,读取下一多媒体文件块的数据,并打包成RTP包传输给客户端。上述的基于云存储发布流媒体的方法,其中还包括以下步骤当客户端请求结束播放时,流媒体服务器断开与云存储装置的连接,停止传输,结束播放。与现有技术相比,本发明通过使用标准的RTSP协议来获取云存储中的多媒体文件,在保留云存储高容量、高可靠性及高可扩展性等特点的同时简化了客户端开发的复杂性,结构简单,便于用户的使用及二次开发。


图Ia为本发明基于云存储发布流媒体的系统的连接架构图;图Ib为本发明基于云存储发布流媒体的系统的模块图; 图2为本发明客户端读取多媒体数据的传输流程图;图3为本发明基于云存储发布流媒体的方法的流程图;图4为本发明图3中步骤S303的细化流程图。
具体实施例方式为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。图Ia所示为本发明基于云存储发布流媒体的系统的连接架构图,同时参阅图lb,为本发明基于云存储发布流媒体的系统的模块图。该基于云存储发布流媒体的系统包括云存储装置10、客户端20以及流媒体服务器30。其中,云存储装置10以及流媒体服务器30构成基于云存储发布流媒体的装置,用于根据客户端20的请求进行多媒体数据的发布。云存储装置10用于分割、控制并存储多媒体数据。客户端20用于向流媒体服务器发送请求,并接收流媒体服务器30返回的响应的多媒体数据。流媒体服务器30与云存储装置10通过网络连接,并与客户端20通过RTSP协议进行交互。即,云存储装置10、客户端20以及流媒体服务器30通过网络互相连接。参阅图lb,云存储装置10包括通过网络连接的云存储控制服务器101以及云存储存储服务器102。本发明实施方式中,云存储存储服务器102的数量为多个,当然,本发明其它实施方式中,也可以仅用一个云存储存储服务器102。其中,云存储存储服务器102用于存储多媒体文件块。云存储控制服务器101用于控制云存储存储服务器102,并提供多媒体文件块和云存储存储服务器101的查询定位。该云存储控制服务器101包括分割模块1011、控制模块1012以及存储模块1013。分割模块1011用于将多媒体文件分割成多个多媒体文件块。本发明实施方式中,多个多媒体文件块均为固定大小的多媒体文件块。采用这种结构,操作简单,偏于管理。当然,本发明其他实施方式中,也可以为多个大小不同的多媒体文件块,这里不再赘述。控制模块1012用于生成对应的多媒体文件块的索引,控制和协调云存储存储服务器的负载均衡。其中,多媒体文件块的索引为多媒体文件块和存储其的云存储存储服务器信息的关联信息。存储模块1013用于存储多媒体文件块的索引和云存储存储服务器102的信息。本发明实施方式中,客户端20为支持音视频媒体播放的终端。该终端可以为PC或手机。流媒体服务器30包括接收模块301、读取及查询模块302、传输模块303以及判断模块304。其中,接收模块301用于接收客户端20的请求。本发明实施方式中,请求信息包括请求播放多媒体信息或结束播放。当请求信息为请求播放时,请求信息中包含需播放多媒体数据的相对时间。读取及查询模块302用于根据客户端20的请求从云存储装置10中读取多媒体数据。读取及查询模块302还用于查询多媒体文件的偏移值、对应的多媒体文件块所在的云存储存储服务器102的信息。本发明实施方式中,云存储控制服务器101提供多媒体文件块和云存储存储服务器102的查询定位正是根据客户端20的请求中的相对时间查询多媒体文件的偏移值,并根据该多媒体文件的偏移值在索引中查询多媒体文件块所在的云存储存储服务器102的信息。传输模块303将读取的数据打包成RTP包传送给客户端20。因此,本发明的基于云存储发布流媒体的装置以及采用这种装置的系统,使用标准的RTSP协议来获取云存储中的多媒体文件,在保留云存储高容量、高可靠性及高可扩展性等特点的同时简化了客户端开发的复杂性,结构简单,便于用户的使用及二次开发。图2所示为本发明客户端20读取多媒体数据的传输流程图。首先,客户端20发送描述请求(DESCRIBE请求)消息到流媒体服务器30。其中,描述请求消息为多媒体初始化描述请求消息。流媒体服务器30响应描述请求消息,发送携带会话描述(SDP)的消息,如多媒体的类型、格式等消息给客户端20。之后,客户端20向流媒体服务器30发起会话建立(SETUP)的消息,请求建立视频媒体会话,为传输做准备。流媒体服务器30响应会话请求,回复携有视频传输参数,如流媒体服务器IP地址,端口等参数给客户端20。然后,客户端20发出播放(PLAY)指令,请求播放视频流,开始视频会话。流媒体服务器30接收到客户端20的请求后,根据客户端20请求中的相对时间,从云存储控制服务器101获取文件偏移值,响应客户端20的播放指令。同时,流媒体服务器30根据偏移值从云存储控制服务器101获取所需多媒体文件块所在的云存储存储服务器102的信息。流媒体服务器30得到所需的云存储存储服务器102的信息后,从对应的云存储存储服务器102读取多媒体文件块的数据,并将读取到的数据封装打包成RTP包发送给客户端20,直到当前的多媒体文件块的数据播放结束。然后,流媒体服务器30从云存储控制服务器101获取下一个多媒体文件块所在的云存储存储服务器102的信息,从下一云存储存储服务器102中读取下一多媒体文件块的数据。如此重复,直到客户端20发出停止播放(TEARD0WN)的指令,关闭连接,停止传输。流媒体服务器30关闭连接,停止传输。图3所示为本发明基于云存储发布流媒体的方法的流程图。客户端20和流媒体服务器30之间通过RTSP协议进行交互,获取云存储装置10中的多媒体数据。在步骤S301,云存储控制服务器101将多媒体文件分割成多个多媒体文件块,存储到不同的云存储存储服务器102中,并生成对应的多媒体文件块的索引。其中,多个多媒体文件块可以为固定大小的多媒体文件块。例如一个I. 5G的视频文件,可以被分割成3个多媒体文件块,每个多媒体文件块的大小为500M,存储到不同的云存储存储服务器中,同时,生成多媒体文件块与存储其的云存储存储服务器信息的关联信息的索引文件。在步骤S302,客户端20请求播放多媒体。本发明实施方式中,请求信息包含需播放多媒体数据的相对时间。
当客户端请求播放多媒体时,在步骤S303,流媒体服务器30与云存储装置10建立连接,读取多媒体数据,并打包成PRT包传输给客户端。即,流媒体服务器30根据云存储控制服务器101中的多媒体文件块的索引从对应的云存储存储服务器102读取多媒体数据,并打包成RTP包传输给客户端进行播放。在步骤S304,客户端20请求结束播放。当客户端请求结束播放时,执行步骤S305,流媒体服务器30断开与云存储装置10的连接,停止传输,结束播放。图4所示为本发明图3中步骤S303的细化流程图。在步骤S3031,解析出相对时间。即,流媒体服务器30从客户端10的请求中解析出需播放多媒体数据的相对时间。例如客户端10请求从第10分钟开始播放视频文件,则流媒体服务器30从客户端10的请求中解析出相对时间为第10分钟。在步骤S3032,流媒体服务器30根据解析出的相对时间,获取多媒体文件的偏移值,即,在云存储控制服务器101中获取该数据在整个多媒体文件的偏移值。例如获取 这个第10分钟在一个I. 5G大小的视频文件中的位置(如100M的位置,则这个偏移值为100M),对应于哪一个多媒体文件块。在步骤S3033,流媒体服务器30根据获取的偏移值向云存储控制服务器101查询对应的多媒体文件块所在的云存储存储服务器102的信息。在步骤S3034,流媒体服务器30与查询到的云存储存储服务器102建立连接,读取多媒体文件块的数据,并打包成RTP包传输给客户端20。在步骤S3035,流媒体服务器30判断当前的多媒体文件块的数据是否读取完毕。若读取完毕,则执行步骤S3036,断开与当前云存储存储服务器102的连接。在步骤S3037,流媒体服务器30继续判断是否需要读取下一多媒体文件块的数据。若需要,则重复执行步骤S3033,向云存储控制服务器101查询下一多媒体文件块所在的云存储服务器102的信息。然后,重复执行步骤S3034,流媒体服务器与查询到的下一云存储存储服务器建立连接,读取下一多媒体文件块的数据,并打包成RTP包传输给客户端。本发明实施方式中,采用这种查询云存储存储服务器102的信息,建立连接,读取多媒体文件块的数据,再查询下一多媒体文件块所在的云存储存储服务器102的信息,再建立连接,读取下一多媒体文件块的数量的方式,有利于提高效率。若当前的多媒体文件块的数据未读取完毕,则执行步骤S3038,继续读取当前的多媒体文件的数据。若不需要读取下一多媒体文件块的数据,则结束播放。因此,本发明的基于云存储发布流媒体的方法,在云存储高容量、高可靠性、高可扩展性的基础上,通过标准的RTSP协议来获取云存储中的多媒体文件,降低客户端开发的复杂性,便于用户的使用及二次开发。以上仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.一种基于云存储发布流媒体的装置,用于根据客户端的请求进行多媒体数据的发布,其特征在于,包括 云存储装置,用于分割、控制并存储多媒体数据;以及 流媒体服务器,与所述云存储装置通过网络连接,并与所述客户端通过RTSP协议进行交互,其包括 接收模块,用于接收客户端的请求; 读取及查询模块,用于根据客户端的请求从所述云存储装置中读取多媒体数据;以及 传输模块,用于将读取的数据打包成RTP包传送给所述客户端。
2.根据权利要求I所述的基于云存储发布流媒体的装置,其特征在于,所述云存储装置包括 云存储存储服务器,用于存储多媒体文件块;以及 云存储控制服务器,与所述云存储存储服务器通过网络连接,用于控制所述云存储存储服务器,并提供多媒体文件块和云存储存储服务器的查询定位,其包括 分割模块,用于将多媒体文件分割成多个多媒体文件块; 控制模块,用于生成对应的多媒体文件块的索引,控制和协调云存储存储服务器的负载均衡;以及 存储模块,用于存储多媒体文件块的索引和云存储存储服务器的信息。
3.根据权利要求2所述的基于云存储发布流媒体的装置,其特征在于,所述读取及查询模块还用于查询多媒体文件的偏移值、对应的多媒体文件块所在的云存储存储服务器的信息;所述云存储控制服务器提供多媒体文件块和云存储存储服务器的查询定位是根据所述客户端的请求中的相对时间查询多媒体文件的偏移值,并根据所述多媒体文件的偏移值在所述索引中查询多媒体文件块所在的云存储存储服务器的信息。
4.根据权利要求2所述的基于云存储发布流媒体的装置,其特征在于,所述分割模块分割的多个多媒体文件块均为固定大小或大小不同的多媒体文件块。
5.根据权利要求2所述的基于云存储发布流媒体的装置,其特征在于,所述流媒体服务器是逐一与查询到的云存储存储服务器建立连接,读取多媒体文件块的数据;所述流媒体服务器还包括判断模块,用于判断当前的多媒体文件块的数据是否读取完毕以及客户端是否请求结束播放。
6.一种基于云存储发布流媒体的系统,其特征在于,包括 客户端,用于发送请求,并接收返回的响应的多媒体数据;以及 如权利要求I至5任意一项所述的基于云存储发布流媒体的装置。
7.根据权利要求6所述的基于云存储发布流媒体的系统,其特征在于,所述客户端为支持音视频媒体播放的终端;所述终端为PC或手机。
8.一种基于云存储发布流媒体的方法,客户端和流媒体服务器之间通过RTSP协议进行交互,获取云存储装置中的多媒体数据,其特征在于,包括以下步骤 云存储控制服务器将多媒体文件分割成多个多媒体文件块,存储到不同的云存储存储服务器中,并生成对应的多媒体文件块的索引;以及 当客户端请求播放多媒体时,流媒体服务器与云存储装置建立连接,根据云存储控制服务器中的多媒体文件块的索引从对应的云存储存储服务器读取多媒体数据,并打包成RTP包传输给客户端进行播放。
9.根据权利要求8所述的基于云存储发布流媒体的方法,其特征在于,当客户端请求播放多媒体时,流媒体服务器与云存储装置建立连接,根据云存储控制服务器中的多媒体文件块的索引从对应的云存储存储服务器读取多媒体数据,并打包成RTP包传输给客户端进行播放的步骤包括以下步骤 流媒体服务器从客户端的请求中解析出需播放多媒体数据的相对时间; 流媒体服务器根据解析出的相对时间,在云存储控制服务器中获取该数据在整个多媒体文件的偏移值; 流媒体服务器根据获取的偏移值向云存储控制服务器查询对应的多媒体文件块所在的云存储存储服务器的信息;及 流媒体服务器与查询到的云存储存储服务器建立连接,读取多媒体文件块的数据,并打包成RTP包传输给客户端。
10.根据权利要求9所述的基于云存储发布流媒体的方法,其特征在于,还包括以下步骤 流媒体服务器判断当前的多媒体文件块的数据是否读取完毕; 若读取完毕,则断开与当前云存储存储服务器的连接; 继续判断是否需要读取下一多媒体文件块的数据; 若需要,则向云存储控制服务器查询下一多媒体文件块所在的云存储服务器的信息;以及 流媒体服务器与查询到的下一云存储存储服务器建立连接,读取下一多媒体文件块的数据,并打包成RTP包传输给客户端。
11.根据权利要求8所述的基于云存储发布流媒体的方法,其特征在于,还包括以下步骤当客户端请求结束播放时,流媒体服务器断开与云存储装置的连接,停止传输,结束播放。
全文摘要
一种基于云存储发布流媒体的装置,包括云存储装置及流媒体服务器。其中,云存储装置用于存储多媒体数据。流媒体服务器与云存储装置通过网络连接,并与客户端通过RTSP协议进行交互,其包括接收模块、读取及查询模块以及传输模块。其中,接收模块用于接收客户端的请求。读取及查询模块用于根据客户端的请求从云存储装置中读取多媒体数据。传输模块用于将读取的数据打包成RTP包传送给客户端。本发明通过使用标准的RTSP协议来获取云存储中的多媒体文件,在保留云存储高容量、高可靠性及高可扩展性等特点的同时简化了客户端开发的复杂性,结构简单,便于用户的使用及二次开发。另外,本发明还提供了一种基于云存储发布流媒体的系统及方法。
文档编号H04L29/06GK102685123SQ201210137040
公开日2012年9月19日 申请日期2012年5月4日 优先权日2012年5月4日
发明者李磊磊 申请人:安科智慧城市技术(中国)有限公司, 杭州天视智能系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1