基于rtsp访问多种终端的方法、流媒体服务器和系统的制作方法

文档序号:7717205阅读:173来源:国知局
专利名称:基于rtsp访问多种终端的方法、流媒体服务器和系统的制作方法
技术领域
本发明涉及通信和流媒体技术的交叉领域,特别涉及一种基于RTSP访问多种终端的方法、流媒体服务器和系统。
背景技术
RTSP (Real Time Streaming Protocol,实时流传输协议)是基于服务器/客户端架构,专用于媒体点播的控制协议,在RFC2326中,已经定义了相关的消息宣布自己的能力
(ANNOUNCE),建立会话(SETUP),播放(PLAY),暂停(PAUSE),描述媒体(DESCRIBE),会话结束(TEARDOWN)等等。
SIP (Session Initiation Protocol,会话发起协议)是由正TF提出的协议,主要用于实时的通信领域,如音频、视频通话和会议等业务。RFC3261定义了一些会话建立的消息注册
(REGISTER),请求(INVITE),确认(ACK),结束(BYE)等等,还定义了一些对这些消息的响应。SEP协议出现之后,已经被很多通信组织接受,并且做了很多扩展。其主要应用在下一代的全IP网络3G IMS领域,在通信组织制定的规范中,SIP已经成为一个主要的信令协议。
目前,基于RTSP的流媒体技术已经得到了广泛的应用,同时很多免费和简单的基于RTSP的播放器,如手机,RealPlayer等等,可以让用户方便的使用,观看媒体资源。但是,在服务器/客户端架构中,众多流媒体源分布比较分散的情况,不能很好的实现寻址,可能会导致IP包发送不到目的地,造成信令和媒体流的中断。
SIP作为未来的通信协议,已经被大家认可,市场上已经有了很多基于SIP的终端,如SIP视频电话,SIP监控终端等等。但是,在通信领域,由于网络的复杂性、建设缓慢以及存在NAT (Network Address Translation,网络地址转换)等难以解决的问题,使得在复杂的全IP通信系统如3G IMS没有建立起來之前,SIP终端并没有真正应用到流媒体的访问中。

发明内容
为了解决现有技术存在的问题,本发明实施例提供了一种基f RTSP访问多种终端的方
9法、设备和系统。所述技术方案如下
一种基于实时流传输协议访问多种终端的方法,所述方法包括
流媒体服务器预先接受有流媒体资源的终端的注册,存储所述终端的流媒体资源相关信息,并且通知门户管理服务器所述终端为在线状态,所述终端为实时流传输协议RTSP终端或会话发起协议SIP终端;
当用户根据所述门户管理服务器提供的所述终端的相关信息,选择所述终端请求播放流媒体时,所述流媒体服务器接收所述用户的流媒体播放器发来的请求,所述流媒体播放器支持RTSP协议;
所述流媒体服务器通过与所述终端之间的连接,以及与所述流媒体播放器之间的连接,将接收到的来自所述终端的流媒体转发给所述流媒体播放器,由所述流媒体播放器播放给所述用户。
一种流媒体服务器,所述流媒体服务器包括
终端注册模块,用于预先接受有流媒体资源的终端的注册,存储所述终端的流媒体资源相关信息,并且通知门户管理服务器所述终端为在线状态,所述终端为实时流传输协议RTSP终端或会话发起协议SIP终端;
请求接收和连接建立模块,用于当用户根据所述门户管理服务器提供的所述终端的相关
信息,选择所述终端请求播放流媒体时,接收所述用户的流媒体播放器发来的RTSP请求,建立到所述流媒体播放器的连接;
流媒体转发模块,用于通过所述流媒体服务器与所述终端之间的连接,以及所述流媒体服务器与所述流媒体播放器之间的连接,将接收到的来自所述终端的流媒体转发给所述流媒体播放器,由所述流媒体播放器播放给所述用户。
一种基于实时流传输协议访问多种终端的系统,所述系统包括终端、流媒体服务器、门户管理服务器和支持实时流传输协议RTSP协议的流媒体播放器;
所述终端,拥有流媒体资源,用于向所述流媒体服务器注册,通过所述流媒体服务器提
供所述流媒体资源供所述流媒体播放器访问,且所述终端为RTSP终端或会话发起协议SIP终端;
所述流媒体服务器,用于预先接受所述终端的注册,存储所述终端的流媒体资源相关信息,并且通知所述门户管理服务器所述终端为在线状态,当用户根据所述门户管理服务器提供的所述终端的相关信息,选择所述终端请求播放流媒体时,接收所述用户的流媒体播放器发来的请求,通过与所述终端之间的连接,以及与所述流媒体播放器之间的连接,将接收到的来自所述终端的流媒体转发给所述流媒体播放器;
所述门户管理服务器,用于从所述流媒体服务器接收所述终端的在线状态信息,并提供所述终端的相关信息给所述用户,在所述用户选择所述终端请求播放流媒体时,生成所述终端的接入地址给所述用户;
所述流媒体播放器,用于当所述用户根据所述门户管理服务器提供的所述终端的相关信息,选择所述终端请求播放流媒体时,向所述流媒体服务器发送请求,并将接收到的所述流媒体服务器返回的流媒体播放给所述用户。
本发明实施例提供的上述技术方案,基于现有的公共RTSP和SIP协议,通过一些简单的设备,使得目前普及的流媒体播放器可以访问众多的其它终端的媒体资源。将简单易用的流媒体播放器,与上述RTSP终端和SIP终端联系起来,实现了流媒体播放器实时地访问这些终端的媒体资源,方便人们使用,有效地利用了网络的现有资源。本发明支持多个流媒体播放器同时观看同 一个终端。


图1是本发明实施例提供的组网结构示意图2是本发明实施例1提供的基于RTSP访问RTSP终端的方法流程示意图;图3是本发明实施例1提供的RTSP终端向流媒体服务器注册的流程示意图;图4是本发明实施例1提供的用户访问门户管理服务器以及流媒体服务器验证的流程示意图5是本发明实施例1提供的流媒体服务器与RTSP终端存在连接时转发媒体流给流媒
体播放器的流程示意图6是本发明实施例1提供的流媒体服务器与RTSP终端不存在连接时转发媒体流给流
媒体播放器的流程示意图7是本发明实施例1提供的流媒体服务器响应暂停播放请求的流程示意图8是本发明实施例1提供的流媒体服务器响应恢复播放请求的流程示意图9是本发明实施例1提供的流媒体服务器响应停止播放请求的流程示意图10是本发明实施例2提供的基于RTSP访问SIP终端的方法流程示意图11是本发明实施例2提供的SIP终端向流媒体服务器注册的流程示意图12是本发明实施例2提供的流媒体服务器与SIP终端不存在连接时转发媒体流给流媒
体播放器的流程示意11图13是本发明实施例2提供的流媒体服务器响应停止播放请求的流程示意图;图14是本发明实施例3提供的流媒体服务器结构示意图15是本发明实施例4提供的基于RTSP访问多种终端的系统结构示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种基于RTSP协议访问多种终端的方法,包括
流媒体服务器预先接受有流媒体资源的终端的注册,存储终端的流媒体资源相关信息,
并且通知门户管理服务器该终端为在线状态,该终端为RTSP终端或SIP终端;当用户根据
门户管理服务器提供的终端的相关信息,选择该终端请求播放流媒体时,流媒体服务器接收
用户的流媒体播放器发来的请求,该流媒体播放器支持RTSP协议;流媒体服务器通过与终
端之间的连接,以及与流媒体播放器之间的连接,将接收到的来自终端的流媒体转发给流媒体播放器,由流媒体播放器播放给用户。
参见图1,本发明实施例涉及的流媒体播放器是指支持RTSP协议的流媒体播放器(RTSP-Player),安装于用户侧的客户端内。涉及的终端拥有流媒体资源,可以供用户访问,包括RTSP终端(RTSP-Terminal)和SIP终端(SIP-Terminal)。其中,RTSP终端是指支持RTSP协议的终端,如支持RTSP协议的IP摄像机;SIP终端是指支持SIP协议的终端,如支持SIP协议的视频电话及摄像机等。涉及的门户管理服务器(Portal)是指负责管理和维护上述终端的信息的服务器,其提供终端的信息供用户浏览、选择和请求播放,可以是网站或者管理界面等。当为Web网页时,用户可以通过HTTP从远程浏览其界面并且获得请求访问的终端的URL (Uniform Resource Locator,统一资源定位符)到本地。涉及的流媒体服务器(MediaServer)提供信令和媒体流的处理,可以由一个设备实现,也可以由多个设备实现。本发明实施例中,网络中的每个RTSP终端和SIP终端都具有唯一的标识。所有在流媒体服务器注册的终端,其标识以及在线/离线状态信息会在门户管理服务器上公布,用户根据自己的权限可以在门户管理服务器上查看相应的终端信息。通过这些标识可以识别并到达网络中的终端。
本发明实施例提供的技术方案可以实现对多种类型的终端进行访问,包括RTSP终端和SIP终端。在实际应用中,可以同时访问多个终端,该多个终端中的任一个终端可以为RTSP终端或者SIP终端。下面以访问一个终端为例进行说明,当访问多个终端时,其过程均与访问一个终端的过程相同,不赘述。实施例1
参见图2,本实施例提供了一种基于RTSP协议访问多种终端的方法,应用于RTSP终端,具体包括
201:流媒体服务器预先接受有流媒体资源的RTSP终端的注册,存储RTSP终端的流媒体资源相关信息,并且通知门户管理服务器该RTSP终端为在线状态。具体地,参见图3, RTSP终端注册的过程如下
201a: RTSP终端上电之后,定时发送ANNOUNCE消息给流媒体服务器,汇报自己的存在,该ANNOUNCE消息中包含RTSP终端的媒体资源信息和媒体能力信息,可以用SDP描述;
201b:流媒体服务器接收到该ANNOUNCE消息后,返回200响应给RTSP终端,并存储RTSP终端的媒体资源信息和媒体能力信息;
201c:流媒体服务器向门户管理服务器汇报RTSP终端为在线状态。上述201b与201c的顺序不固定,也可以同时进行。
上述ANNOUNCE消息为RTSP终端定时发送的,发送周期可以根据需要设置为不同的值。进一步地,在流媒体服务器存储RTSP终端的媒体资源信息和媒体能力信息,并且给门户管理服务器汇报在线状态之后,如果超过该发送周期,流媒体服务器还未收到RTSP终端发来的ANNOUNCE消息,则通知门户管理服务器RTSP终端处于离线状态。相应地,门户管理服务器会进行相应地公布,用户可以査看终端是否在线,从而避免用户访问处于离线状态的终端。
202:当用户根据门户管理服务器提供的终端的相关信息,选择RTSP终端请求播放流媒体时,流媒体服务器接收用户的流媒体播放器发来的请求。该相关信息包括终端的基本描述以及终端是否在线等等,如终端为摄像头,该相关信息为摄像头的描述和在线状态。
进一步地,流媒体服务器还可以进行安全验证,以提高用户访问终端的安全性,参见图4,具体过程如下
202a:用户在门户管理服务器上浏览终端的信息,如通过HTTP远程浏览门户管理服务器的网页,用户选择一个待访问的终端;
202b:门户管理服务器提供一个可以在短时间内访问该终端的RTSP URL给用户,此时,用户客户端的操作系统会自动启动已安装的RTSP流媒体播放器,该URL中包含有终端的标识和URL的有效期;其中,URL的有效期是门户管理服务器自动生成的,如20s、 30s等。在该有效期内用户可以访问该URL对应的终端,超过该有效期,则用户不能访问该终端。
202c:用户客户端的流媒体播放器根据该URL,发送DESCRIBE消息到流媒体服务器,请求获得该URL对应的终端的媒体能力,该DESCRIBE消息中包含有该URL。
202d:流媒体服务器在收到DESCRIBE消息之后,提取出URL,根据URL中包含的终端的标识确定用户待访问的终端,并根据URL中包含的有效期,验证该URL是否有效,如果有效,则回复200响应给流媒体播放器(如图中所示),且该200响应中携带流媒体服务器存储的终端的媒体能力信息;如果失效,则拒绝访问,返回462 (Destination Unreachable)响应,流程结束(图中未示出)。
203:流媒体服务器判断与上述RTSP终端之间的连接是否存在,如果存在,则执行204;否则,执行205;
204:流媒体服务器将接收到的来自终端的流媒体转发给流媒体播放器,由流媒体播放器播放给用户,流程结束。
参见图5,具体如下
204a:流媒体服务器检测出已经存在到该RTSP终端的连接,且收到用户的流媒体播放器发来的SETUP消息;
204b:流媒体服务器返回200响应给流媒体播放器,从而建立流媒体服务器与流媒体播放器之间的连接;
204c:流媒体播放器发送PLAY消息给流媒体服务器,请求访问该RTSP终端的媒体资
源;
204d:流媒体服务器收到PLAY消息后,返回200响应给流媒体播放器,并且将来自RTSP终端的媒体流转发给流媒体播放器,流媒体播放器收到后播放给用户,流程结束。
其中,如果有多个用户同时访问该RTSP终端,则流媒体服务器就为每个用户复制一份后分别转发。
205:流媒体服务器先建立到该RTSP终端的连接,然后将接收到的来自RTSP终端的媒体流转发给流媒体播放器,由流媒体播放器播放给用户,流程结束。参见图6,流媒体服务器建立连接以及转发媒体流的过程具体如下205a:流媒体播放器发送SETUP消息给流媒体服务器;
205b:流媒体服务器收到SETUP消息后,发送新的SETUP消息给RTSP终端;
205c: RTSP终端收到后,回复200响应给流媒体服务器,从而完成RTSP终端到流媒体服务器的连接建立;
205d:流媒体服务器回复200响应给流媒体播放器,从而完成流媒体服务器到流媒体播放器的连接建立;
205e:流媒体播放器发送PLAY消息给流媒体服务器,请求访问该RTSP终端的媒体资
源;
205f:流媒体服务器收到PLAY消息后,转发给该RTSP终端;
205g: RTSP终端收到后,返回200响应给流媒体服务器,并且开始发送媒体流;
205h:流媒体服务器收到RTSP终端发来的200响应后,发送200响应给流媒体播放器,
并且将来自RTSP终端的媒体流转发给流媒体播放器,流媒体播放器收到后播放给用户。
本实施例提供的上述方法中,进一步地,参见图7,在流媒体播放器给用户播放媒体流
之后,还可以包括
如果流媒体服务器接收到流媒体播放器发送的暂停请求,则停止转发来自终端的流媒体
到流媒体播放器,并保持与终端之间的连接。参见图7,具体包括
701:当用户暂停观看时,流媒体播放器发送PAUSE消息给流媒体服务器,请求暂停播放当前的媒体流;
702:流媒体服务器收到PAUSE消息后,回复200响应给流媒体播放器,并且暂停转发来自RTSP终端的媒体流给流媒体播放器,此时,流媒体服务器与RTSP终端之间的连接会保持,并且还会接收来自RTSP终端的媒体流。
本实施例中,如果用户暂停观看,且流媒体服务器停止转发媒体流到流媒体播放器后,如果用户恢复观看,则参见图8,上述方法还可以包括
801:当用户恢复观看时,流媒体播放器发送RESUME消息给流媒体服务器;
802:流媒体服务器收到RESUME消息后,回复200响应给流媒体播放器,并且重新开始转发来自RTSP终端的媒体流给流媒体播放器。
本实施例中,进一步地,参见图9,在用户观看流媒体后,如果停止观看,则上述方法还可以包括
如果流媒体服务器接收到流媒体播放器发送的停止播放请求,则停止发送流媒体给流媒体播放器,并拆除与流媒体播放器之间的连接;判断是否还有其它流媒体播放器在访问RTSP终端,如果是,则继续为其它流媒体播放器服务,否则,拆除与RTSP终端之间的连接。901:当用户停止观看时,流媒体播放器发送TEARDOWN消息给流媒体服务器;902:流媒体服务器收到TEARDOWN消息后,回复200响应给流媒体播放器,释放与
15流媒体播放器的连接,并停止转发来自RTSP终端的媒体流给流媒体播放器;
卯3:流媒体服务器判断此时是否还有其它用户观看该RTSP终端的媒体资源,如果没有,
则发送TEARDOWN消息给RTSP终端;
904: RTSP终端收到后,回复200响应给流媒体服务器,释放RTSP终端与流媒体服务
器之间的连接,流媒体服务器对于上述用户的停止播放请求处理完毕。
其中,903中如果流媒体服务器判断出当前还有其它用户在观看该RTSP终端的媒体资
源,则继续为其它观看该RTSP终端媒体资源的用户服务(图中未示出)。
实施例2
参见图10,本实施例提供了一种基于RTSP协议访问多种终端的方法,应用于SIP终端,具体包括
1001:流媒体服务器预先接受有流媒体资源的SIP终端的注册,存储SIP终端的流媒体
资源相关信息,并且通知门户管理服务器该SIP终端为在线状态;具体地,参见图ll, SIP终端注册的过程如下
1001a: SIP终端上电之后,定时发送REGISTER消息给流媒体服务器,汇报自己的存在,以通知流媒体服务器自己在线;
1001b:流媒体服务器收到REGISTER消息后,返回200响应给SIP终端;
1001c:流媒体服务器把SIP终端上线的事件汇报给门户管理服务器;
lOOld:流媒体服务器判断该REGISTER消息是否为SIP终端在离线的情况下,发来的第一次REGISTER消息,如果是,则流媒体服务器需要获取SIP终端的媒体能力,因此,流媒体服务器发起一个呼叫至该SIP终端,即发送INVITE消息给SIP终端,且该INVITE消息
中携带有流媒体服务器配置的媒体能力要求;
通常,流媒体服务器会配置一个包含多种媒体能力的集合,终端收到后,根据自己的媒体能力进行相应的响应。
lOOle: SIP终端收到INVITE消息后,自动应答该呼叫,回复200响应,该响应中携带有目前SIP终端所支持的媒体能力以及SIP终端的媒体资源信息;
按照SIP协议,SIP终端在回复响应时,如果自身没有匹配的能力,则在响应里会有相应的描述,如果能够匹配,则回复自身的媒体能力和媒体资源信息。
lOOlf:流媒体服务器收到200响应后,在本地存储该响应中携带的SIP终端的媒体能力和媒体资源信息,回复ACK消息给STP终端,通知门户管理服务器该SIP终端为在线状态;
16lOOlg:流媒体服务器发送BYE消息给SIP终端,结束当前呼叫。
其中,无论SIP终端为在线状态还是离线状态,REGISTER消息都是定时发送的,lOOld中,如果流媒体服务器收到的REGISTER消息是SIP终端在线状态时发送的,则流媒体服务器不发起到SIP终端的呼叫。
REGISTER消息的发送周期可以根据需要设置为不同的值。进一步地,如果超过该发送周期,流媒体服务器还未收到SIP终端发来的REGISTER消息,则通知门户管理服务器SIP终端处于离线状态。
1002:当用户根据门户管理服务器提供的流媒体资源相关信息,选择SIP终端请求播放流媒体时,流媒体服务器接收用户的流媒体播放器发来的请求。
具体过程与202a 202d类似,区别仅在于将RTSP终端替换为SIP终端,其余处理流程均相同,此处不再赘述。
1003:流媒体服务器判断与SIP终端之间的连接是否存在,如果存在,则执行1004;否则,执行1005;
1004:流媒体服务器将接收到的来自SIP终端的流媒体转发给流媒体播放器,由流媒体播放器播放给用户,流程结束。
具体过程与204a 204d类似,区别仅在于将RTSP终端替换为SIP终端,其余处理流程均相同,此处不再赘述。
其中,如果有多个用户同时访问该SIP终端,则流媒体服务器就为每个用户复制一份后分别转发。
1005:流媒体服务器先建立到该SIP终端的连接,然后将接收到的来自SIP终端的流媒体转发给流媒体播放器,由流媒体播放器播放给用户,流程结束。
参见图12,流媒体服务器建立连接以及转发媒体流的过程具体如下1005a:流媒体播放器发送SETUP消息给流媒体服务器;
1005b:流媒体服务器收到后,发送INVITE消息给SIP终端,请求建立到该SIP终端的媒体连接;
1005c: SIP终端收到INVITE消息后,回复100和180响应给流媒体服务器;1005d: SIP终端自动应答,回复200响应给流媒体服务器;
1005e:流媒体服务器收到上述响应后,发送ACK消息给SIP终端,从而完成流媒体服务器到SIP终端的连接建立,SIP终端在收到ACK消息后,开始发送媒体流到流媒体服务器;1005f:流媒体服务器回复200响应给流媒体播放器,从而建立起到流媒体播放器的连接;1005g:流媒体播放器发送PLAY消息给流媒体服务器,请求访问SIP终端的媒体资源;1005h:流媒体服务器收到PLAY消息后,回复200响应给流媒体播放器,并且把收到的来自SIP终端的媒体流转发给流媒体播放器,流媒体播放器收到后播放给用户。
本实施例提供的上述方法中,进一步地,在流媒体播放器给用户播放媒体流之后,还可
以包括
如果流媒体服务器接收到流媒体播放器发送的暂停请求,则停止转发来自终端的流媒体
到流媒体播放器,并保持与终端之间的连接。具体过程与701 702类似,区别仅在于将RTSP终端替换为SIP终端,其余的处理流程均相同,此处不再赘述。
本实施例中,如果用户暂停观看,且流媒体服务器停止转发媒体流到流媒体播放器后,如果用户恢复观看,则流媒体服务器重新恢复转发来自SIP终端的媒体流给流媒体播放器,具体过程与801 802类似,区别仅在于将RTSP终端替换为SIP终端,其余的处理流程均相同,此处不再赘述。
本实施例中,进一步地,在用户观看流媒体后,如果停止观看,则上述方法还可以包括.-
如果流媒体服务器接收到流媒体播放器发送的停止播放请求,则停止发送流媒体给流媒体播放器,并拆除与流媒体播放器之间的连接;判断是否还有其它流媒体播放器在访问SIP终端,如果是,则继续为其它流媒体播放器服务,否则,拆除与SIP终端之间的连接。具体地,参见图13,过程如下
1301:当用户停止观看时,流媒体播放器发送TEARDOWN消息给流媒体服务器;
1302:流媒体服务器收到TEARDOWN消息后,回复200响应给流媒体播放器,释放与流媒体播放器的连接,并停止转发来自SIP终端的媒体流给流媒体播放器;
1303:流媒体服务器判断此时是否还有其它用户观看该SIP终端的媒体资源,如果没有,则发送BYE消息给SIP终端;
1304: SIP终端收到BYE消息后,返回200响应给流媒体服务器,释放SIP终端与流媒体服务器之间的连接,流媒体服务器对于上述用户的停止播放请求处理完毕。
其中,1303中如果流媒体服务器判断出当前还有其它用户在观看该SIP终端的媒体资源,则继续为其它观看该SIP终端媒体资源的用户服务(图中未示出)。
实施例3
参见图14,本实施例提供了-一种流媒体服务器,包括
终端注册模块1401,用于预先接受有流媒体资源的终端的注册,存储终端的流媒体资源相关信息,并且通知门户管理服务器终端为在线状态,该终端为RTSP终端或SIP终端;
请求接收和连接建立模块1402,用于当用户根据门户管理服务器提供的终端的相关信息,选择终端请求播放流媒体时,接收用户的流媒体播放器发来的RTSP请求,建立到流媒体播放器的连接;
流媒体转发模块1403,用于通过流媒体服务器与终端之间的连接,以及流媒体服务器与流媒体播放器之间的连接,将接收到的来自终端的流媒体转发给流媒体播放器,由流媒体播放器播放给用户。
其中,该相关信息包括终端是否在线等等。
本实施例中,当终端为RTSP终端时,终端注册模块1401可以具体包括接收及存储单元,用于接收RTSP终端发送的ANNOUNCE消息,ANNOUNCE消息中包含RTSP终端的媒体能力信息,存储RTSP终端的媒体资源信息和媒体能力信息;第一通知单元,用于通知门户管理服务器RTSP终端为在线状态。
上述ANNOUNCE消息为RTSP终端定时发送的,相应地,第一通知单元还用于在通知门户管理服务器RTSP终端为在线状态之后,如果超过预设的时间,流媒体服务器还未收到RTSP终端发来的ANNOUNCE消息,则通知门户管理服务器RTSP终端处于离线状态。
本实施例中,当终端为SIP终端时,终端注册模块1401具体包括
接收单元,用于接收SIP终端发来的REGISTER消息;
呼叫及存储单元,用于在接收单元收到REGISTER消息后,如果该REGISTER消息为SIP终端在离线状态下发来的第一个REGISTER消息时,呼叫SIP终端,并接收SIP终端回复的SIP终端的媒体能力信息,存储SIP终端的媒体资源信息和媒体能力信息;
第二通知单元,用于通知门户管理服务器SIP终端为在线状态。
上述REGISTER消息为SIP终端定时发送的,相应地,第二通知单元还用于在通知门户管理服务器SIP终端为在线状态之后,如果超过预设的时间,流媒体服务器还未收到SIP终端发来的REGISTER消息,则通知门户管理服务器SIP终端处于离线状态。
本实施例中,请求接收和连接建立模块1402可以具体包括
描述媒体消息接收单元,用于当用户根据门户管理服务器提供的终端的相关信息,选择该终端请求播放流媒体时,接收用户的流媒体播放器发来的DESCRIBE消息,该DESCRIBE消息中包含有门户管理服务器提供给用户的URL, URL中包含有终端的标识和URL的有效期;
验证单元,用于根据描述媒体消息接收单元收到的终端的标识确定对应的终端,并根据
19收到的有效期验证URL是否有效,如果有效,则回复已存储的终端的媒体能力信息给流媒体播放器,否则,结束;
连接建立单元,用于在验证单元验证为有效后,建立到流媒体播放器的连接。并且,在与终端的连接未建立时,通过RTSP或SIP协议建立到终端的连接。本实施例中,请求接收和连接建立模块1402可以具体包括
请求接收单元,用于当用户根据门户管理服务器提供的终端的相关信息,选择该终端请求播放流媒体时,接收用户的流媒体播放器发来的建立会话SETUP消息;
第一播放器连接建立单元,用于在请求接收单元收到SETUP消息后,如果检测到与终端之间已存在连接,则回复响应给流媒体播放器,建立与流媒体播放器之间的连接。
本实施例中,当终端为RTSP终端时,请求接收和连接建立模块1402具体包括
RTSP终端连接建立单元,用于接收流媒体播放器发来的SETUP消息,且检测到不存在与RTSP终端之间的连接,则发送新的SETUP消息给RTSP终端,建立流媒体服务器与RTSP终端之间的连接;
第二播放器连接建立单元,用于在RTSP终端连接建立单元建立连接后,回复响应给流媒体播放器,建立流媒体服务器与流媒体播放器之间的连接。
当终端为SIP终端时,请求接收和连接建立模块1402具体包括
SIP终端连接建立单元,用于接收流媒体播放器发来的SETUP消息,且检测到不存在与SIP终端之间的连接,则通过SIP协议呼叫SIP终端,建立与SIP终端之间的连接;
第三播放器连接建立单元,用于在SIP终端连接建立单元建立连接后,回复响应给流媒体播放器,建立与流媒体播放器之间的连接。
本实施例中,进一步地,请求接收和连接建立模块1402还包括
连接拆除单元,用于在流媒体服务器停止发送流媒体后,拆除与流媒体播放器之间的连接,并判断是否还有其它流媒体播放器在访问终端,如果是,则继续为其它流媒体播放器服务,否则,拆除与终端之间的连接。
本实施例中,流媒体转发模块1403还包括;
暂停处理单元,用于将来自终端的流媒体转发给流媒体播放器之后,如果接收到流媒体播放器发送的暂停请求,则停止转发来自终端的流媒体到流媒体播放器,并保持与终端之间的连接。
进一歩地,流媒体转发模块1403还包括
恢复处理单元,用于在停止转发流媒体到流媒体播放器之后.如果接收到流媒体播放器
20发送的恢复播放请求,则开始转发来自终端的流媒体到流媒体播放器。
本实施例中,如果有多个用户同时访问上述终端,则流媒体服务器为其中的每个用户复制一份该终端的流媒体后分别转发。
实施例4
参见图15,本实施例提供了一种基于实时流传输协议访问多种终端的系统,包括终端1501、流媒体服务器1502、门户管理服务器1503和支持RTSP协议的流媒体播放器1504;
终端1501,拥有流媒体资源,用于向流媒体服务器1502注册,通过流媒体服务器1502提供流媒体资源供流媒体播放器1504访问,且该终端1501为RTSP终端或会话发起协议SIP终端;
流媒体服务器1502,用于预先接受终端1501的注册,存储终端1501的流媒体资源相关信息,并且通知门户管理服务器1503终端1501为在线状态,当用户根据门户管理服务器1503提供的终端1501的相关信息,选择终端1501请求播放流媒体时,接收用户的流媒体播放器1504发来的请求,通过与终端1501之间的连接,以及与流媒体播放器1504之间的连接,将接收到的来自终端1501的流媒体转发给流媒体播放器1504;
门户管理服务器1503,用于从流媒体服务器接收终端1501的在线状态信息,并提供终端1501的相关信息给用户,在用户选择终端1501请求播放流媒体时,生成终端1501的接入地址给用户;具体地,该接入地址即上述方法实施例中的URL,此处不再赘述;
流媒体播放器1504,用于当用户根据门户管理服务器1503提供的终端1501的相关信息,选择终端1501请求播放流媒体时,向流媒体服务器1502发送请求,并将接收到的流媒体服务器1502返回的流媒体播放给用户。
其中,流媒体服务器1502还用于在通知门户管理服务器1503终端1501处于在线状态后,如果超过预设的时间未收到来自终端1501的消息时,通知门户管理服务器1503终端1501处于离线状态;相应地,门户管理服务器1503还用于从流媒体服务器1502接收终端1501的离线状态信息。
本发明实施例提供的上述技术方案,基于现有的公共RTSP和SIP协议,通过一些简单的设备,使得目前普及的流媒体播放器可以访问众多的其它终端的媒体资源。将简单易用的流媒体播放器,与上述RTSP终端和SIP终端联系起來,实现了流媒体播放器实时地访问这些终端的媒体资源,方便人们使用,有效地利用了网络的现有资源。本发明支持多个流媒体播放器同时观看同 一个终端。
本发明实施例提供的上述技术方案的全部或部分可以通过程序指令相关的硬件来完成,所述程序可以存储在可读取的存储介质中,该存储介质包括ROM、 RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1、一种基于实时流传输协议访问多种终端的方法,其特征在于,所述方法包括流媒体服务器预先接受有流媒体资源的终端的注册,存储所述终端的流媒体资源相关信息,并且通知门户管理服务器所述终端为在线状态,所述终端为实时流传输协议RTSP终端或会话发起协议SIP终端;当用户根据所述门户管理服务器提供的所述终端的相关信息,选择所述终端请求播放流媒体时,所述流媒体服务器接收所述用户的流媒体播放器发来的请求,所述流媒体播放器支持RTSP协议;所述流媒体服务器通过与所述终端之间的连接,以及与所述流媒体播放器之间的连接,将接收到的来自所述终端的流媒体转发给所述流媒体播放器,由所述流媒体播放器播放给所述用户。
2、 根据权利要求1所述的方法,其特征在于,所述流媒体服务器预先接受有流媒体资源的终端的注册,存储所述终端的流媒体资源相关信息,并且通知门户管理服务器所述终端为在线状态,具体包括流媒体服务器接收RTSP终端发送的宣布能力ANNOUNCE消息,所述ANNOUNCE消 息中包含所述RTSP终端的媒体能力信息;所述流媒体服务器存储所述RTSP终端的媒体资源信息和媒体能力信息,并且通知门户 管理服务器所述RTSP终端为在线状态。
3、 根据权利要求2所述的方法,其特征在于,所述ANNOUNCE消息为所述RTSP终端 定时发送的,所述流媒体服务器存储所述RTSP终端的媒体资源信息和媒体能力信息,并且 通知门户管理服务器所述RTSP终端为在线状态之后,还包括如果超过预设的时间,所述流媒体服务器还未收到所述RTSP终端发来的ANNOUNCE 消息,则通知所述门户管理服务器所述RTSP终端处于离线状态。
4、 根据权利要求1所述的方法,其特征在于,所述流媒体服务器预先接受有流媒体资源 的终端的注册,存储所述终端的流媒体资源相关信息,并且通知门户管理服务器所述终端为在线状盡,具体包括在流媒体服务器接收会话发起协议SIP终端在离线状态下发来的第一次注册REGISTER 消息时;所述流媒体服务器呼叫所述SIP终端,并接收所述SIP终端回复的所述SIP终端的媒体 能力信息,存储所述SIP终端的媒体资源信息和媒体能力信息,并且通知门户管理服务器所 述SIP终端为在线状态。
5、 根据权利要求4所述的方法,其特征在于,所述REGISTER消息为所述SIP终端定 时发送的,所述流媒体服务器存储所述SIP终端的媒体资源信息和媒体能力 信息,并且通知 门户管理服务器所述SIP终端为在线状态之后,还包括如果超过预设的时间,所述流媒体服务器还未收到所述SIP终端发来的REGISTER消息, 则通知所述门户管理服务器所述SIP终端处于离线状态。
6、 根据权利要求1所述的方法,其特征在于,当用户根据所述门户管理服务器提供的所 述终端的相关信息,选择所述终端请求播放流媒体时,所述流媒体服务器接收所述用户的流 媒体播放器发来的请求,具休包括当用户根据所述门户管理服务器提供的所述终端的相关信息,选择所述终端请求播放流 媒体时,所述流媒体服务器接收所述用户的流媒体播放器发来的描述媒体DESCRIBE消息, 所述DESCRIBE消息中包含有所述门户管理服务器提供给所述用户的统一资源定位符URL, 所述URL中包含有所述终端的标识和所述URL的有效期;所述流媒体服务器根据所述终端的标识确定对应的终端,并根据所述有效期验证所述 URL是否有效,如果有效,则回复己获知的所述终端的媒体能力信息给所述流媒体播放器, 否则,结束。
7、 根据权利要求1所述的方法,其特征在于,所述流媒体服务器通过与所述终端之间的 连接,以及与所述流媒体播放器之间的连接,将接收到的来自所述终端的流媒体转发给所述 流媒体播放器,由所述流媒体播放器播放给所述用户,具体包括所述流媒体服务器接收所述流媒体播放器发来的建立会话SETUP消息,且检测到与所述 终端之间已存在连接,回复响应给所述流媒体播放器,建立与所述流媒体播放器之间的连接所述流媒体服务器接收到所述流媒体播放器发送的播放请求后,将接收到的来自所述终 端的流媒体转发给所述流媒体播放器,由所述流媒休播放器播放给所述用户。
8、 根据权利要求1所述的方法,其特征在于,所述终端为RTSP终端,所述流媒体服务 器通过与所述终端之间的连接,以及与所述流媒体播放器之间的连接,将接收到的来自所述终端的流媒体转发给所述流媒体播放器,由所述流媒体播放器播放给所述用户,具体包括所述流媒体服务器接收所述流媒体播放器发来的建立会话SETUP消息,且检测到不存在 与所述RTSP终端之间的连接,则发送新的SETUP消息给所述RTSP终端,建立所述流媒体 服务器与RTSP终端之间的连接;回复响应给所述流媒体播放器,建立所述流媒体服务器与流媒体播放器之间的连接; 接收到所述流媒体播放器发来的播放请求后,将收到的来自所述RTSP终端的流媒体转 发给所述流媒体播放器,由所述流媒体播放器播放给所述用户。
9、 根据权利要求1所述的方法,其特征在于,所述终端为SIP终端,所述流媒体服务器 通过与所述终端之间的连接,以及与所述流媒体播放器之间的连接,将接收到的来自所述终 端的流媒体转发给所述流媒体播放器,由所述流媒体播放器播放给所述用户,具体包括所述流媒体服务器接收所述流媒体播放器发来的建立会话SETUP消息,且检测到不存在 与所述SIP终端之间的连接,则通过SIP协议呼叫所述SIP终端,建立与所述SIP终端之间 的连接;回复响应给所述流媒体播放器,建立与所述流媒体播放器之间的连接; 接收到所述流媒体播放器发来的播放请求后,将收到的来自所述SIP终端的流媒体转发 给所述流媒体播放器,由所述流媒体播放器播放给所述用户。
10、 根据权利要求1所述的方法,其特征在于,将接收到的来自所述终端的流媒体转发 给所述流媒体播放器,由所述流媒体播放器播放给所述用户之后,还包括如果所述流媒体服务器接收到所述流媒体播放器发送的暂停请求,则停止转发来自所述 终端的流媒体到所述流媒体播放器,并保持与所述终端之间的连接。
11、 根据权利要求10所述的方法,其特征在于,停止转发流媒体到所述流媒体播放器, 并保持与所述终端之间的连接之后,还包括;如果所述流媒体服务器接收到所述流媒体播放器发送的恢复播放请求,则开始转发来自 所述终端的流媒体到所述流媒体播放器。
12、 根据权利要求1所述的方法,其特征在于,将接收到的来自所述终端的流媒体转发 给所述流媒体播放器,由所述流媒体播放器播放给所述用户之后,还包括如果所述流媒体服务器接收到所述流媒体播放器发送的停止播放请求,则停止发送流媒 体给所述流媒体播放器,并拆除与所述流媒体播放器之间的连接;判断是否还有其它流媒体播放器在访问所述终端,如果是,则继续为所述其它流媒体播 放器服务,否则,拆除与所述终端之间的连接。
13、 一种流媒体服务器,其特征在于,所述流媒体服务器包括终端注册模块,用于预先接受有流媒体资源的终端的注册,存储所述终端的流媒体资源 相关信息,并且通知门户管理服务器所述终端为在线状态,所述终端为实时流传输协议RTSP 终端或会话发起协议SIP终端;请求接收和连接建立模块,用于当用户根据所述门户管理服务器提供的所述终端的相关 信息,选择所述终端请求播放流媒体时,接收所述用户的流媒体播放器发来的RTSP请求, 建立到所述流媒体播放器的连接;流媒体转发模块,用于通过所述流媒体服务器与所述终端之间的连接,以及所述流媒体 服务器与所述流媒体播放器之间的连接,将接收到的来自所述终端的流媒体转发给所述流媒 体播放器,由所述流媒体播放器播放给所述用户。
14、 根据权利要求13所述的流媒体服务器,其特征在于,所述终端注册模块具体包括 接收及存储单元,用于接收RTSP终端发送的宣布能力ANNOUNCE消息,所述ANNOUNCE消息中包含所述RTSP终端的媒体能力信息,存储所述RTSP终端的媒体资源信 息和媒体能力信息;第一通知单元,用于通知门户管理服务器所述RTSP终端为在线状态。
15、 根据权利要求14所述的流媒体服务器,其特征在于,所述ANNOUNCE消息为所述 RTSP终端定时发送的,所述第一通知单元还用于在通知所述门户管理服务器所述RTSP终端 为在线状态之后,如果超过预设的时间,所述流媒体服务器还未收到所述RTSP终端发来的 ANNOUNCE消息,则通知所述门户管理服务器所述RTSP终端处于离线状态。
16、 根据权利要求13所述的流媒体服务器,其特征在于,所述终端注册模块具体包括接收单元,用于接收S1P终端发来的注册REGISTER消息;呼叫及存储牟元,用于在所述接收单元收到所述REGISTER消息后,如果所述REGISTER 消息为所述SIP终端在离线状态下发来的第一个REGISTER消息时,呼叫所述SIP终端,并 接收所述STP终端冋复的所述SIP终端的媒体能力信息,存储所述SIP终端的媒体资源信息 和媒体能力信息;第二通知单元,用于通知门户管理服务器所述SIP终端为在线状态。
17、 根据权利要求16所述的流媒体服务器,其特征在于,所述REGISTER消息为所述 SIP终端定时发送的,所述第二通知单元还用于在通知所述门户管理服务器所述SIP终端为在 线状态之后,如果超过预设的时间,所述流媒体服务器还末收到所述STP终端发来的 REGISTER消息,则通知所述门户管理服务器所述SIP终端处于离线状态。
18、 根据权利要求13所述的流媒体服务器,其特征在于,所述请求接收和连接建立模块 具体包括描述媒体消息接收单元,用于当用户根据所述门户管理服务器提供的所述终端的相关信 息,选择所述终端请求播放流媒体时,接收所述用户的流媒体播放器发来的描述媒体 DESCRIBE消息,所述DESCRIBE消息中包含有所述门户管理服务器提供给所述用户的统一 资源定位符URL,所述URL中包含有所述终端的标识和所述URL的有效期;验证单元,用于根据所述描述媒体消息接收单元收到的所述终端的标识确定对应的终端, 并根据收到的所述有效期验证所述URL是否有效,如果有效,则回复己存储的所述终端的媒 体能力信息给所述流媒体播放器,否则,结束;连接建立单元,用于在所述验证单元验证为有效后,建立到所述流媒体播放器的连接。
19、 根据权利要求13所述的流媒体服务器,其特征在于,所述请求接收和连接建立模块具体包括请求接收单元,用于当用户根据所述I'」户管理服务器提供的所述终端的相关信息,选择 所述终端请求播放流媒体时,接收所述用户的流媒体播放器发来的建立会话SETUP消息;第一播放器连接建立单元,用于在所述请求接收单元收到所述SETUP消息后,如果检测 到与所述终端之间已存在连接,则l':'l复响应给所述流媒体播放器,建立弓所述流媒体播放器之间的连接。
20、 根据权利要求13所述的流媒体服务器,其特征在于,所述终端为RTSP终端,所述 请求接收和连接建立模块具体包括RTSP终端连接建立单元,用于接收所述流媒体播放器发来的建立会话SETUP消息,且 检测到不存在与所述RTSP终端之间的连接,则发送新的SETUP消息给所述RTSP终端,建 立所述流媒体服务器与RTSP终端之间的连接;第二播放器连接建立单元,用于在所述RTSP终端连接建立单元建立连接后,回复响应 给所述流媒体播放器,建立所述流媒体服务器与流媒体播放器之间的连接。
21、 根据权利要求13所述的流媒体服务器,其特征在于,所述终端为SIP终端,所述请 求接收和连接建立模块具体包括-SIP终端连接建立单元,用于接收所述流媒体播放器发来的建立会话SETUP消息,且检 测到不存在与所述SIP终端之间的连接,则通过SIP协议呼叫所述SIP终端,建立与所述SIP 终端之间的连接;第三播放器连接建立单元,用于在所述SIP终端连接建立单元建立连接后,回复响应给 所述流媒体播放器,建立与所述流媒体播放器之间的连接。
22、 根据权利要求13所述的流媒体服务器,其特征在于,所述请求接收和连接建立模块 还包括连接拆除单元,用于在所述流媒体服务器停止发送流媒体后,拆除与所述流媒体播放器 之间的连接,并判断是否还有其它流媒体播放器在访问所述终端,如果是,则继续为所述其 它流媒体播放器服务,否则,拆除与所述终端之间的连接。
23、 根据权利要求13所述的流媒体服务器,其特征在于,所述流媒体转发模块还包括; 暂停处理单元,用于将来自所述终端的流媒体转发给所述流媒体播放器之后,如果接收到所述流媒体播放器发送的暂停请求,则停止转发来自所述终端的流媒体到所述流媒体播放 器,并保持与所述终端之间的连接。
24、 根据权利要求23所述的流媒体服务器,其特征在于,所述流媒体转发模块还包括恢复处理单元,用于在停止转发流媒体到所述流媒体播放器之后,如果接收到所述流媒 体播放器发送的恢复播放请求,则开始转发来自所述终端的流媒体到所述流媒体播放器。
25、 一种基于实时流传输协议访问多种终端的系统,其特征在于,所述系统包括终端、 流媒体服务器、门户管理服务器和支持实时流传输协议RTSP协议的流媒体播放器;所述终端,拥有流媒体资源,用于向所述流媒体服务器注册,通过所述流媒体服务器提供所述流媒体资源供所述流媒体播放器访问,且所述终端为RTSP终端或会话发起协议SIP 终端;所述流媒体服务器,用于预先接受所述终端的注册,存储所述终端的流媒体资源相关信 息,并且通知所述门户管理服务器所述终端为在线状态,当用户根据所述门户管理服务器提 供的所述终端的相关信息,选择所述终端请求播放流媒体时,接收所述用户的流媒体播放器 发来的请求,通过与所述终端之间的连接,以及与所述流媒体播放器之间的连接,将接收到 的来自所述终端的流媒体转发给所述流媒体播放器;所述门户管理服务器,用于从所述流媒体服务器接收所述终端的在线状态信息,并提供 所述终端的相关信息给所述用户,在所述用户选择所述终端请求播放流媒体时,生成所述终 端的接入地址给所述用户;所述流媒体播放器,用于当所述用户根据所述门户管理服务器提供的所述终端的相关信 息,选择所述终端请求播放流媒体时,向所述流媒体服务器发送请求,并将接收到的所述流 媒体服务器返回的流媒体播放给所述用户。
26、 根据权利要求25所述的系统,其特征在于,所述流媒体服务器还用于在通知所述门 户管理服务器所述终端处于在线状态后,如果超过预设的时间未收到来自所述终端的消息时, 通知所述门户管理服务器所述终端处于离线状态;所述门户管理服务器还用于从所述流媒体服务器接收所述终端的离线状态信息。
全文摘要
本发明公开了一种基于RTSP访问多种终端的方法、流媒体服务器和系统,属于通信和流媒体技术的交叉领域。该方法包括流媒体服务器接受有流媒体资源的RTSP/SIP终端的注册,存储其流媒体资源相关信息并通知门户管理服务器终端在线;当用户根据门户管理服务器提供的终端相关信息选择终端请求播放时,流媒体服务器接收用户流媒体播放器的请求,通过与终端及流媒体播放器之间的连接,将终端的流媒体转给流媒体播放器以播放给用户。流媒体服务器包括终端注册模块、请求接收和连接建立模块、流媒体转发模块。系统包括终端、流媒体服务器、门户管理服务器和流媒体播放器。本发明基于现有的RTSP和SIP协议,使得流媒体播放器可以访问众多其它终端的媒体资源。
文档编号H04L29/08GK101674317SQ20091020723
公开日2010年3月17日 申请日期2009年10月13日 优先权日2009年10月13日
发明者尹绍华 申请人:尹绍华
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1