一种流媒体业务的发送方法、播放方法及装置与流程

文档序号:12039410阅读:203来源:国知局
一种流媒体业务的发送方法、播放方法及装置与流程
本发明涉及流媒体传输技术领域,特别涉及一种流媒体业务的发送方法、播放方法及装置。

背景技术:
随着流媒体传输技术的发展,现有媒体呈现描述(MPD,MediaPresentationDescription)文件的更新流程主要包括:首先,客户端通过带外方式获取MPD的统一资源标识符(URL,UniformResourceLocator,即网址);其次,客户端向服务器发送获取更新MPD文件的请求;所述服务器将包括更新MPD文件的响应发送给客户端。其中,服务器为了保证MPD更新请求在恰当的时候发送,以及保证在服务器和客户端两侧MPD更新的一致性和有效性,现有技术规范中对发送更新MPD文件定义了一系列的参数和约束条件。比如,对于服务器上已经获取到新的版本如i+1版本的MPD文件,规定i版本的MPD文件何时失效的限制条件,以及客户端何时发送MPD更新请求,以及i版本的MPD文件何时失效的限制条件等。也就是说,服务器不能将接收到的更新的MPD文件及时的发送给客户端,只有在接收到客户端的请求后更新的MPD文件才能被发送;当然,客户端也可以按设定的条件向服务器请求获取更新的MPD文件,即服务器和客户端均需要按照设定的参数或触发条件并通过Request和Response模式来获取更新的MPD文件。因此,在对现有技术的研究和实践过程中,本发明的发明人发现,现有的实现方式中,有可能服务器的MPD文件已经更新,但是由于客户端还不具备请求获取更新MPD的时间或条件,导致客户端对MPD的更新不及时,影响后继客户端对媒体分片的请求和媒体内容的播放。或者,客户端按照设定的触发条件触发对MPD更新的请求,而服务器的MPD很可能并没有更新,从而导致服务器将最近的一次已经发送的MPD文件发送给客户端,造成MPD文件的重复传输。

技术实现要素:
本发明实施例提供一种流媒体业务的更新方法及装置,以解决现有技术中客户端不能与服务器同步更新MPD文件,导致客户端播放媒体业务不顺畅的技术问题,以及重复传输MPD文件的技术问题。为解决上述问题,本发明实施例提供一种流媒体业务的发送方法,所述方法包括:接收客户端发送的获取第一媒体呈现描述MPD文件的请求;将包括所述第一MPD文件的响应发送给所述客户端;当所述第一MPD文件发生更新时,向所述客户端发送第二MPD文件,所述第二MPD文件包括:更新的MPD文件或者所述第一MPD文件的更新信息,以便于客户端及时替换或更新所述第一MPD文件。可选的,在接收到客户端发送获取第一媒体呈现描述MPD文件的请求前或者请求时,所述方法还包括:与所述客户端建立传输流媒体业务的连接通道,其中,所述流媒体业务包括第一MPD文件或第二MPD文件。可选的,所述接收到客户端发送获取第一媒体呈现描述MPD文件的请求为:接收到客户端首次发送获取第一MPD文件的请求。可选的,所述连接通道是基于第5版超文本标记语言HTML5的服务器发送事件Server-sent-event的事件流eventstream连接通道。可选的,所述与所述客户端建立用于传输MPD文件的连接通道包括:接收到客户端发送建立传输流媒体业务的连接通道的请求;向所述客户端发送同意建立传输流媒体业务的连接通道的响应;或者接收到客户端发送获取第一MPD文件的请求中还包括建立传输流媒体业务的连接通道的请求信息;在发送给所述客户终端包括第一MPD文件的响应中还包括同意建立传输流媒体业务的连接通道的响应信息。可选的,如果在接收到客户端发送获取第一媒体呈现描述MPD文件的请求时,与所述客户端建立用于传输流媒体业务的连接通道;所述将包括所述第一MPD文件的响应发送给所述客户端为:通过所述连接通道将包括所述第一MPD文件的响应发送给所述客户端;所述向客户端发送第二MPD文件为:通过所述连接通道向所述客户端发送第二MPD文件。可选的,如果在接收客户端发送获取第一媒体呈现描述MPD文件的请求前,与所述客户端建立用于传输流媒体业务的连接通道;所述接收客户端发送获取第一媒体呈现描述MPD文件的请求为:通过建立的连接通道接收客户端发送获取第一MPD文件的请求;所述将包括所述第一MPD文件的响应发送给所述客户端为:通过建立的连接通道将包括所述第一MPD文件的响应发送给所述客户端;所述向所述客户端发送第二MPD文件为:通过建立的连接通道向所述客户端发送第二MPD文件。可选的,所述方法还包括:在发送所述第一MPD文件或第二MPD文件后,断开与所述客户端建立传输流媒体业务的连接通道。可选的,在断开与所述客户端的连接通道后,所述方法还包括:在接收到客户端发起的建立连接请求时,再次与所述客户端建立传输流媒体业务的连接通道。本发明实施例还提供一种流媒体业务的播放方法,所述方法包括:在接收到服务器发送第一媒体呈现描述MPD文件后,接收到服务器发送的第二媒体呈现描述MPD文件,其中,所述第二MPD文件包括:更新后的MPD文件或者所述第一MPD文件的更新信息;利用所述更新后的MPD文件替换第一MPD文件,或利用所述第一MPD文件的更新信息更新第一MPD文件,得到更新后的MPD文件;根据所述更新后的MPD文件构造分片请求;从所述服务器中获取与所述分片请求对应的分片内容;播放所述分片内容。可选的,在接收到服务器发送所述第一MPD文件之前,所述方法还包括:向服务器发送获取所述第一MPD文件的请求;接收所述服务器发送的包括所述第一MPD文件的响应。可选的,在向所述服务器发送获取所述第一MPD文件的请求前或者请求时,所述方法还包括:与所述服务器建立用于传输流媒体业务的连接通道,所述流媒体业务包括第一MPD文件或第二MPD文件。可选的,所述向服务器发送获取所述第一MPD文件的请求为:向服务器首次发送获取所述第一MPD文件的请求。可选的,所述与服务器建立用于传输流媒体业务的连接通道,包括:在向服务器发送获取第一MPD文件的请求后,向服务器发送用于建立传输流媒体业务的连接通道的请求;接收所述服务器发送同意建立传输流媒体业务的连接通道的响应;或者在向服务器发送获取第一MPD文件的请求中还包括建立传输流媒体业务的连接通道的请求信息;接收所述服务器发送的包括MPD文件的响应中还包括同意建立传输流媒体业务的连接通道的响应信息。可选的,所述方法还包括:在接收到服务器发送的所述第一MPD文件或第二MPD文件后,检测与所述服务器建立传输流媒体业务的连接通道的状态。可选的,如果检测到与所述服务器建立传输流媒体业务的连接通道的状态为断开时,所述方法还包括:再次发起与服务器建立传输流媒体业务的连接通道。可选的,所述连接通道是基于第5版超文本标记语言HTML5的服务器发送事件Server-sent-event的事件流eventstream连接通道。可选的,所述方法还包括:通过创建基于HTML5的事件源EventSource对象来打开一个事件流eventstream连接通道。可选的,在创建基于HTML5的EventSource对象时,所述对象接收所述第一MPD文件或第二MPD文件的统一资源定位符URL,作为其构造函数的参数。可选的,所述方法还包括:客户端根据不同的EventSource对象来区分不同的媒体内容对应的MPD文件。相应的,本发明还提供一种流媒体业务的发送装置,包括:第一接收单元,用于接收客户端发送获取第一媒体呈现描述MPD文件的请求;第一发送单元,用于将包括所述第一MPD文件的响应发送给所述客户端;第二发送单元,用于在所述第一MPD文件发生更新时,向所述客户端发送第二MPD文件,所述第二MPD文件为更新的MPD文件或者所述第一MPD文件的更新信息,以便于客户端及时替换或更新所述第一MPD文件。可选的,所述装置还包括:第一建立单元,用于在所述第一接收单元接收到客户端发送的获取第一MPD文件的请求前或者请求时,与所述客户端建立传输流媒体业务的连接通道,其中,所述流媒体业务包括第一MPD文件或第二MPD文件。可选的,所述第一接收单元,具体用于接收客户端首次发送的获取第一媒体呈现描述MPD文件的请求。可选的,所述装置还包括:控制单元,用于在第一发送单元或第二发送单元发送所述第一MPD文件或第二MPD文件后,断开与所述客户端建立传输流媒体业务的连接通道。可选的,所述装置还包括:第二建立单元,用于在所述控制单元断开与所述客户端的连接通道后,在接收到客户端发起的建立连接请求时,再次与所述客户端建立传输流媒体业务的连接通道。本发明实施例还提供一种流媒体业务的播放装置,包括:第一接收单元,用于在接收到服务器发送第一媒体呈现描述MPD文件后,接收到服务器发送的第二媒体呈现描述MPD文件,其中,所述第二MPD文件为更新后的MPD文件或者所述第一MPD文件的更新信息;更新单元,用于利用所述更新后的MPD文件替换第一MPD文件;或利用所述第一MPD的更新信息更新第一MPD文件,得到更新后的MPD文件;构造单元,用于根据所述更新后的MPD文件构造分片请求;获取单元,用于从所述服务器中获取与所述分片请求对应的分片内容;播放单元,用于播放所述分片内容。可选的,在所述第一接收单元接收到服务器发送所述第二MPD文件之前,所述装置还包括:第一发送单元,用于向服务器发送获取所述第一MPD文件的请求;第二接收单元,用于接收所述服务器发送的包括所述第一MPD文件的响应。可选的,所述装置还包括:第一建立单元,用于在第一发送单元向所述服务器发送获取所述第一MPD文件的请求前或者请求时,与所述服务器建立用于传输流媒体业务的连接通道,所述流媒体业务包括第一MPD文件或第二MPD文件。可选的,所述装置还包括:检测单元,用于在所述第一接收单元接收到服务器发送的所述第一MPD文件或第二MPD文件后,检测所述第一建立单元建立的用于传输流媒体业务的连接通道的状态。可选的,所述装置还包括:第二建立单元,用于在所述检测单元检测到检测所述第一建立单元建立的用于传输流媒体业务的连接通道的状态处于断开时,再次与服务器建立用于传输流媒体业务的连接通道。由上述技术方案可知,本实施例中,当服务器将第一MPD文件发送给客户端后,如果检测到或查询到第一MPD文件发生变更,则将变更后的第二MPD文件主动发送给客户端,或者将第二MPD文件相对第一MPD文件的更新部分发送给客户端,以便于客户端及时更新,并能顺畅的播放媒体业务。从而保证与服务器上MPD文件的一致性和有效性。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的一种流媒体业务的发送方法的流程图;图2为本发明实施例提供的一种流媒体业务的播放方法的流程图;图3为本发明实施例提供的一种流媒体业务的发送装置的结构示意图;图4为本发明实施例提供的一种流媒体业务的发送装置的第二结构示意图;图5为本发明实施例提供的一种流媒体业务的发送装置的第三结构示意图;图6为本发明实施例提供的一种流媒体业务的发送装置的第四结构示意图;图7为本发明实施例提供的一种流媒体业务的播放装置的结构示意图;图8为本发明实施例提供的一种流媒体业务的播放装置的第二结构示意图;图9为本发明实施例提供的一种流媒体业务的播放装置的第三结构示意图;图10为本发明实施例提供的一种流媒体业务的播放装置的第四结构示意图;图11为本发明实施例提供的一种媒体业务的视频播放方法的应用实例的流程图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。请参阅图1为本发明实施例提供的一种流媒体业务的发送方法的流程图;所述方法包括:步骤101:接收客户端发送的获取第一媒体呈现描述(MPD,MediaPresentationDescription)文件的请求;在该实施例中,MPD是对一个媒体呈现内容的描述,主要包括对内容分片、请求构造、多码率等的描述。MPD文件是一个xml格式的文档,第三代移动通信伙伴项目(3GPP,3rdGenerationPartnershipProject)的客户端用MPD文件中包括的元数据来构造合适的超文本传输协议的统一资源定位符(HTTP-URL,HypertextTransferProtocol-UniformResourceLocator),进而获取分片内容,并给客户端提供流媒体服务。对于MPD的定义,具体可以参考3GPPTS26.247中的解释,在此不再赘述。其中,所述客户端可以是超文本传输协议流客户端(HTTPStreamingClient),也可以是其他具有超文本传输协议的客户端。步骤102:将包括所述第一MPD文件的响应发送给所述客户端;该步骤中,服务器,比如,超文本传输协议流服务器(HTTPSteamingServer),在接收到内容准备服务器(ContentPreparationServer)推送的MPD文件后,如果接收到客户端发送获取MPD文件(即第一MPD文件)的请求,则将所述MPD文件发送给所述客户端。步骤103:当所述第一MPD文件发生更新时,向所述客户端发送第二MPD文件,所述第二MPD文件包括:更新的MPD文件或者所述第一MPD的更新信息,以便于客户端及时替换或更新所述第一MPD文件。其中,所述第二MPD文件中还可以包括对第一MPD文件已更新的指示信息。该步骤中,当服务器检测到或查询到数据库或者内容服务器中所述第一MPD文件发生更新时,主动将更新的第二MPD文件发送给所述客户端,以便于客户端及时将所述第一MPD文件更新或替换为第二MPD文件。其检测或查询的方式可以实时,也可以定时,本实施例不作限制。在该实施例中,当服务器将第一MPD文件发送给客户端后,如果检测到或查询到第一MPD文件发生变更,则将变更后的第二MPD文件主动发送给客户端,以便于客户端及时更新,并能顺畅的播放媒体业务,从而保证与服务器上MPD文件的一致性和有效性。可选的,本发明实施例中,在接收到客户端发送获取第一媒体呈现描述MPD文件的请求前或者请求时,所述方法还可以包括:服务器与所述客户端建立传输流媒体业务的连接通道,其中,所述流媒体业务包括第一MPD文件或第二MPD文件。具体包括:一种建立方式为:服务器接收到客户端发送建立传输流媒体业务的连接通道的请求;服务器向所述客户端发送同意建立传输流媒体业务的连接通道的响应。另一种方式为:服务器接收到客户端发送获取第一MPD文件的请求中还包括建立传输流媒体业务的连接通道的请求信息;服务器在发送给所述客户终端包括第一MPD文件的响应中还包括同意建立传输流媒体业务的连接通道的响应信息。其中,所述连接通道是基于第5版超文本标记语言HTML5的服务器发送事件(Server-sent-event)的事件流(eventstream)连接通道。当然,也并不限于此,还可以是其他类似的连接通道。可选,如果在接收到客户端发送获取第一媒体呈现描述MPD文件的请求时,与所述客户端建立用于传输流媒体业务的连接通道;则在上述实施例中,所述将包括所述第一MPD文件的响应发送给所述客户端为:通过所述连接通道将包括所述第一MPD文件的响应发送给所述客户端;所述向客户端发送第二MPD文件为:通过所述连接通道向所述客户端发送第二MPD文件。如果在接收客户端发送获取第一媒体呈现描述MPD文件的请求前,与所述客户端建立用于传输流媒体业务的连接通道;则在上述实施例中,所述接收客户端发送获取第一媒体呈现描述MPD文件的请求为:通过建立的连接通道接收客户端发送获取第一MPD文件的请求;所述将包括所述第一MPD文件的响应发送给所述客户端为:通过建立的连接通道将包括所述第一MPD文件的响应发送给所述客户端;所述向所述客户端发送第二MPD文件为:通过建立的连接通道向所述客户端发送第二MPD文件。在上述实施例中,所述方法还可以包括:在发送所述第一MPD文件或第二MPD文件后,服务器断开或保持与所述客户端的连接通道。其中,如果服务器断开与所述客户端的连接通道,所述方法还可以包括:再次与所述客户端建立用于传输流媒体业务的连接通道;具体包括:服务器接收到所述客户端再次发送建立流媒体业务的连接通道的请求;服务器向所述客户端再次发送同意建立传输流媒体业务的连接通道的响应。其中,所述连接通道是基于第5版超文本标记语言HTML5的服务器发送事件(Server-sent-event)的事件流(eventstream)连接通道。其中,所述Server-sent-event的eventstream连接通道正常情况下不会被服务器主动断开。本发明实施例中,服务器一旦检测到MPD的更新,就主动将更新后的MPD文件或者包括相对于上次MPD修改的部分更新信息发送给客户端,以便于客户端及时更新本地的MPD,从而保证服务器与客户端上MPD文件的一致性和有效性。还请参阅图2,为本发明实施例提供的一种流媒体业务的播放方法的流程图,所述方法包括:步骤201:在接收到服务器发送第一媒体呈现描述MPD文件后,接收到服务器发送的第二媒体呈现描述MPD文件,其中,所述第二MPD文件包括:更新后的MPD文件或者所述第一MPD的更新信息;步骤202:利用所述更新后的MPD文件替换第一MPD文件,或利用所述第一MPD的更新信息更新第一MPD文件,得到更新后的MPD文件;步骤203:根据所述更新后的MPD文件构造分片请求;步骤204:从所述服务器中获取与所述分片请求对应的分片内容;步骤205:播放所述分片内容。在该实施例中,客户端不需要向服务器请求获取更新的第二MPD文件,而是服务器在检测到或查询到与之前发送给客户端的MPD文件有更新,主动将更新后的MPD文件,或者之前已发送MPD文件的更新信息发送客户端。可选的,在接收到服务器发送所述第一MPD文件之前,所述方法还可以包括:客户端向服务器发送获取所述第一MPD文件的请求;客户端接收所述服务器发送的包括所述第一MPD文件的响应。可选的,在向所述服务器发送获取所述第一MPD文件的请求前或者请求时,所述方法还可以包括:客户端与所述服务器建立用于传输流媒体业务的连接通道,所述流媒体业务包括第一MPD文件或第二MPD文件。其中,客户端与所述服务器建立用于传输流媒体业务的连接通道可以包括:一种方式,为客户端在向服务器首次发送获取第一MPD文件的请求时,与服务器建立传输流媒体业务的连接通道;具体包括:在向服务器发送的获取第一MPD文件的请求中还包括建立传输流媒体业务的连接通道的请求信息;接收所述服务器发送的包括MPD文件的响应中还包括同意建立传输流媒体业务的连接通道的响应信息。另一种是,客户端在向服务器发送获取第一MPD文件的请求后,向服务器发送用于建立传输流媒体业务的连接通道的请求;客户端接收所述服务器发送同意建立传输流媒体业务的连接通道的响应。可选的,所述向服务器发送获取所述第一MPD文件的请求为:向服务器首次发送获取所述第一MPD文件的请求。可选的,所述方法还可以包括:客户端在接收到服务器发送的所述第一MPD文件或第二MPD文件后,检测与所述服务器建立传输流媒体业务的连接通道的状态。可选的,所述方法还可以包括:在检测到与所述服务器建立传输流媒体业务的连接通道状态为断开时,再次与客户端建立传输流媒体业务的连接通道;具体包括:在与所述服务器建立传输流媒体业务的连接通道断开时,立即向所述服务器再次发送用于建立传输流媒体业务的连接通道的请求;接收服务器再次发送同意建立传输流媒体业务的连接通道的响应。可选的,本实施例中的所述连接通道是基于第5版超文本标记语言(HTML5)的服务器发送事件(Server-sent-event)的事件流(eventstream)连接通道。客户端通过创建基于HTML5的事件源(EventSource)对象来打开一个eventstream连接通道。在创建基于HTML5的EventSource对象时,该对象接收所述第一MPD文件或第二MPD文件的URL,作为其构造函数的参数。客户端根据不同的EventSource对象来区分不同的媒体内容对应的MPD文件。本发明实施例中,客户端可以在首次请求获取MPD文件时,建立一个与服务器之间的专有的HTTP连接(并不限于此),使用该连接建立进行MPD的更新传送。与现有技术相比,服务器和客户端之间不需要像现有技术中那样,设置多个参数来约束客户端进行核对更新的MPD的行为。也就是说,本发明实施例中,每当服务器检测或查询到新的MPD时,就主动的发送给客户端,客户端收到后更新本地的MPD文件,以保证与服务器中MPD文件的一致性和有效性。基于上述方法的实现过程,本发明实施例还提供一种流媒体业务的发送装置,其结构示意图如图3所示,所述装置包括:第一接收单元31、第一发送单元32和第二发送单元33,其中,所述第一接收单元31,用于接收客户端发送获取第一媒体呈现描述MPD文件的请求;所述第一发送单元32,用于将包括所述第一MPD文件的响应发送给所述客户端;所述第二发送单元33,用于在所述第一MPD文件发生更新时,向所述客户端发送第二MPD文件,所述第二MPD文件为更新的MPD文件或者所述第一MPD的更新信息,以便于客户端及时替换或更新所述第一MPD文件。其中,第一接收单元31接收到客户端发送获取第一MPD文件的请求,可以使客户端首次发送获取第一MPD文件的请求。可选的,所述装置还可以包括:第一建立单元41,用于在所述第一接收单元31接收到客户端发送的获取第一MPD文件的请求前或者请求时,与所述客户端建立传输流媒体业务的连接通道,其中,所述流媒体业务包括第一MPD文件或第二MPD文件。其中,建立传输流媒体业务的连接通道的过程具体详见上述,在此不再赘述。其对应的结构示意图如图4所示,图4为本发明实施例提供的一种流媒体业务的发送装置的第二结构示意图。可选的,所述装置还可以包括:控制单元52,用于在第一发送单元31或第二发送单元32发送所述第一MPD文件或第二MPD文件后,断开与所述客户端建立传输流媒体业务的连接通道。其对应的结构示意图如图5所示,图5为本发明实施例提供的一种流媒体业务的发送装置的第三结构示意图。可选的,所述装置还可以包括:第二建立单元61,用于在所述控制单元51断开与所述客户端建立传输流媒体业务的连接通道时或后,在接收到客户端发起的建立连接请求时,再次与所述客户端建立传输流媒体业务的连接通道,具体包括:接收到所述客户端再次发送建立流媒体业务的连接通道的请求;以及向所述客户端再次发送同意建立传输流媒体业务的连接通道的响应。其对应的结构示意图如图6所示,图6为本发明实施例提供的一种流媒体业务的发送装置的第四结构示意图。所述装置中各个单元的功能和作用的实现过程,详见上述方法中对应的实现过程,在此不再赘述。相应的,本发明实施例还提供一种流媒体业务的播放装置,其结构示意图如图7所示,所述装置包括:第一接收单元71,更新单元72,构造单元73,获取单元74和播放单元75,其中,所述第一接收单元71,用于在接收到服务器发送第一媒体呈现描述MPD文件后,接收服务器发送的第二媒体呈现描述MPD文件,其中,所述第二MPD文件为更新后的MPD文件或者所述第一MPD文件的更新信息;所述更新单元72,用于利用所述更新后的MPD文件替换第一MPD文件;或利用所述第一MPD的更新信息更新第一MPD文件,得到更新后的MPD文件;所述构造单元73,用于根据所述更新后的MPD文件构造分片请求;所述获取单元74,用于从所述服务器中获取与所述分片请求对应的分片内容;所述播放单元75,用于播放所述分片内容。可选的,在第一接收单元71接收到服务器发送所述第二MPD文件之前,所述装置还可以包括:第一发送单元81和第二接收单元82,所述第一发送单元81,用于向服务器发送获取所述第一MPD文件的请求;所述第二接收单元82,用于接收所述服务器发送的包括所述第一MPD文件的响应。其对应的结构示意图如图8所示,图8为本发明实施例提供的一种流媒体业务的发送装置的第二结构示意图。可选的,所述装置还可以包括:第一建立单元91,用于在第一发送单元81向所述服务器发送获取所述第一MPD文件的请求前或者请求时,与所述服务器建立用于传输流媒体业务的连接通道,所述流媒体业务包括第一MPD文件或第二MPD文件。其对应的结构示意图如图9所示,图9为本发明实施例提供的一种流媒体业务的发送装置的第三结构示意图。可选的,所述装置还可以包括:检测单元10,用于在所述第一接收单元接收到所述服务器发送的所述第二MPD文件和/或第二接收单元接收到所述服务器发送的第一MPD文件后,检测所述第一建立单元91建立的用于传输流媒体业务的连接通道的状态。所述装置还可以包括:第二建立单元11,用于在所述检测单元10检测所述第一建立单元91建立的用于传输流媒体业务的连接通道断开后,立即再次与服务器建立用于传输流媒体业务的连接通道,其建立的具体过程包括:立即向所述服务器再次发送用于建立传输流媒体业务的连接通道的请求;以及接收服务器再次发送同意建立传输流媒体业务的连接通道的响应。其对应的结构示意图如图10所示,图10为本发明实施例提供的一种流媒体业务的发送装置的第四结构示意图。所述装置中各个单元的功能和作用的实现过程,详见上述方法中对应的实现过程,在此不再赘述。为了便于本领域技术人员的理解,下面以具体的应用实例来说明。还请参阅图11,为本发明实施例提供的一种媒体业务的视频播放方法的应用实例的流程图,该实施例以应用于3GPPAdaptiveHTTPStreaming系统为例,在该系统中涉及到的网元包括:内容源(ContentSource)网元、内容准备(ContentPreparation)网元、HTTP流服务器(HTTPStreamingServer,简称HTTP服务器)和HTTP流客户端(HTTPStreamingClient,简称,HTTP客户端),具体过程包括:步骤110:内容源网元将需要HTTP流客户端播放的媒体内容发送给内容准备网元;步骤111:内容准备网元将接收到的媒体内容划分为媒体内容分片,以及生成MPD;也就是说,内容准备网元负责对接收得到的媒体内容进行媒体分片,并将媒体分片内容封装成符合要求的格式(如3GP格式的文件分片),然后,针对每个媒体分片生成对应的媒体呈现描述MPD文件。步骤112:内容准备网元将所述内容分片和MPD文件发送(或者推送)给HTTP流服务器;以便于HTTP流服务器存储接收到的内容分片和MPD文件;步骤113:HTTP流客户端通过带外方式获取到MPD文件的URL;步骤114:HTTP流客户端与所述HTTP流服务器建立传输流媒体业务(即MPD文件)的连接通道;其中,所述流媒体业务包括首次传输的MPD文件,或者更新的MPD文件等。需要说明的是,本发明是以HTTP流客户端向HTTP流服务器首次请求获取MPD文件之前,建立连接通道为例,但并不限于此,比如,还可以在首次请求获取MPD文件时建立传输媒体业务的连接通道。其中,本实施例中,所述连接通道是基于第5版超文本标记语言HTML5的服务器发送事件Server-sent-event的事件流eventstream连接通道,但并不限于此。步骤115:HTTP流客户端向URL对应的HTTP流服务器请求获取MPD文件(即第一MPD文件)。当然,在该实施例中,还可以在请求获取MPD文件(即第一MPD文件)前,请求与所述HTTP流服务器建立传输流媒体业务的连接通道;本实施例以请求MPD文件之前建立连接通道为例。步骤116:HTTP流服务器将存储的MPD文件发送给所述HTTP客户端;步骤117:HTTP流客户端根据所述MPD文件生成(构造)分片请求;步骤118:HTTP流客户端向HTTP流服务器请求获取所述分片请求的分片内容;步骤119:HTTP流服务器向所述HTTP流客户端发送所述分片请求的分片内容;步骤120:HTTP流客户端播放接收到的所述分片内容;步骤121:内容源网元将更新的MPD文件发送给内容准备网元;步骤122:内容准备网元将接收到的所述更新的MPD文件发布到所述HTTP流服务器上;其中,所述更新的MPD文件为更新后的MPD文件或者所述第一MPD的更新信息等;步骤123:HTTP流服务器将接收到的所述更新的MPD文件主动发送给HTTP流客户端;其中,HTTP流服务器还可以实时或定期查询数据库或者内容准备网元或者内容服务器等,如果查询到MPD文件发生更新,即向所述HTTP流客户端发送更新的MPD文件,即第二MPD文件。步骤124:HTTP流客户端根据所述更新的MPD文件生成分片请求;并从HTTP服务器上获取所述分片请求对应的分片内容,然后播放所述分片内容。即重复执行步骤117步骤120。之后,当HTTP流服务器在接收或检测到更新的MPD文件时,会主动将更新的MPD文件发送给HTTP流客户端,而HTTP流客户端的执行过程如上所述,在此不再赘述。也就是说,本实施例中,HTTP流客户端在首次请求获取MPD文件之前,先建立一个与HTTP流服务器之间的专有的HTTP连接,并使用该连接进行MPD文件或更新的MPD文件的传送,并且,在HTTP流服务器检测到已发送给HTTP流客户端的MPD文件发生变更时,及时将更新的MPD文件主动发送给HTTP流客户端,以便于HTTP流客户端及时更新本地的MPD文件,从而保证HTTP流客户端与HTTP流服务器上MPD文件的一致性和有效性。本实施例以基于HTML5的push实现为例。其中,HTML5SSE(Server-SentEvents)是HTML5的一项技术,标准化了serverpush功能,Server-SentEvents规范定义了API来打开一个超文本传送协议HTTP连接,通过该连接能够获取从HTTP服务器推送的通知。下面是客户端请求与服务器建立基于SSE的连接打开一个eventstream的一个HTTPGET消息示例,该消息示例中标明了客户端支持的三种MIME类型text/event-stream、application/3gpp-dahs+xml、application/3gpp-dahsdelta+xml。具体包括:GET/EventsHTTP/1.1Host:myServer:8875User-Agent:Mozilla/5.0(Windows;U;WindowsNT5.1;de-DE)AppleWebKit/532+(KHTML,likeGecko)Version/4.0.4Safari/531.21.10Accept-Encoding:gzip,deflateReferer:http://myServer:8875/Accept:text/event-stream;application/3gpp-dahs+xml;application/3gpp-dahsdelta+xml;Last-Event-Id:6Accept-Language:de-DECache-Control:no-cacheConnection:keep-alive也就是说,该程序段描述,该HTTP服务器收到该HTTP请求后,回复下述response消息。Response消息中包括对eventstream事件的响应,data字段指示这是一个MPD文件相关的信息,并且附带了MPD文件相关的信息。其中SomeRandomString用来区分两种不同的数据类型。HTTP/1.1200OKServer:xLightweb/2.12-HTML5Preview6Content-Type:multipart/mixed;;boundary=″SomeRandomString″Expires:Fri,01Jan199000:00:00GMTCache-Control:no-cache,no-store,max-age=0,must-revalidatePragma:no-cacheConnection:close–SomeRandomStringContent-type:text/event-stream:forMPDstreamretry:5000id:7data:ThisisaMPDdata.--SomeRandomStringContent-type:application/3gpp-ahs+xmlThispartisMPDDATA--SomeRandomString也就是说,HTTP客户端收到该response以后,解析数据部分,获取MPD文件更新信息。之后,HTTP服务器在查询到MPD文件发生更新时,主动将更新的MPD文件发送发给HTTP客户端。即HTTP服务器和HTTP客户端之间的交互类似于客户端先请求,服务器响应,然后再主动响应的形式。在另一实施例中,还可以基于longpolling的push实现为例,Longpolling技术也是基于HTTP的,该实施例要求客户端和服务器都支持longpolling特性,其过程为:客户端和Server之间连接建立以后,客户端向Server发送一个请求,Server会一直保持这个链接,同时反复查询数据库或者内容服务器,一旦Server查询到有更新或者有数据要向客户端发送,就恢复response,将其发送给客户端,之后连接被断开,然后,客户端可以重新建立连接,并发起一个新的request到Server。这样可以保证客户端不重复请求,服务器不重复发送。但是,在实际的应用中,有些实现方式里,客户端和Server之间的连接也可以不断开,一直保持。但是数据更新的获取还是建立在resquest和response对的基础上。在另一实施例中,还可以基于HTML5中有HAP的场景的实现,也就是说,网络中存在HTTPProxy实体,该实体具备代理server的功能,需要对来自Server的MPD文件进行修改。这种场景下,可以在HTTPProxy和HTTPClient之间建立一个用于传送和更新MPD文件的连接。客户端同时接收来自server和proxy的MPD文件更新信息,客户端根据最后一次收到的更新信息替换或更新本地的MPD文件。本发明实施例中,不但保证了MPD文件更新的及时性,也避免了MPD信息的重复传输,以及避免维护MPD正常更新的复杂性。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1