一种流媒体数据的转发系统和转发方法

文档序号:7665719阅读:188来源:国知局
专利名称:一种流媒体数据的转发系统和转发方法
技术领域
本发明涉及通信数据转发技术,具体涉及一种流媒体数据的转发系统和转 发方法。
背景技术
在采用客户端/服务器架构的流媒体结构中,为緩解流媒体服务器的压力,
在客户端与媒体源之间设置有转发(Relay)服务器,该Relay服务器负责将来 自媒体源的流媒体数据提供给客户端。
目前,媒体源和客户端通常都部署在私网中。在实际应用时,如果Relay
服务器与客户端分别位于不同的私网中,那么客户端与Relay服务器之间就无 法成功建立通信连接,因此客户端无法通过Relay服务器从媒体源获取所需的 流媒体数据。
显然,目前存在客户端无法从媒体源正常获取流媒体数据的情况,这明显 降低了客户端进行流i某体通信的可靠性,降低了用户满意度。

发明内容
有鉴于此,本发明的主要目的在于提供一种流i某体数据的转发系统和转发 方法,以提高客户端进行流媒体通信的可靠性,提高用户满意度。 为达到上述目的,本发明的技术方案是这样实现的
一种流媒体数据的转发系统,该系统包括依次相连的客户端、中继服务器、 Relay服务器、媒体源;其中,
所述客户端,用于同所述中继服务器建立通信连接,并向该中继服务器请 求流媒体数据;
所述Relay服务器,用于同所述中继服务器建立通信连接,并向所述中继服务器提供所述客户端所请求的流々某体数据;
所述媒体源,用于向所述Relay服务器提供流媒体数据; 所述中继服务器,用于根据与客户端、Relay服务器建立的所述通信连接, 为客户端提供流媒体数据。
所述中继服务器是流媒体服务器,设置于公网。 所述媒体源进一步与注册服务器相连。
一种流媒体数据的转发方法,在进行流媒体通信的客户端与Relay服务器 之间添加中继服务器;该方法包括
所述客户端以及所述Relay服务器均与所述中继服务器建立通信连接;该 中继服务器基于建立的所述通信连接,为客户端提供流媒体数据。
所述客户端与所述中继服务器建立通信连接的方法为
客户端与中继服务器建立流媒体会话连接。
所述Relay服务器与所述中继服务器建立通信连接的方法为
在Relay服务器与中继服务器之间建立信令连接。
所述Relay服务器进一步与媒体源建立通信连接。
所述为客户端提供流媒体数据的方法为
所述中继服务器通过所述Relay服务器接收到要为客户端所提供的流媒体 数据,并将该流々某体数据发送给该客户端;
或者,所述中继服务器向所述Relay服务器所连接的媒体源请求流媒体数 据,该媒体源将中继服务器所请求的流媒体数据通过Relay服务器发送给中继 服务器,中继服务器将收到的所述流媒体数据发送给所述客户端。
该方法进一步包括
所述中继服务器确定为所述客户端提供流媒体数据的媒体源尚未与所述 Relay服务器建立支持流媒体通信的通信连接,中继服务器向该客户端发送包含 失败标识的消息。
添加的所述中继月l务器位于/>网。
可见,本发明所才是供的流々某体数据的转发系统和转发方法,由于在客户端
与Relay服务器之间增设了位于公网的中继服务器,实现了对私网的穿越;因 此,无论客户端与Relay服务器是否位于不同的私网,该中继服务器均可以向 Relay服务器请求来自媒体源的流媒体数据,并将该流媒体数据转发给客户端。 显然,客户端进行流媒体通信的可靠性得到了明显提高,进而可以使用户
满意度得到有效提高。


图1为本发明一实施例的流媒体数据的转发系统图; 图2为本发明一实施例的流i某体数据的转发流程图; 图3为本发明的流媒体数据的转发流程简图。
具体实施例方式
下面结合附图对本发明技术详细描述。
参见图1,图1为本发明一实施例的流媒体数据的转发系统图。图1中, 客户端、中继服务器、Relay服务器、媒体源依次相连。其中,中继服务器是增 设于客户端与Relay服务器之间的流媒体服务器,通常设置于internet等公网中, 以实现对私网的穿越。
具体应用时,首先在媒体源与Relay服务器之间建立信令连接和流媒体会 话连接,再在Relay服务器与中继服务器之间建立信令连接。这时,客户端就 可以建立与中继服务器之间的流媒体会话,并向中继服务器请求流媒体数据; 届此,中继服务器就可以基于与Relay服务器之间的通信连接,请求来自媒体 源的流媒体数据,并将该流^ 某体数据转发给客户端。
具体而言,在媒体源与Relay服务器之间建立的信令连接可以有多种,如 传输控制协议(TCP)连接。并且,在媒体源与Relay服务器之间的信令连接 建立之后,媒体源与Relay服务器之间会一直进行保活信息的收发,以维持媒 体源与Relay服务器之间的信令连接的畅通性。
在媒体源与Relay服务器之间建立所述流J 某体会话连接的方法通常为媒
体源向Relay服务器发送包含与后续会话相关的会话描述协议(SDP )信息的 实时流协议(RTSP)通告(ANNOUNCE)消息,Relay服务器保存收到的SDP 信息(可保存于内存中或以文件方式存储于其它位置)并向媒体源返回响应
(Response )消息;媒体源向Relay服务器发送建立(RTSP SETUP )消息,Relay 服务器向媒体源返回Response消息;媒体源向Relay "l务器发送RTSP记录
(RECORD )消息,Relay服务器向媒体源返回Response消息。 RTSP ANNOUNCE消息的格式通常为
ANNOUNCE rtsp:〃〈RelaySw ip>/<codec guid>.sdp;Method = TCP;<Codec IP>;<rtsp port>; Resolution = CIF;...
其中,〈RelaySvr ip〉为Relay服务器的网际协议(IP )地址,<codec guid> 为媒体源的全局唯一标识符(GUID), "Method = TCP"用于指定流媒体数据的 传输方式,<Code IP〉为媒体源的IP地址,<rtsp port〉为i某体源提供的RTSP服 务端口, "Resolution = CIF"用于指定流媒体数据的格式。
通常,Relay服务器会将与自身建立了信令连接和流媒体会话连接的媒体源 的GUID发送给中继服务器,由中继服务器将该Relay服务器的标识和收到的 所述GUID对应保存,以确认所述Relay服务器与所述媒体源建立了信令连接 和流媒体会话连接。另外,媒体源还定时地向Relay服务器发送RTSP选项 (OPTIONS )消息,并接受Relay服务器返回的相应返回值(该返回值通常包 含于Response消息中),再根据该返回值维护i某体源与Relay服务器之间的信 令连接畅通性。
在Relay服务器与中继服务器之间建立的信令连接可以有多种,如TCP 连接。客户端建立与中继服务器之间的流媒体会话、以及向中继服务器请求流 媒体数据的方法为客户端向中继服务器发送包含GUID (可看作被请求的 GUID )的RTSP描述(DESCRIBE )消息,中继服务器从收到的RTSP DESCRIBE 消息中获取GUID,在自身所保存的GUID中查找该GUID,并在查找到该GUID 时(如果没有查找到该GUID,中继服务器则确定该GUID所对应的媒体源目 前无法向客户端提供流媒体服务,进而向客户端返回包含失败标识的Response
消息,并且不再进行后续操作)确定该GUID所对应的媒体源已与Relay服务 器建立了支持流媒体通信的通信连接,进而向客户端返回包含成功标识的 Response消息。
收到来自中继服务器的包含成功标识的Response消息时,客户端向中继服 务器发送RTSP SETUP消息,中继服务器向客户端返回Response消息;客户端 向中继服务器发送RTSP播放(PLAY )消息,中继服务器向客户端返回Response消息。
中继服务器请求来自媒体源的流媒体数据并转发给客户端的方法为中继 服务器向被请求的GUID所对应的Relay服务器发送RTSP设置参数
(SET_PARAMETER)消息,Relay服务器将收到的该RTSP SET—PARAMETER 消息转发给相对应的媒体源,并向中继服务器返回Response消息。收到所述 RTSP SET—PARAMETER消息的i某体源向Relay月l务器返回Response消息,还 以支持实时应用程序传输协议/基于用户数据报协议的实时传输控制协议
(RTP/RTCP OVER UDP )或RTP/RTCP OVER TCP等方式发送流媒体数据。 Relay服务器接收来自媒体源的流媒体数据,并将收到的流媒体数据以支持 RTP/RTCP的方式通过中继服务器转发给客户端。
需要说明的是,在发送所述RTSP SET—PARAMETER消息之前,如果中继 服务器已经通过Relay服务器接收到了客户端所请求的流媒体数据,那么中继 服务器则直接将收到的所述流媒体数据发送给客户端,并且不再进行RTSP SET_PARAMETER消息的发送等后续操作。
在实际应用中,除了应用RTSP、 RTP、 RTCP传输流媒体数据,还可以应 用FTP、 HTTP传输流媒体数据。并且,当媒体源为固网侧媒体源时,媒体源 可以通过internet等通信网络与Relay服务器相连;当媒体源是移动侧媒体源时, 媒体源可以通过基站(BS)、分组数据服务节点(PDSN)与Relay服务器相连。 同理,当客户端是固定客户端时,客户端可以通过固定通信网络与Relay服务 器相连;当客户端是移动客户端时,媒体源可以通过BS、 PDSN与Relay服务 器相连。 服务器(RGM)相连,由RGM实现对i某体源 的注册等管理功能。再有,在固网侧,流媒体数据的传输通常通过UDP实现; 在移动侧,流媒体数据的传输通常通过TCP实现。
由针对图1的描述可见,由于在客户端与Relay服务器之间增设了位于公 网的中继服务器,实现了对私网的穿越;因此,无i仑客户端与Relay服务器是 否位于不同的私网,该中继服务器均可以向Relay服务器请求来自媒体源的流 媒体数据,并将该流媒体数据转发给客户端。显然,客户端进行流媒体通信的
可靠性得到了明显提高,进而可以使用户满意度得到有效提高u
参见图2,图2为本发明一实施例的流媒体数据的转发流程图,该流程包 括以下步骤
步骤201:在媒体源与Relay服务器之间建立TCP连接等信令连接。 步骤202:媒体源向Relay服务器发送包含与后续会话相关的SDP信息的
RTSP ANNOUNCE消息。
步骤203: Relay服务器保存收到的SDP信息(可保存于内存中或以文件
方式存储于其它位置)并向媒体源返回Response消息。
步骤204:媒体源向Relay服务器发送RTSP SETUP消息。
步骤205: Relay服务器向媒体源返回Response消息。
步骤206:媒体源向Relay服务器发送RTSP RECORD消息。
步骤207: Relay H务器向媒体源返回Response消息。
步骤208:媒体源定时地向Relay服务器发送RTSP OPTIONS消息。
步骤209: Relay服务器向媒体源返回包含返回值的Response消息;媒体
源根据所述返回值维护自身与Relay服务器之间的信令连接畅通性。
通常,Relay服务器会将与自身建立了信令连接和流媒体会话连接的媒体源
的GUID发送给中继服务器,由中继服务器将该Relay服务器的标识和收到的
所述GUID对应保存,以确认所述Relay服务器与所述媒体源建立了信令连接
和流媒体会话连接。
步骤210:在Relay服务器与中继服务器之间建立TCP连接等信令连接。
步骤211:客户端向中继服务器发送包含GUID (可看作被请求的GUID) 的RTSP DESCRIBE消息。
步骤212:中继服务器从收到的RTSP DESCRIBE消息中荻取GUID,在自 身所保存的GUID中查找该GUID,并在查找到该GUID时(当然,如果没有 查找到该GUID,中继服务器则确定该GUID所对应的媒体源目前无法向客户 端提供流媒体服务,进而向客户端返回包含失败标识的Response消息,并且不 再进行后续操作)确定该GUID所对应的媒体源已与Relay服务器建立了支持 流媒体通信的通信连接,进而向客户端返回包含成功标识的Response消息。
步骤213:收到来自中继服务器的包含成功标识的Response消息时,客户 端向中继服务器发送RTSP SETUP消息。
步骤214:中继服务器向客户端返回Response消息。
步骤215:客户端向中继服务器发送RTSP PLAY消息。
步骤216:中继服务器向客户端返回Response消息。
步骤217:中继服务器向被请求的GUID所对应的Relay服务器发送RTSP SET_PARAMETER消息。
当然,在发送所述RTSP SET—PARAMETER消息之前,如果中继服务器已 经接收到了客户端所请求的流媒体数据,那么中继服务器则直接将收到的所述 流媒体数据发送给客户端,并且不在进行RTSP SET_PARAMETER消息的发送 等后续搡作。
步骤218至步骤219: Relay服务器将收到的RTSP SET_PARAMETER消 息转发给相对应的媒体源,并向中继服务器返回Response消息。
步骤220:收到所述RTSP SET—PARAMETER消息的媒体源向Relay服务 器返回Response消息。
步骤221:媒体源以支持RTP/RTCP OVER UDP或RTP/RTCP OVER TCP 等方式发送流媒体数据。
步骤222至步骤223: Relay服务器接收来自媒体源的流i某体数据,并将收 到的流媒体数据以支持RTP/RTCP的方式通过中继服务器转发给客户端。
结合针对图1、图2的描述,可以用图3简要表明本发明的流媒体数据转 发流程。参见图3,图3为本发明的流媒体数据的转发流程筒图,该流程包括 以下步骤
步骤301:在客户端与Relay服务器之间添加中继服务器。
步骤302:客户端以及Relay服务器均与中继服务器建立通信连接。
步骤303:中继服务器基于建立的所述通信连接,为客户端提供流媒体数据。
由以上所述可见,本发明系统和方法,由于在客户端与Relay服务器之间 增设了位于公网的中继服务器,实现了对私网的穿越;因此,无论客户端与Relay 服务器是否位于不同的私网,该中继服务器均可以向Relay服务器请求来自媒 体源的流媒体数据,并将该流媒体数据转发给客户端。显然,客户端进行流媒 体通信的可靠性得到了明显提高,进而可以使用户满意度得到有效提高。
权利要求
1、一种流媒体数据的转发系统,其特征在于,该系统包括依次相连的客户端、中继服务器、转发Relay服务器、媒体源;其中,所述客户端,用于同所述中继服务器建立通信连接,并向该中继服务器请求流媒体数据;所述Relay服务器,用于同所述中继服务器建立通信连接,并向所述中继服务器提供所述客户端所请求的流媒体数据;所述媒体源,用于向所述Relay服务器提供流媒体数据;所述中继服务器,用于根据与客户端、Relay服务器建立的所述通信连接,为客户端提供流媒体数据。
2、 根据权利要求1所述的系统,其特征在于,所述中继服务器是流媒体服 务器,设置于公网。
3、 根据权利要求1或2所述的系统,其特征在于,所述媒体源进一步与注 册服务器相连。
4、 一种流媒体数据的转发方法,其特征在于,在进行流媒体通信的客户端 与Relay服务器之间添加中继服务器;该方法包括所述客户端以及所述Relay服务器均与所述中继服务器建立通信连接;该 中继服务器基于建立的所述通信连接,为客户端提供流媒体数据。
5、 根据权利要求4所述的方法,其特征在于,所述客户端与所述中继服务 器建立通信连接的方法为客户端与中继服务器建立流媒体会话连接。
6、 根据权利要求4所述的方法,其特征在于,所述Relay服务器与所述中 继服务器建立通信连接的方法为在Relay服务器与中继服务器之间建立信令连接。
7、 根据权利要求4所述的方法,其特征在于,所述Relay服务器进一步与 媒体源建立通信连接。
8、 根据权利要求4或7所述的方法,其特征在于,所述为客户端提供流媒 体数据的方法为所述中继服务器通过所述Relay服务器接收到要为客户端所提供的流媒体 数据,并将该流媒体数据发送给该客户端;或者,所述中继服务器向所述Relay服务器所连接的媒体源请求流媒体数 据,该媒体源将中继服务器所请求的流媒体数据通过Relay服务器发送给中继 服务器,中继服务器将收到的所述流媒体数据发送给所述客户端。
9、 根据权利要求4至6任一项所述的方法,其特征在于,该方法进一步包括所述中继服务器确定为所述客户端提供流媒体数据的媒体源尚未与所述 Relay服务器建立支持流媒体通信的通信连接,中继服务器向该客户端发送包含 失败标识的消息。
10、 根据权利要求4所述的方法,其特征在于,添加的所述中继服务器位 于公网。
全文摘要
本发明所提供的流媒体数据的转发系统和转发方法,由于在客户端与转发(Relay)服务器之间增设了位于公网的中继服务器,实现了对私网的穿越;因此,无论客户端与Relay服务器是否位于不同的私网,该中继服务器均可以向Relay服务器请求来自媒体源的流媒体数据,并将该流媒体数据转发给客户端。显然,客户端进行流媒体通信的可靠性得到了明显提高,进而可以使用户满意度得到有效提高。
文档编号H04L12/56GK101179502SQ20071017939
公开日2008年5月14日 申请日期2007年12月12日 优先权日2007年12月12日
发明者夏正勋, 潘承锦, 淼 闫 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1