发明内容
本发明要解决的主要技术问题是,提供一种移动流媒体的直播服务提供方法及系统,能够避免带宽的不必要消耗,提高流服务器的性能。
为解决上述技术问题,本发明采用了如下技术方案:
一种移动流媒体的直播服务提供方法,包括:
设置中介流媒体服务器,在该中介流媒体服务器中利用组播地址创建直播频道;
当需要其他流媒体服务器提供直播服务时,由所述中介流媒体服务器从直播源获取直播服务码流,所述其他流媒体服务器加入所述中介流媒体服务器创建直播频道时的组播组以获得所述直播服务码流。
在本发明所述方法的一种实施例中,直播服务提供的具体流程包括:
业务引擎根据用户设备的直播服务请求,查找用户设备的请求内容是否存在于流媒体服务器,如是,选择流媒体服务器向用户设备提供直播服务。
在本发明所述方法的一种实施例中,按负载均衡选择流媒体服务器向用户设备提供直播服务。
在本发明所述方法的一种实施例中,还包括:业务引擎根据流媒体服务器的硬件参数和实际并发流数确定流媒体服务器是否为用户设备提供直播服务。
在本发明所述方法的一种实施例中,直播服务提供的具体流程包括:
用户设备通过无线网络访问移动流媒体的WAP门户;
WAP门户将移动流媒体内容展现给用户设备;
用户设备选择感兴趣的频道进行直播,向业务引擎发送直播服务请求;
业务引擎查找用户设备的请求内容是否存在于流媒体服务器,如是,且有可用的流媒体服务器,选择流媒体服务器并向用户设备返回包含流媒体服务器网址的结果消息;
用户设备根据收到的结果消息中的流媒体服务器网址,向流媒体服务器发起服务请求;
中介流媒体服务器从直播源获取直播服务码流,向用户设备提供直播服务;或者其他流媒体服务器加入中介流媒体服务器创建直播频道时的组播组以获得中介流媒体服务器从直播源获得的直播服务码流,向用户设备提供直播服务。
在本发明所述方法的一种实施例中,所述用户设备以HTTP格式的GET请求向业务引擎发送直播服务请求。
在本发明所述方法的一种实施例中,所述用户设备以实时流协议向业务引擎发起服务请求。
在本发明所述方法的一种实施例中,所述WAP门户以列表形式将移动流媒体内容展现在页面上并返回给用户设备。
本发明还提供了一种移动流媒体的直播服务提供系统,包括:利用组播地址创建直播频道的中介流媒体服务器,所述中介流媒体服务器在其他流媒体服务器需要提供直播服务时,供其他流媒体服务器加入到其创建直播频道时的组播组以获得由其从直播源获取的直播服务码流。
在本发明所述系统的一种实施例中,所述流媒体服务器按负载均衡向用户设备提供直播服务。
本发明通过设置中介流媒体服务器,由该中介流媒体服务器利用组播地址创建频道,其他流媒体服务器通过加入组播组来获取直播服务码流提供服务,从而只需由中介流媒体服务器从直播源拉一路码流,避免了带宽的不必要消耗,也提高了流媒体服务器的处理性能。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
本发明提供了一种移动流媒体的直播服务提供方法及系统,其主要是采用节点内支持组播的方式来实现SS提供直播服务的功能,从而可以降低带宽的消耗,并且解决SS从直播源重复拉码流所造成的性能差问题。包括:设置中介流媒体服务器,在该中介流媒体服务器中利用组播地址创建直播频道;当需要其他流媒体服务器提供直播服务时,由中介流媒体服务器从直播源获取直播服务码流,其他流媒体服务器加入中介流媒体服务器创建直播频道时的组播组以获得直播服务码流。通过这样的设计,使得只需中介流媒体服务器从直播源拉一路码流,避免了带宽的不必要消耗,提高了SS的处理性能。
如图1所示,移动流媒体系统组网主要包括业务引擎和流媒体服务器,流媒体服务器可以是一个或者多个。
图2是用户终端请求直播媒体服务时系统的业务流程,包括:
步骤201,用户设备向业务引擎发起直播服务请求;
步骤202,业务引擎在自身的数据库中查找用户请求的内容在流媒体服务器上是否存在;
步骤203,根据步骤202中的查找结果,并结合流媒体服务器的硬件参数和实际并发流数等情况确定是否可以提供服务,也即确定流媒体服务器是否可用;
步骤204,如果可以为用户提供服务,选择某台流媒体服务器提供直播服务;
步骤205,如果是中介流媒体服务器,则使用组播地址创建频道,从直播源获取媒体直播码流进行直播服务,若被选择的流媒体服务器不是中介流媒体服务器,则自动加入之前中介流媒体服务器创建频道所用的组播组并向用户设备发送媒体直播码流,开始直播服务流程;
步骤206,若不存在满足条件的内容,则流媒体服务器拒绝为用户设备提供直播服务。
如图3所示,当流媒体服务器上存在用户访问的内容时,流媒体服务器按如下流程为用户提供直播服务:
图中,UE是用户设备(User Equipment),一般指移动手机终端;
WAP是指WAP(Wireless Access Protocol,无线接入协议)门户,门户上提供节目入口列表,在实际应用中,用户设备先访问WAP门户,在页面上选择一个感兴趣的内容进行访问以触发直播流程;
SS是流媒体服务器,部署在网络中,负责用户本地接入,提供流媒体的点播、直播等服务;
SE是业务引擎(Service Engine),与流媒体服务器共同为用户提供移动流媒体服务。
业务流程步骤为:
步骤301,用户设备通过无线网络访问移动流媒体系统的WAP门户;
步骤302,WAP门户将移动流媒体系统中的音视频媒体文件以列表的方式展现在页面上,返回给用户设备;
步骤303,用户选择感兴趣的频道进行直播,向SE发送直播服务请求,该消息是一个HTTP(HyperText Transfer Protocol,超文本传输协议)格式的GET请求;
步骤304,SE在数据库的内容记录表中检索,查找用户请求的内容在流媒体服务器上是否存在,如果存在,且有可用的流媒体服务器,则选择某台SS,将结果消息以HTTP包的形式返回,HTTP消息头中结果码是200,HTTP消息体中包含了SE生成的结果url(Uniform/Universal Resource Locator,统一资源定位符,也称为网页地址);
步骤305,用户设备收到SE的响应后,取出响应消息中的url,以RTSP(Real-time Streaming Protocol,实时流协议)向SS发起服务请求;
步骤306,SS(若不是中介流媒体服务器SS10)收到用户设备RTSP请求后,自动加入先前SS10创建频道时的组播组,从创建频道所使用的SS10处获取直播码流。
步骤307,向用户设备发送直播码流数据,提供直播服务。
本发明实施例中的移动流媒体的直播服务提供系统,主要包括利用组播地址创建直播频道的中介流媒体服务器,中介流媒体服务器在其他流媒体服务器需要提供直播服务时,供其他流媒体服务器加入组播组来获取直播服务码流,组播组即中介流媒体服务器创建直播频道时的组播组,直播服务码流即是中介流媒体服务器从直播源获取的媒体主播码流。
实际应用中,一般都是采用CDN(Content Delivery Network,内容分发网络)进行媒体内容的分发与服务。其过程主要是:当接口机的内容同步模块接收到内容管理侧CMS发送的内容发布请求消息后,解析XML文件,将相应内容通知CDN进行发布,最后返回发布结果给CMS。如果发布请求中存在频道的话,那么接口机将通知CDN->SS10(中介流媒体服务器)使用组播IP自动创建频道。后续如果针对该频道有终端用户直播请求时,由SS10为其服务。若请求数过多,CDN将根据负载均衡,分配其余SS(比如SS1,SS2...)提供服务,此时,这些提供服务的其他SS,加入SS10创建频道时所使用的组播组。这样,只需要SS10从直播源拉一路码流,其余SS1,SS2...接收SS10的码流,然后向终端用户提供服务即可,不但避免了带宽的不必要消耗,也提高了SS10的服务性能。
可以看出,本发明采用节点内支持组播的方式来实现SS提供直播服务的功能,既降低了带宽的消耗,又解决了SS从直播源重复拉码流所造成的性能差问题。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。