直播媒体数据的方法、设备和系统与流程

文档序号:12377057阅读:318来源:国知局
直播媒体数据的方法、设备和系统与流程

本发明实施例涉及计算机网络领域,并且更具体地,涉及直播媒体数据的方法、设备和系统。



背景技术:

在线服务(Over the Top,OTT)视频网站上的视频,按照观看形式,分为点播(Video on Demand,VOD)和直播(Video on Live,VOL)两种。

点播:观看存储在视频服务器上片源。因为片源已经全部制作完成,所以在观看时可以随时停止、快进快退、前后拖动。

直播:播放实时视频,一般是各个电视频道的内容或者体育赛事、音乐会的实况转播。不能前后拖动播放进度。观看同一直播媒体数据的观众,看到的内容是完全相同的。

OTT服务器属于OTT业务提供商(提供OTT视频网站服务的公司)所有,可以放置在运营商某个城市的数据中心内,也可以放置在OTT业务提供商自己的机房内。OTT服务器可以给OTT用户提供注册、登陆、呈现节目界面、流媒体发送等服务。OTT服务器具体部署时一般由多台物理服务器协同对外提供功能。

OTT客户端指OTT用户用于观看OTT视频的终端。常见的有三种形式:台式电脑或者笔记本电脑上的桌面客户端、手机或者平板电脑上的移动应用、OTT机顶盒。

当前OTT视频网站传输视频大多是基于超文本传输协议(HyperText Transfer Protocol,HTTP)的单播,也有一部分是基于用户数据报协议(User Datagram Protocol,UDP)的单播,这意味着观看直播媒体数据的OTT用户,在网络中传输了大量重复的数据报文。直播媒体数据的大量重复的报文严重挤占了承载网的带宽。



技术实现要素:

本发明实施例提供一种直播媒体数据的方法、设备和系统,能够避免大量重复的直播流穿越骨干网,减少直播媒体数据对承载网的带宽占用。

第一方面,提供了一种OTT直播代理服务器,包括:组播资源分配单元,用于根据指定频道的组播资源分配指示及该指定频道的媒体描述为该指定频道分配组播资源,其中,该组播资源分配指示用于通知该OTT直播代理服务器为该指定频道分配组播资源,该指定频道的媒体描述包括该指定频道的至少一种分辨率及该至少一种分辨率的媒体数据所对应的URL,该组播资源包括该指定频道对应的组播组或该指定频道对应的组播组及该至少一种分辨率对应的端口;获取单元,用于根据该指定频道的媒体描述通过单播方式从该指定频道所属的OTT服务器获取该至少一种分辨率对应的媒体数据;组播单元,用于将该至少一种分辨率对应的媒体数据转换为组播媒体数据,并将该组播媒体数据组播发送给该组播组。

结合第一方面,在第一种可能的实现方式中,该获取单元还用于从该OTT服务器获取该指定频道的媒体描述;或者,该指定频道的媒体描述是预先存储在该OTT直播代理服务器中的。

结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,具体实现为:该组播资源分配指示是由该OTT服务器发送的;或者,该组播资源分配指示是由该OTT直播代理服务器所在的城域网的组播复制点发送的。

结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第三种可能的实现方式中,还包括:转发单元,用于接收该OTT服务器发送的频道加入指示,并将该频道加入指示发送给该OTT直播代理服务器所在的城域网的组播复制点,以使该组播复制点将OTT客户端加入到该指定频道的合法用户列表中,其中,该频道加入指示用于通知允许该OTT客户端加入该指定频道。

结合第一方面或第一方面的第一种可能的实现方式至第一方面的第三种可能的实现方式中任一种可能的实现方式,在第四种可能的实现方式中,还包括:注册单元,用于向该OTT服务器注册该OTT直播代理服务器所在的城域网的互联网协议IP网段及该OTT直播代理服务器的IP地址。

结合第一方面或第一方面的第一种可能的实现方式至第一方面的第四种可能的实现方式中任一种可能的实现方式,在第五种可能的实现方式中, 该组播资源分配单元还用于将该分配的组播资源反馈给该OTT服务器,以便该OTT服务器将该组播资源发送给该OTT客户端,使得该OTT客户端能够加入该组播组。

结合第一方面或第一方面的第一种可能的实现方式至第一方面的第五种可能的实现方式中任一种可能的实现方式,在第六种可能的实现方式中,该组播资源分配单元还用于将该指定频道与该指定频道的组播组之间的对应关系发送给该OTT直播代理服务器所在城域网内的组播复制点,以便该组播复制点根据该OTT客户端发送的加入该指定频道的请求,确定该指定频道对应的组播组。

结合第一方面的第六种可能的实现方式,在第七种可能的实现方式中,该组播资源分配单元还用于根据该OTT客户端发送的加入该指定频道的请求,将该组播资源发送给该OTT客户端,以便该OTT客户端向组播复制点请求该指定频道的媒体数据。

结合第一方面或第一方面的第一种可能的实现方式至第一方面的第七种可能的实现方式中任一种可能的实现方式,在第八种可能的实现方式中,还包括:组播组管理单元,用于:根据该组播复制点的组播加入请求,将该组播复制点加入该组播组,并在该组播组的组播转发表项添加该组播复制点对应的出端口;或者,根据该组播复制点的组播退出请求,将该组播复制点从该组播组中删除,并在该组播组的组播转发表项删除该组播复制点对应的出端口。

结合第一方面的第八种可能的实现方式,该组播资源分配单元还用于当该组播组的组播转发表项中出端口数为零时,删除该组播组的组播转发表项,并断开从该OTT服务器下载该指定频道的媒体数据的链接。

第二方面,提供了一种OTT服务器,包括:组播资源分配指示单元,用于向在该OTT服务器中注册的OTT直播代理服务器发送组播资源分配指示,该组播资源分配指示用于通知该OTT直播代理服务器对指定频道分配组播资源;媒体描述管理单元,用于根据该OTT直播代理服务器发送的获取该指定频道的媒体描述的请求,将该指定频道的媒体描述发送给该OTT直播代理服务器,其中,该指定频道的媒体描述包括该指定频道的至少一种分辨率及该至少一种分辨率的媒体数据所对应的URL;媒体资源管理单元,用于根据该OTT直播代理服务器对该指定频道的媒体数据获取请求,将该 指定频道的至少一种分辨率的媒体数据以单播方式发送给该OTT直播代理服务器。

结合第二方面,在第一种可能的实现方式中,还包括:注册单元,用于根据该OTT直播代理服务器发送的注册请求,记录该OTT直播代理服务器所在的城域网的互联网协议IP网段及该OTT直播代理服务器的IP地址,其中,该注册请求携带该OTT直播代理服务器所在的城域网的IP网段及该OTT直播代理服务器的IP地址。

结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括:鉴权单元,用于根据该OTT所在的城域网中的OTT客户端加入该指定频道的请求,确定是否允许该OTT客户端加入该指定频道;该组播资源分配指示单元具体用于当该鉴权单元确定允许该OTT客户端加入该指定频道后,且该OTT服务器上不存在该OTT直播代理服务器发送的该指定频道的组播资源时,向该OTT直播代理服务器发送该组播资源分配指示。

结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,该鉴权单元还用于在允许该OTT客户端加入该指定频道后,向该OTT直播代理服务器发送频道加入指示,该频道加入指示用于通知该OTT直播代理服务器允许该OTT客户端加入该指定频道。

结合第二方面的第二种可能的实现方式,在第四种可能的实现方式中,该鉴权单元还用于将该OTT直播代理服务器反馈的为该指定频道分配的组播资源发送给该OTT客户端,以便该OTT客户端向组播复制点请求该指定频道的媒体数据,其中,该组播资源包括该指定频道对应的组播组或该指定频道对应的组播组及该指定频道的至少一种分辨率对应的端口。

结合第二方面的第二种可能的实现方式,在第五种可能的实现方式中,还包括:重定位指示单元,用于根据该OTT客户端加入该指定频道的请求,以及该指定频道的组播资源,指示该OTT客户端将该指定频道的加入请求重定位到该OTT直播代理服务器上。

第三方面,提供了一种组播复制点,包括:组播管理单元,用于向所在城域网的OTT直播代理服务器请求加入该OTT直播代理服务器为指定频道分配的组播组;媒体数据获取单元,用于接收该OTT直播代理服务器以组播方式发送的该指定频道的媒体数据;媒体数据管理单元,用于将该指定频 道的媒体数据以组播方式或单播方式发送给该OTT客户端。

结合第三方面,在第一种可能的实现方式中,还包括:权限管理单元,用于根据所在城域网的OTT直播代理服务器发送的频道加入指示,将该OTT客户端加入到该指定频道的合法用户列表中,其中,该频道加入指示用于通知该组播复制点允许该OTT客户端加入该指定频道。

结合第三方面或第三方面的第一种可能的实现方式,在第二种可能的实现方式中,该组播管理单元还用于:根据该OTT客户端发送的加入该指定频道的组播加入请求或媒体数据请求,将该OTT客户端加入该组播复制点的组播转发表,并向该OTT直播代理服务器请求加入该组播组;或者,根据该OTT客户端发送的退出该指定频道的请求,将该OTT客户端从该组播复制点的组播转发表中删除。

第四方面,提供了一种直播媒体数据的方法,包括:根据指定频道的组播资源分配指示及该指定频道的媒体描述为该指定频道分配组播资源,其中,该组播资源分配指示用于通知该OTT直播代理服务器为该指定频道分配组播资源,该指定频道的媒体描述包括该指定频道的至少一种分辨率及该至少一种分辨率的媒体数据所对应的URL,该组播资源包括该指定频道对应的组播组或该指定频道对应的组播组及该至少一种分辨率对应的端口;根据该指定频道的媒体描述通过单播方式从该指定频道所属的OTT服务器获取该至少一种分辨率对应的媒体数据;将该至少一种分辨率对应的媒体数据转换为组播媒体数据,并将该组播媒体数据组播发送给该组播组。

结合第四方面,在第一种可能的实现方式中,在根据指定频道的组播资源分配指示及该指定频道的媒体描述为该指定频道分配组播资源之前,该方法还包括从该OTT服务器获取该指定频道的媒体描述;或者,该指定频道的媒体描述是预先存储在该OTT直播代理服务器中的。

结合第四方面或第四方面的第一种可能的实现方式,在第二种可能的实现方式中,在根据指定频道的组播资源分配指示及该指定频道的媒体描述为该指定频道分配组播资源之前,该方法还包括:接收该指定频道的组播资源分配指示;其中,该组播资源分配指示是由该OTT服务器发送的,或者,该组播资源分配指示是由该OTT直播代理服务器所在的城域网的组播复制点发送的。

结合第四方面或第四方面的第一种可能的实现方式或第四方面的第二 种可能的实现方式,在第三种可能的实现方式中,还包括:接收该OTT服务器发送的频道加入指示,并将该频道加入指示发送给该OTT直播代理服务器所在的城域网的组播复制点,以使该组播复制点将OTT客户端加入到该指定频道的合法用户列表中,其中,该频道加入指示用于通知允许该OTT客户端加入该指定频道。

结合第四方面或第四方面的第一种可能的实现方式至第四方面的第三种可能的实现方式中任一种可能的实现方式,在第四种可能的实现方式中,还包括:向该OTT服务器注册该OTT直播代理服务器所在的城域网的互联网协议IP网段及该OTT直播代理服务器的IP地址。

结合第四方面或第四方面的第一种可能的实现方式至第四方面的第四种可能的实现方式中任一种可能的实现方式,在第五种可能的实现方式中,还包括:将该分配的组播资源反馈给该OTT服务器,以便该OTT服务器将该组播资源发送给该OTT客户端,使得该OTT客户端能够加入该组播组。

结合第四方面或第四方面的第一种可能的实现方式至第四方面的第五种可能的实现方式中任一种可能的实现方式,在第六种可能的实现方式中,还包括:将该指定频道与该指定频道的组播组之间的对应关系发送给该OTT直播代理服务器所在城域网内的组播复制点,以便该组播复制点根据OTT客户端发送的加入该指定频道的请求,确定该指定频道对应的组播组。

结合第四方面的第六种可能的实现方式,在第七种可能的实现方式中,还包括:根据OTT客户端发送的加入该指定频道的请求,将该组播资源发送给该OTT客户端,以便该OTT客户端向组播复制点请求该指定频道的媒体数据。

结合第四方面或第四方面的第一种可能的实现方式至第四方面的第七种可能的实现方式中任一种可能的实现方式,在第八种可能的实现方式中,还包括:根据该组播复制点的组播加入请求,将该组播复制点加入该组播组,并在该组播组的组播转发表项添加该组播复制点对应的出端口;或者,根据该组播复制点的组播退出请求,将该组播复制点从该组播组中删除,并在该组播组的组播转发表项删除该组播复制点对应的出端口。

结合第四方面的第一种可能的实现方式,还包括:当该组播组的组播转发表项中出端口数为零时,删除该组播组的组播转发表项,并断开从该OTT服务器下载该指定频道的媒体数据的链接。

第五方面,提供了一种直播媒体数据的方法,包括:OTT服务器向在该OTT服务器中注册的OTT直播代理服务器发送组播资源分配指示,该组播资源分配指示用于通知该OTT直播代理服务器对指定频道分配组播资源;该OTT服务器根据该OTT直播代理服务器发送的获取该指定频道的媒体描述的请求,将该指定频道的媒体描述发送给该OTT直播代理服务器,其中,该指定频道的媒体描述包括该指定频道的至少一种分辨率及该至少一种分辨率的媒体数据所对应的URL;该OTT服务器根据该OTT直播代理服务器对该指定频道的媒体数据获取请求,将该指定频道的至少一种分辨率的媒体数据以单播方式发送给该OTT直播代理服务器。

结合第五方面,在第一种可能的实现方式中,还包括:该OTT服务器根据该OTT直播代理服务器发送的注册请求,记录该OTT直播代理服务器所在的城域网的互联网协议IP网段及该OTT直播代理服务器的IP地址,其中,该注册请求携带该OTT直播代理服务器所在的城域网的IP网段及该OTT直播代理服务器的IP地址。

结合第五方面或第五方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括:该OTT服务器根据该OTT所在的城域网中的OTT客户端加入该指定频道的请求,确定是否允许该OTT客户端加入该指定频道;该OTT服务器向在该OTT服务器中注册的OTT直播代理服务器发送组播资源分配指示包括:当该OTT服务器确定允许该OTT客户端加入该指定频道后,且该OTT服务器上不存在该OTT直播代理服务器发送的该指定频道的组播资源时,该OTT服务器向该OTT直播代理服务器发送该组播资源分配指示。

结合第五方面的第二种可能的实现方式,在第三种可能的实现方式中,还包括:该OTT服务器在允许该OTT客户端加入该指定频道后,向该OTT直播代理服务器发送频道加入指示,该频道加入指示用于通知该OTT直播代理服务器允许该OTT客户端加入该指定频道。

结合第五方面的第二种可能的实现方式,在第四种可能的实现方式中,还包括:该OTT服务器将该OTT直播代理服务器反馈的为该指定频道分配的组播资源发送给该OTT客户端,以便该OTT客户端向组播复制点请求该指定频道的媒体数据,其中,该组播资源包括该指定频道对应的组播组或该指定频道对应的组播组及该指定频道的至少一种分辨率对应的端口。

结合第五方面的第二种可能的实现方式,在第五种可能的实现方式中,还包括:该OTT服务器根据该OTT客户端加入该指定频道的请求,以及该指定频道的组播资源,指示该OTT客户端将该指定频道的加入请求重定位到该OTT直播代理服务器上。

第六方面,提供了一种直播媒体数据的方法,包括:向所在城域网的OTT直播代理服务器请求加入该OTT直播代理服务器为指定频道分配的组播组;接收该OTT直播代理服务器以组播方式发送的该指定频道的媒体数据;将该指定频道的媒体数据以组播方式或单播方式发送给该OTT客户端。

结合第六方面,在第一种可能的实现方式中,还包括:根据该OTT直播代理服务器发送的频道加入指示,将OTT客户端加入到该指定频道的合法用户列表中,其中,该频道加入指示用于通知允许该OTT客户端加入该指定频道。

结合第六方面或第六方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括:根据该OTT客户端发送的加入该指定频道的组播加入请求或媒体数据请求,将该OTT客户端加入该组播复制点的组播转发表,并向该OTT直播代理服务器请求加入该组播组;或者,根据该OTT客户端发送的退出该指定频道的请求,将该OTT客户端从该组播复制点的组播转发表中删除。

本发明实施例的直播媒体数据的方法、设备和系统,首先由OTT服务器将指定频道的媒体数据通过单播方式传输到城域网的OTT直播代理服务器,再由OTT直播代理服务器以组播方式将媒体数据发送给组播组,使得组播组内的组播复制点在接收到媒体数据后将媒体数据传输给OTT客户端,能够大大减少OTT服务器到城域网之间重复传输的报文,从而能够避免大量重复的直播流穿越骨干网,减少直播媒体数据对承载网的带宽占用。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例直播媒体数据的OTT系统的网络架构图;

图2是本发明实施例直播媒体数据的方法流程图;

图3是本发明实施例直播媒体数据的另一方法流程图;

图4是本发明实施例直播媒体数据的再一方法流程图;

图5是本发明实施例直播媒体数据的一种交互流程图;

图6是本发明实施例直播媒体数据的另一种交互流程图;

图7是本发明实施例直播媒体数据的再一种交互流程图;

图8是本发明实施例直播媒体数据的再一种交互流程图;

图9是本发明实施例直播媒体数据的再一种交互流程图;

图10是本发明实施例直播媒体数据的再一种交互流程图;

图11是本发明实施例直播媒体数据的再一种交互流程图;

图12是本发明实施例OTT直播代理服务器的结构示意图;

图13是本发明实施例OTT直播代理服务器的另一结构示意图;

图14是本发明实施例OTT服务器的结构示意图;

图15是本发明实施例OTT服务器的另一结构示意图;

图16是本发明实施例组播复制点的结构示意图;

图17是本发明实施例OTT直播代理服务器的再一结构示意图;

图18是本发明实施例OTT服务器的再一结构示意图;

图19是本发明实施例组播复制点的再一结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了方便理解本发明实施例,首先在此介绍本发明实施例描述中会引入的几个要素。

组播(Multicast)传输:在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,只需复制一份的相同数据包。它提高了数据传送效率,减少了骨干网络出现拥塞的可能性。

Internet组管理协议(Internet Group Management Protocol,IGMP),是因特网协议家族中的一个组播协议。该协议运行在主机和组播路由器之间, 用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。域内组播路由协议根据IGMP维护的这些组播组成员关系信息,运用一定的组播路由算法构造组播分发树进行组播数据包转发。域间组播路由协议在各自治域间发布具有组播能力的路由信息以及组播源信息,以使组播数据在域间进行转发。

图1是本发明实施例直播媒体数据的OTT系统的网络架构图。如图1所示,OTT系统可包括:OTT服务器、OTT直播代理服务器、组播复制点及OTT客户端。其中,OTT服务器可能位于运营商某个城市的数据中心内,或者是在OTT业务提供商自己的机房内;OTT直播代理服务器、组播复制点以及OTT客户端在同一个城域网内。当用户通过OTT客户端请求观看OTT服务器中某个频道的音频或视频节目时,OTT服务器中的该频道的媒体流,以单播的方式通过骨干网传输到城域网的OTT直播代理服务器,所述OTT直播代理服务器以组播的方式将该频道的媒体流发给组播组,再由组播组中的组播复制点将频道的媒体流以单播或组播的方式发送给OTT客户端。

下面,分别从OTT直播代理服务器、OTT服务器及组播复制点的角度,对图1所示的OTT系统的执行方法进行描述。

图2是本发明实施例直播媒体数据的一种方法流程图。图2的方法由OTT直播代理服务器执行。该方法包括:

S201,根据指定频道的组播资源分配指示及该指定频道的媒体描述为该指定频道分配组播资源。

其中,该组播资源分配指示用于通知该OTT直播代理服务器为该指定频道分配组播资源,该指定频道的媒体描述包括该指定频道的至少一种分辨率及该至少一种分辨率的媒体数据所对应的统一资源定位符(Uniform Resoure Locator,URL),该组播资源包括该指定频道对应的组播组或该指定频道对应的组播组及该至少一种分辨率对应的端口port。

当然,应理解,在步骤S201之前,OTT直播代理服务器还需要接收该组播资源分配指示。其中,该组播资源分配指示是OTT直播代理服务器的OTT服务器发送的,或者,该组播资源分配指示是OTT直播代理服务器所在的城域网的组播复制点。

S202,根据该指定频道的媒体描述通过单播方式从该指定频道所属的 OTT服务器获取OTT服务器获取该至少一种分辨率对应的媒体数据。

具体地,OTT直播代理服务器可根据媒体描述中的URL,以单播方式获取该URL对应的媒体数据。

S203,将该至少一种分辨率对应的媒体数据转换为组播媒体数据,并将该组播媒体数据组播发送给该组播组。

本发明实施例中,OTT直播代理服务器根据OTT服务器的频道分配指示分配频道的组播资源,并从OTT服务器获取频道的媒体数据,再将频道的媒体数据组播发送到频道对应的组播组,以便组播组内的组播复制点能够将频道的媒体数据传输给加入频道的OTT客户端,能够避免大量重复的直播流穿越骨干网,从而大大减少OTT服务器到城域网之间重复传输的报文,减少直播媒体数据对承载网的带宽占用。

此外,本发明实施例的方法,OTT客户端从最近的网络设备(组播复制点)获取频道的音频或视频节目,相比于从OTT服务器获取频道的音频或视频节目,能够缩短视频启动延迟,降低丢包率/抖动,从而给用户提供了更好的体验。

可选地,作为一个实施例,在步骤S201之前,该方法还包括:从该OTT服务器获取该指定频道的媒体描述。

可选地,作为另一个实施例,该指定频道的媒体描述是预先存储在该OTT直播代理服务器中的。OTT服务厂商可预先在OTT代理服务器上存储部分或全部频道的相关媒体描述,以减少因媒体描述请求引起的信息交互。

可选地,该方法还包括:接收该OTT服务器发送的频道加入指示,并将该频道加入指示发送给该OTT直播代理服务器所在的城域网的组播复制点,以使该组播复制点将OTT客户端加入到该指定频道的合法用户列表中,其中,该频道加入指示用于通知允许该OTT客户端加入该指定频道。

可选地,该方法还包括:向该OTT服务器注册该OTT直播代理服务器所在的城域网的互联网协议(Internet Protocol,IP)网段及该OTT直播代理服务器的IP地址。

可选地,作为一个实施例,该方法还包括:将该分配的组播资源反馈给该OTT服务器,以便该OTT服务器将该组播资源发送给该OTT客户端,使得该OTT客户端能够加入该组播组。

可选地,作为另一个实施例,该方法还包括:将该指定频道与该指定频 道的组播组之间的对应关系发送给该OTT直播代理服务器所在城域网内的组播复制点,以便该组播复制点根据OTT客户端发送的加入该指定频道的请求,确定该指定频道对应的组播组。

进一步地,该方法还包括:根据OTT客户端发送的加入该指定频道的请求,将该组播资源发送给该OTT客户端,以便该OTT客户端向组播复制点请求该指定频道的媒体数据。

可选地,作为一个实施例,该方法还包括:根据该组播复制点的组播加入请求,将该组播复制点加入该组播组,并在该组播组的组播转发表项添加该组播复制点对应的出端口。

可选地,作为另一个实施例,该方法还包括:根据该组播复制点的组播退出请求,将该组播复制点从该组播组中删除,并在该组播组的组播转发表项删除该组播复制点对应的出端口。

进一步地,该方法还包括:当该组播组的组播转发表项中出端口数为零时,删除该组播组的组播转发表项,并断开从该OTT服务器下载该指定频道的媒体数据的链接。

图3是本发明实施例直播媒体数据的另一方法流程图。图3的方法由OTT直播代理服务器执行。该方法包括:

S301,OTT服务器向在该OTT服务器中注册的OTT直播代理服务器发送组播资源分配指示。

其中,该组播资源分配指示用于通知该OTT直播代理服务器对指定频道分配组播资源。

S302,该OTT服务器根据该OTT直播代理服务器发送的获取该指定频道的媒体描述的请求,将该指定频道的媒体描述发送给该OTT直播代理服务器。

其中,该指定频道的媒体描述包括该指定频道的至少一种分辨率及该至少一种分辨率的媒体数据所对应的URL。

S303,该OTT服务器根据该OTT直播代理服务器对该指定频道的媒体数据获取请求,将该指定频道的至少一种分辨率的媒体数据以单播方式发送给该OTT直播代理服务器。

本发明实施例中,OTT服务器指示OTT直播代理服务器建立组播组分配频道的组播资源,并以单播方式向OTT直播代理服务器发送频道的媒体 数据,使得OTT直播代理服务器将频道的媒体数据经组播复制点发送给加入组播组的OTT客户端,能够避免大量重复的直播流穿越骨干网,从而大大减少OTT服务器到城域网之间重复传输的报文,减少直播媒体数据对承载网的带宽占用。

可选地,该方法还包括:该OTT服务器根据该OTT直播代理服务器发送的注册请求,记录该OTT直播代理服务器所在的城域网的互联网协议IP网段及该OTT直播代理服务器的IP地址,其中,该注册请求携带该OTT直播代理服务器所在的城域网的IP网段及该OTT直播代理服务器的IP地址。

可选地,作为一个实施例,该方法还包括:该OTT服务器根据该OTT所在的城域网中的OTT客户端加入该指定频道的请求,确定是否允许该OTT客户端加入该指定频道。进一步地,该OTT服务器向在该OTT服务器中注册的OTT直播代理服务器发送组播资源分配指示具体实现为:当该OTT服务器确定允许该OTT客户端加入该指定频道后,且该OTT服务器上不存在该OTT直播代理服务器发送的该指定频道的组播资源时,该OTT服务器向该OTT直播代理服务器发送该组播资源分配指示。

可选地,该方法还包括:该OTT服务器在允许该OTT客户端加入该指定频道后,向该OTT直播代理服务器发送频道加入指示,该频道加入指示用于通知该OTT直播代理服务器允许该OTT客户端加入该指定频道。

进一步地,作为一个实施例,该方法还包括:该OTT服务器将该OTT直播代理服务器反馈的为该指定频道分配的组播资源发送给该OTT客户端,以便该OTT客户端向组播复制点请求该指定频道的媒体数据,其中,该组播资源包括该指定频道对应的组播组或该指定频道对应的组播组及该指定频道的至少一种分辨率对应的端口。

或者,进一步地,作为另一个实施例,该方法还包括:该OTT服务器根据该OTT客户端加入该指定频道的请求,以及该指定频道的组播资源,指示该OTT客户端将该指定频道的加入请求重定位到该OTT直播代理服务器上。

图4是本发明实施例直播媒体数据的再一方法流程图。图4的方法由组播复制点执行。该方法包括:

S401,向所在城域网的OTT直播代理服务器请求加入该OTT直播代理 服务器为指定频道分配的组播组。

S402,接收该OTT直播代理服务器以组播方式发送的该指定频道的媒体数据。

S403,将该指定频道的媒体数据以组播方式或单播方式发送给该OTT客户端。

本发明实施例中,组播复制点从OTT直播代理服务器建立的组播组获取频道的媒体数据并发送给OTT客户端,使得OTT客户端不需要再从OTT服务器直接获取频道的媒体数据,能够避免大量重复的直播流穿越骨干网,从而大大减少OTT服务器到城域网之间重复传输的报文,减少直播媒体数据对承载网的带宽占用。

可选地,作为一个实施例,该方法还包括:根据该OTT客户端发送的加入该指定频道的组播加入请求或媒体数据请求,将该OTT客户端加入该组播复制点的组播转发表,并向该OTT直播代理服务器请求加入该组播组。

可选地,作为另一个实施例,该方法还包括:根据该OTT客户端发送的退出该指定频道的请求,将该OTT客户端从该组播复制点的组播转发表中删除。

可选地,该方法还包括:根据该OTT直播代理服务器发送的频道加入指示,将OTT客户端加入到该指定频道的合法用户列表中,其中,该频道加入指示用于通知允许该OTT客户端加入该指定频道。

应理解,在根据该OTT直播代理服务器发送的频道加入指示,将OTT客户端加入到该指定频道的合法用户列表中之前,该方法还可包括:接收该OTT直播代理服务器发送的频道加入指示。

进一步地,该方法还包括:当该组播复制点的组播转发表的OTT客户端为零时,向该OTT直播代理服务器发送组播退出请求,请求退出该组播组。

当然,应理解,上述方法还可以结合在一起使用。例如,该方法还可包括:根据该OTT客户端发送的媒体数据请求,以及该指定频道的合法用户列表,对该OTT客户端加入该指定频道的权限进行鉴权,并在该OTT客户端通过鉴权后,向该OTT直播注入代理服务器请求加入该组播组。

下面,将结合具体的实施例,对本发明图2-图4所示实施例的方法做进一步的描述。

图5是本发明实施例直播媒体数据的一种交互流程图。本发明实施例中,OTT直播代理服务器尚未分配频道1的组播资源,组播复制点也未加入频道1的组播组。在组播复制点到OTT客户端1的数据传输过程中,媒体数据以组播方式传输。

S501,OTT直播代理服务器向OTT服务器发送注册请求。

OTT直播代理服务器向OTT服务器发送注册请求,该注册请求携带注册信息,用于请求注册本城域网的IP网段以及所述OTT直播代理服务器的IP地址。

本发明实施例中,OTT客户端所在的城域网内存在一个已经在OTT服务器注册的OTT直播代理服务器,是本发明方法实施的前置条件。

S502,OTT客户端1向OTT服务器发送频道加入请求。

OTT客户端1向OTT服务器发送频道加入请求,请求加入频道1。

S503,OTT服务器向OTT直播代理服务器发送组播资源分配指示。

OTT服务器根据OTT客户端1发送的频道加入请求,获取OTT客户端1的IP地址及所要加入的频道1,进而根据该IP地址获取从已经注册的OTT直播代理服务器中查询该IP地址所属的城域网,进而得到OTT客户端1对应的OTT直播代理服务器(以下简称OTT直播代理服务器)。

如果OTT服务器发现OTT直播代理服务器尚未加入频道1,则向OTT直播代理服务器发送组播资源分配指示,指示OTT直播代理服务器为频道1分配组播资源。

S504,OTT直播代理服务器向OTT服务器发送媒体描述请求。

OTT直播代理服务器在接收到组播资源分配指示后,向OTT服务器发送媒体描述请求,请求频道1的媒体描述。

S505,OTT服务器向OTT直播代理服务器发送媒体描述。

OTT服务器根据媒体描述请求,返回频道1的媒体描述。

具体地,媒体描述可能包括频道基本信息、频道的分辨率(可能是几种不同的分辨率)、每种分辨率媒体流对应的URL,等等。

S506,OTT直播代理服务器分配组播资源,创建组播组。

应理解,步骤S504和步骤S505并不是必须执行的步骤。在实际的应用中,OTT服务厂商可在OTT直播代理服务器上预先存储部分或全部频道的相关媒体描述,以减少因媒体描述请求引起的信息交互。

OTT直播代理服务器按照频道1的组播资源分配指示,根据频道1的媒体描述,分配频道1的组播资源。频道1的组播资源,可包括频道1的组播组Group1,或者是频道1的组播组Group1和每种码流(或每种分辨率)对应的端口(port)。

OTT直播代理服务器可以通过组播组Group1的IP地址,来确定组播组Group1;或者,OTT直播代理服务器可以通过组播组Group1的IP地址及组播源(即OTT直播代理服务器)的IP地址,来确定组播组Group1。本发明实施例以通过组播组Group1的IP地址确定组播组Group1为例。

由于频道1的每种分辨率会分别对应一种码流,OTT直播代理服务器需要为每种码流(或每种分辨率)至少要分配一个单独的port。例如,频道1存在2种分辨率(分辨率1和分辨率2),则分辨率1对应的码流要单独分配1个port,分辨率2对应的码流要单独分配1个port。当然,也可以为分辨率1和分辨率2分配更多的端口。

如果只有一种分辨率,OTT直播代理服务器可只确定频道1的组播组Group1,即可完成频道1的组播资源分配。

或者,OTT直播代理服务器也可预先与组播复制点或OTT客户端约定每种分辨率对应的端口,而不需要每次为频道的不同分辨率配置对应的端口。

S507,OTT直播代理服务器向OTT服务器发送分配的组播资源。

OTT直播代理服务器在分配完频道1的组播资源后,可向OTT服务器发送分配的组播资源。

其中,该组播资源可包括频道1的组播组Group1或频道1的组播组Group1及每种分辨率的码流对应的port。

S508,OTT服务器向OTT直播代理服务器发送频道加入指示。

OTT服务器在接收到频道加入请求之后,可对OTT客户端1进行鉴权,判断OTT客户端1是否有权加入频道1。

如果OTT客户端1通过鉴权,则OTT服务器可向OTT直播代理服务器发送频道加入指示,通知OTT直播代理服务器:OTT客户端1的IP可以加入组播组Group1。

应理解,该鉴权操作可在接收到频道加入请求之后立即进行,也可在对频道1分配组播资源后进行,本发明实施例在此不作限制。

S509,OTT直播代理服务器向组播复制点发送频道加入指示。

本发明实施例中,OTT直播代理服务器在接收到频道加入指示,可将该频道加入指示发给OTT客户端1所属的组播复制点,以便OTT客户端1所属的组播复制点对OTT客户端1的播放请求进行鉴权。

S510,OTT服务器向OTT客户端1发送媒体描述。

OTT服务器把媒体描述通知OTT客户端1。媒体描述包括频道1的分辨率(可能是几种不同的分辨率)、Group1(组播组IP)、每种分辨率媒体流对应的port等。

S511,OTT直播代理服务器向OTT服务器发送媒体数据获取请求。

OTT直播代理服务器向OTT服务器发送媒体数据获取请求,请求获取频道1的所有媒体数据(例如,多个分辨率,则需要获取所有分辨率的媒体数据)。

S512,OTT服务器以单播方式向OTT直播代理服务器发送媒体数据。

OTT服务器以单播方式向OTT直播代理服务器发送媒体数据。

应理解,步骤S511和步骤S512的处理流程,可参考现有技术中OTT服务器-OTT客户端模式下OTT客户端请求媒体数据及OTT服务器单播向OTT客户端发送媒体数据的处理流程,本发明实例在此不再赘述。

S513,OTT直播代理服务器把单播媒体数据转换为组播媒体数据,并在组播组中组播所述媒体数据。

OTT直播代理服务器收到OTT服务器下发的单播媒体数据后,转换为组播包。

OTT直播代理服务器将单播媒体数据转为组播包后,将组播包在本组播组Group1内组播。

此时,位于组播组Group1内的组播复制点都能够接收到OTT直播代理服务器发送的组播包。

本发明实施例的一种实现方式,当OTT直播代理服务器收到单播包后,不是马上转化为组播包发送,而是缓存一定量的包后,做FEC编码。然后在组播组内发送媒体组播包,再用另一Port发送FEC包。如果某个频道有多种码流,则每种码流都有对应的一路FEC包,各用独立的port在组播组内传送。OTT客户端收到组播包后,如果发现当前有丢包/错包,则优先使用FEC还原出正确的数据包。

本发明实施例的另一种实现方式,当OTT直播代理服务器收到单播包后,在包内加上某个序号,来唯一表示某个包。这个序号可以使用IP扩展头;也可以使用UDP扩展头;也可以加上RTP头,使用其中的RTP序号;或者在负荷前部新增一定字节长度的字段来作为序号。OTT直播代理服务器发送这些组播包,同时缓存一定时间长度内的组播包。当OTT客户端发现当前有丢包/错包,则要求OTT直播代理服务器重传相应序号的包。

上述两种方式,可以选择一种方式使用,或结合使用,本发明实施例在此不作限制。

当然,应理解,OTT直播代理服务器还可能采用其它方式传输组播包,本发明实施例在此不作限制。

此外,OTT单播的码流一般是VBR的,即码流会变化的。码流忽大忽小会更容易丢包,但是因为OTT单播一般是基于TCP承载,所以TCP/IP协议栈会自己实现丢包重传。而在我们的方案中,要把基于TCP的单播改成基于UDP的组播传输,而UDP没有丢包重传的机制。如果发现当前单播码流波动较大(例如,超过平均码流20%),则对码流做平滑处理。具体方法是缓存一部分报文延迟发送,避开高峰期。

S514,OTT客户端向组播复制点请求加入组播组。

OTT客户端1收到步骤S510反馈的媒体描述后,获知需要加入组播组Group1才能加入到频道1的音频或视频节目,于是OTT客户端1向所属的组播复制点发出IGMP join Group1消息,请求加入组播组Group1。

S515,组播复制点向OTT直播代理服务器请求加入组播组。

组播复制点收到IGMP join Group1消息后,首先对OTT客户端1进行鉴权,判断OTT客户端1是否可以加入频道1的音频或视频节目。

由于步骤S509中的频道加入指示指示组播复制点允许OTT客户端1加入频道1的音频或视频节目,这表明对OTT客户端1的鉴权成功。

此时,组播复制点需要确认自身当前是否已经加入到组播组Group1中。

本发明实施例中,组播复制点可确认自身尚未加入到组播组Group1中。组播复制点需要向OTT直播代理服务器发送PIM join Group1消息,请求加入组播组Group1。

S516,组播复制点在组播组中接收组播的媒体数据。

当组播复制点加入到组播组Group1后,即可收到OTT直播代理服务器 在组播组Group1中组播的频道1的媒体数据。

S517,组播复制点向OTT客户端1组播发送媒体数据。

组播复制点收到Group1组播组的数据之后,查询组播转发表记录,发现OTT客户端1加入了Group1,则转发组播媒体包给OTT客户端1。此时,OTT客户端1就能正常加入到频道1的音频或视频节目。

本发明实施例中,OTT服务器根据OTT客户端发送的频道加入请求,在OTT客户端所属的城域网的OTT直播代理服务器分配组播资源,然后将OTT服务器的频道的媒体数据通过单播方式传输到OTT直播代理服务器,再由OTT直播代理服务器以组播方式发送给组播复制点,最后由组播复制点以组播方式将频道的媒体数据传输给OTT客户端,使得同一城域网内的OTT客户端能够共享同一频道的媒体数据资源,从而为OTT服务器节省了大量的带宽,提高了OTT服务器的频道带宽资源利用率。

应理解,不同城域网采用的组播协议可能不同。在加入组播组时,有的IGMP join组播组IP地址,有的是IGMP join(组播组IP地址+组播源IP地址)。即,有的以组播组IP地址来表示组播组,有的以组播组IP地址+组播源IP地址来表示组播组。此时,需要对上述实施例中的组播组相关作适应性的调整。下面实施例中涉及组播组的部分与此类似,不再赘述。

应理解,本发明实施例中,步骤S502及步骤S503,OTT客户端向OTT服务器发送频道加入请求,请求加入频道1,从而触发OTT服务器向OTT直播代理服务器发送组播资源分配指示。在具体的应用中,也可能是OTT客户端直接向组播复制点发送频道加入请求,请求加入频道1,再通过组播复制点向OTT直播代理服务器发送组播资源分配指示,指示OTT直播代理服务器对频道1分配组播资源。其余步骤可与本发明实施例的步骤类似,本发明实施例在此不再赘述。

图6是本发明实施例直播媒体数据的一种交互流程图。本发明实施例中,OTT直播代理服务器已经分配频道1的组播资源,组播复制点也已经加入频道1的组播组。在组播复制点到OTT客户端2的数据传输过程中,媒体数据以组播方式传输。

S601,OTT客户端2向OTT服务器发送频道加入请求。

OTT客户端2向OTT服务器发送频道加入请求,请求加入频道1。

S602,OTT服务器向OTT直播代理服务器发送频道加入指示。

OTT服务器在接收到频道加入请求之后,可对OTT客户端2进行鉴权,判断OTT客户端2是否有权加入频道1。

此外,OTT服务器根据OTT客户端2的频道加入请求,确定OTT客户端2所在城域网的OTT直播代理服务器,进而可获知OTT直播代理服务器已经分配频道1的组播资源。

如果OTT客户端2通过鉴权,则OTT服务器可向OTT直播代理服务器发送频道加入指示,通知OTT直播代理服务器:OTT客户端2的IP可以加入组播组Group1。

S603,OTT直播代理服务器向组播复制点发送频道加入指示。

本发明实施例中,OTT直播代理服务器在接收到频道加入指示,可将该频道加入指示发给OTT客户端2所属的组播复制点,以便OTT客户端2所属的组播复制点对OTT客户端2的播放请求进行鉴权。

S604,OTT服务器向OTT客户端2发送媒体描述。

OTT服务器把媒体描述通知OTT客户端2。媒体描述包括频道1的分辨率(可能是几种不同的分辨率)、Group1(组播组IP)、每种分辨率媒体流对应的port等。

S605,OTT客户端向组播复制点请求加入组播组。

OTT客户端2收到步骤S510反馈的媒体描述后,获知需要加入组播组Group1才能加入到频道1的音频或视频节目,于是OTT客户端2向所属的组播复制点发出IGMP join Group1消息,请求加入组播组Group1。

S606,组播复制点向OTT客户端2组播发送媒体数据。

此外,本发明实施例中,组播复制点已经加入组播组Group1,并在组播组中接收组播的媒体数据。

组播复制点收到IGMP join Group1消息后,首先对OTT客户端2进行鉴权,判断OTT客户端2是否可以加入频道1的音频或视频节目。由于步骤S603中的频道加入指示指示组播复制点允许OTT客户端2加入频道1的音频或视频节目,这表明对OTT客户端2的鉴权成功。

此时,组播复制点可转发组播媒体包给OTT客户端2,OTT客户端2就能正常加入到频道1的音频或视频节目。

图7是本发明实施例直播媒体数据的一种交互流程图。本发明实施例中,OTT直播代理服务器尚未分配频道1的组播资源,组播复制点也未加入频道 1的组播组。在组播复制点到OTT客户端1的数据传输过程中,媒体数据以单播方式传输。

S701,OTT直播代理服务器向OTT服务器发送注册请求。

S702,OTT客户端1向OTT服务器发送频道加入请求。

S703,OTT服务器向OTT直播代理服务器发送组播资源分配指示。

S704,OTT直播代理服务器向OTT服务器发送媒体描述请求。

S705,OTT服务器向OTT直播代理服务器发送媒体描述。

S706,OTT直播代理服务器分配组播资源,创建组播组。

步骤S701-S706的具体实现可参考图5的步骤S501-S506,本发明实施例在此不再赘述。

S707,OTT直播代理服务器向OTT服务器发送分配的组播资源。

OTT直播代理服务器在为频道1分配组播资源(频道1的组播组Group1或频道1的组播组Group1及每种分辨率的码流对应的port)后,可向OTT服务器发送分配的组播资源。

S708,OTT直播代理服务器向组播复制点发送频道和组播组的对应关系。

OTT直播代理服务器向组播复制点发送频道和组播组的对应关系,这样,当组播复制点接到OTT客户端要加入频道1的请求,就可以知道需要加入的组播IP地址。

S709,OTT直播代理服务器向OTT服务器发送媒体数据获取请求。

OTT直播代理服务器向OTT服务器发送媒体数据获取请求,请求获取频道1的所有媒体数据(例如,多个分辨率,则需要获取所有分辨率的媒体数据)。

S710,OTT服务器以单播方式向OTT直播代理服务器发送媒体数据。

OTT服务器以单播方式向OTT直播代理服务器发送媒体数据。

应理解,步骤S709和步骤S710的处理流程,可参考现有技术中OTT服务器-OTT客户端模式下OTT客户端请求媒体数据及OTT服务器单播向OTT客户端发送媒体数据的处理流程,本发明实例在此不再赘述。

S711,OTT直播代理服务器把单播媒体数据转换为组播媒体数据。

步骤S711的具体实现可参考图5的步骤S513,本发明实施例在此不再赘述。

S712,OTT服务器向OTT直播代理服务器发送频道加入指示。

步骤S712的具体实现可参考图5的步骤S508,本发明实施例在此不再赘述。

S713,OTT服务器指示OTT客户端1重定向到OTT直播代理服务器。

OTT服务器向OTT客户端1发送重定向命令,要求OTT客户端1向OTT直播代理服务器获取媒体描述。在本命令内包含了OTT直播代理服务器的IP地址。

S714,OTT客户端1向OTT直播代理服务器发送频道加入请求。

OTT客户端1收到重定向命令后,向OTT直播代理服务器发送频道加入请求,请求加入频道1。

S715,OTT直播代理服务器将媒体描述中的视频URL改为指向组播复制点。

OTT直播代理服务器上根据步骤S705下载的媒体描述,把其中视频的URL修改为OTT客户端1所属的组播复制点的IP地址。

S716,OTT直播代理服务器向组播复制点发送频道加入指示。

本发明实施例中,OTT直播代理服务器在接收到频道加入指示,可将该频道加入指示发给OTT客户端1所属的组播复制点,以便OTT客户端1所属的组播复制点对OTT客户端1的播放请求进行鉴权。

S717,OTT直播代理服务器在组播组中组播媒体数据。

步骤S717的具体实现可参考图5的步骤S513,本发明实施例在此不再赘述。

S718,OTT直播代理服务器向OTT客户端1发送修改后的媒体描述。

OTT直播代理服务器发送频道1的媒体描述给OTT客户端1,其中视频的URL已经修改为OTT客户端1所属的组播复制点的IP。

S719,OTT客户端1向组播复制点发送媒体数据获取请求。

OTT客户端1根据媒体描述中的视频URL,向所属的组播复制点请求加入组播组。

S720,组播复制点向OTT直播代理服务器请求加入组播组。

组播复制点根据请求获知OTT客户端1要加入的是频道1的视频,并判断出OTT客户端1被允许加入频道1,进而查询出频道1对应组播组Group1。

由于组播复制点当前尚未加入Group1,组播复制点可发出PIM join Group1消息,请求加入组播组Group1。

S721,组播复制点在组播组中接收组播的媒体数据,缓存并转换为单播媒体数据。

组播复制点加入组播组Group1成功后,就会收到组播组Group1下发的组播媒体数据。

组播复制点缓存组播媒体数据并转化为单播媒体数据。

S722,组播复制点向OTT客户端1单播媒体数据。

此时,OTT客户端1就可以加入频道1的视频了。

图8是本发明实施例直播媒体数据的一种交互流程图。本发明实施例中,OTT直播代理服务器已经分配频道1的组播资源,组播复制点也已经加入频道1的组播组。在组播复制点到OTT客户端2的数据传输过程中,媒体数据以单播方式传输。

S801,OTT客户端2向OTT服务器发送频道加入请求。

OTT客户端2向OTT服务器发送频道加入请求,请求加入频道1。

S802,OTT服务器向OTT直播代理服务器发送频道加入指示。

OTT服务器在接收到频道加入请求之后,可对OTT客户端2进行鉴权,判断OTT客户端2是否有权加入频道1。

此外,OTT服务器根据OTT客户端2的频道加入请求,确定OTT客户端2所在城域网的OTT直播代理服务器,进而可获知OTT直播代理服务器已经分配频道1的组播资源。

如果OTT客户端2通过鉴权,则OTT服务器可向OTT直播代理服务器发送频道加入指示,通知OTT直播代理服务器:OTT客户端2的IP可以加入组播组Group1。

S803,OTT服务器指示OTT客户端2重定向到OTT直播代理服务器。

OTT服务器向OTT客户端2发送重定向命令,要求OTT客户端2向OTT直播代理服务器获取媒体描述。在本命令内包含了OTT直播代理服务器的IP地址。

S804,OTT客户端21向OTT直播代理服务器发送频道加入请求。

OTT客户端2收到重定向命令后,向OTT直播代理服务器发送频道加入请求,请求加入频道1。

S805,OTT直播代理服务器向组播复制点发送频道加入指示。

本发明实施例中,OTT直播代理服务器在接收到频道加入指示,可将该频道加入指示发给OTT客户端2所属的组播复制点,以便OTT客户端2所属的组播复制点对OTT客户端2的播放请求进行鉴权。

S806,OTT直播代理服务器向OTT客户端2发送修改后的媒体描述。

OTT直播代理服务器上根据频道1的媒体描述,把其中视频的URL修改为OTT客户端2所属的组播复制点的IP。

OTT直播代理服务器发送频道1的媒体描述给OTT客户端2,其中视频的URL已经修改为OTT客户端2所属的组播复制点的IP。

S807,OTT客户端2向组播复制点请求加入组播组。

OTT客户端2根据媒体描述中的视频URL,向所属的组播复制点请求下载媒体数据。

S808,组播复制点向OTT客户端2单播媒体数据。

本发明实施例中,组播复制点已经加入组播组。此时,组播复制点在组播组中接收组播的媒体数据,缓存并转换为单播报文。

组播复制点可根据OTT客户端2的媒体数据获取请求,向OTT客户端2单播媒体数据。

此时,OTT客户端2就可以加入频道1的视频了。

图9是本发明实施例直播媒体数据的一种交互流程图。本发明实施例中,OTT客户端1已经通过组播复制点加入频道1的视频节目。

S901,OTT客户端1向组播复制点请求离开组播组。

当OTT客户端1不再加入频道1时,可向上行设备(组播复制点)发送IGMP leave Group1消息,请求退出Group1组播组。

S902,组播复制点将OTT客户端1从组播转发表中删除。

当组播复制点收到了OTT客户端的IGMP leave Group1消息后,组播复制点把OTT客户端从Group1组播转发表中去除。

S903,组播复制点向OTT直播代理服务器请求调整组播组。

如果组播复制点发现Group1组播转发表中没有任何OTT客户端时,就把该组播表项删除,并且向上行设备(OTT直播代理服务器)发送IGMP leave Group1消息,请求调整组播组。

S904,OTT直播代理服务器在组播组的组播表项中删除对应的出端口。

OTT直播代理服务器收到某下行端口发送的IGMP leave Group1消息后,则在Group1组播转发表项中删除对应下行端口的出端口。

S905,OTT直播代理服务器释放组播组对应的频道资源。

本发明实施例中,该组播组对应于频道1。

如果该组播组的组播表项没有剩余出端口,则说明本城域网已经没有用户在加入频道1。

此时,OTT直播代理服务器可删除Group1组播表项,断开频道1从OTT服务器的媒体下载连接,释放为频道1分配的组播资源,同时,通知OTT服务器。

本发明实施例中,通过回收资源,可减少组播复制点、OTT直播代理服务器或OTT服务器的傅干,提高资源的利用效率。

图10是本发明实施例直播媒体数据的一种交互流程图。本发明实施例中,OTT直播代理服务器尚未分配频道1的组播资源,组播复制点也未加入频道1的组播组。在组播复制点到OTT客户端的数据传输过程中,媒体数据以组播方式传输。

S1001,OTT直播代理服务器向OTT服务器发送注册。

S1002,OTT客户端1向OTT服务器发送频道加入请求。

S1003,OTT服务器向OTT直播代理服务器发送组播资源分配指示。

S1004,OTT直播代理服务器向OTT服务器发送媒体描述请求。

S1005,OTT服务器向OTT直播代理服务器发送媒体描述。

S1006,OTT直播代理服务器分配组播资源,创建组播组。

S1007,OTT直播代理服务器向OTT服务器发送分配的组播资源。

S1008,OTT服务器向OTT直播代理服务器发送频道加入指示。

S1009,OTT直播代理服务器向组播复制点发送频道加入指示。

步骤S1001-S1009的具体实现可参考图5的步骤S501-S505,本发明实施例在此不再赘述。

S1010,OTT服务器指示OTT客户端1重定向到OTT直播代理服务器。

OTT服务器向OTT客户端1发送重定向命令,要求OTT客户端1向OTT直播代理服务器获取媒体描述。在本命令内包含了OTT直播代理服务器的IP地址。

S1011,OTT客户端1向OTT直播代理服务器发送频道加入请求。

OTT客户端1收到重定向命令后,向OTT直播代理服务器发送频道加入请求,请求加入频道1。

S1012,OTT直播代理服务器向OTT客户端1发送修改后的媒体描述。

OTT直播代理服务器上根据步骤S1005下载的媒体描述,把其中视频的URL修改为OTT客户端1所属的组播复制点的IP。

OTT直播代理服务器发送频道1的媒体描述给OTT客户端1,其中视频的URL已经修改为OTT客户端1所属的组播复制点的IP。

S1013,OTT服务器向OTT客户端1发送媒体描述。

S1014,OTT直播代理服务器向OTT服务器发送媒体数据获取请求。

步骤S1013-S1014的具体实现可参考图5的步骤S510-S511,本发明实施例在此不再赘述。

图11是本发明实施例直播媒体数据的一种交互流程图。

S1101,OTT直播代理服务器向OTT服务器发送注册。

OTT直播代理服务器向OTT服务器发送注册,请求注册本城域网的IP网段以及所述OTT直播代理服务器的IP地址。

S1102,OTT服务器向OTT直播代理服务器发送频道x的组播资源分配指示。

S1103,OTT直播代理服务器向OTT服务器发送频道x的媒体描述请求。

S1104,OTT服务器向OTT直播代理服务器发送频道x的媒体描述。

S1105,OTT直播代理服务器分配频道x的组播资源,创建频道x的组播组Groupx。

S1106,OTT直播代理服务器向OTT服务器发送频道x分配的组播资源。

S1107,OTT直播代理服务器向OTT服务器发送频道x媒体数据获取请求。

S1108,OTT服务器向OTT直播代理服务器单播频道x的媒体数据。

步骤S1102-S1108的具体实现可参考图5的步骤S502-S506及步骤S511-S512,本发明实施例在此不再赘述。

此外,应理解,本发明实施例中,步骤S1102-S1108可反复执行。也就是说,OTT服务器可指示OTT直播代理服务器为多个频道创建组播资源。

S1109,OTT客户端1向OTT服务器发送频道n的加入请求。

OTT客户端1向OTT服务器发送频道n的加入请求,请求加入频道n。

S1110,OTT服务器向OTT直播代理服务器发送频道n的频道加入指示。

OTT服务器根据频道n的加入请求,对OTT客户端1进行鉴权。如果OTT客户端1被允许加入频道n,且OTT客户端1所在城域网的OTT直播代理服务器已经为频道n分配组播资源(组播组Groupnn),则OTT服务器可向OTT直播代理服务器发送频道加入指示,通知OTT直播代理服务器:OTT客户端1的IP可以加入组播组Groupn。

S1111,OTT直播代理服务器向组播复制点发送频道n的频道加入指示。

OTT直播代理服务器在接收到频道加入指示,可将该频道加入指示发给OTT客户端1所属的组播复制点,以便OTT客户端1所属的组播复制点对OTT客户端1的播放请求进行鉴权。

之后的操作可与图5或图7所示实施例类似,本发明实施例在此不再赘述。

图12是本发明实施例OTT直播代理服务器1200的结构示意图。如图12所示,OTT直播代理服务器1200可包括:获取单元1201,组播资源分配单元1202,组播单元1203。其中,

组播资源分配单元1202,用于根据指定频道的组播资源分配指示及该指定频道的媒体描述为该指定频道分配组播资源。

其中,该组播资源分配指示用于通知该OTT直播代理服务器为该指定频道分配组播资源,该指定频道的媒体描述包括该指定频道的至少一种分辨率及该至少一种分辨率的媒体数据所对应的统一资源定位符(Uniform Resoure Locator,URL),该组播资源包括该指定频道对应的组播组或该指定频道对应的组播组及该至少一种分辨率对应的端口port。

获取单元1201,用于根据该指定频道的媒体描述通过单播方式从该指定频道所属的OTT服务器获取该至少一种分辨率对应的媒体数据;

组播单元1203,用于将该至少一种分辨率对应的媒体数据转换为组播媒体数据,并将该组播媒体数据组播发送给已经加入该组播组的组播复制点。

本发明实施例中,OTT直播代理服务器1200根据OTT服务器的频道分配指示分配频道的组播资源,并从OTT服务器获取频道的媒体数据,再将频道的媒体数据组播发送到频道对应的组播组,以便组播组内的组播复制点能够将频道的媒体数据传输给加入频道的OTT客户端,能够避免大量重复的直播流穿越骨干网,从而大大减少OTT服务器到城域网之间重复传输的 报文,减少直播媒体数据对承载网的带宽占用。

可选地,OTT直播代理服务器还可包括接收单元,用于接收该组播资源分配指示。其中,该组播资源分配指示是OTT直播代理服务器的OTT服务器发送的,或者,该组播资源分配指示是OTT直播代理服务器所在的城域网的组播复制点。

图13是本发明实施例OTT直播代理服务器1200的另一结构示意图。

可选地,作为一个实施例,获取单元1201还用于从该OTT服务器获取该指定频道的媒体描述。

可选地,作为另一个实施例,该指定频道的媒体描述是预先存储在该OTT直播代理服务器中的。OTT服务厂商可预先在OTT代理服务器上存储部分或全部频道的相关媒体描述,以减少因媒体描述请求引起的信息交互。

可选地,如图13所示,OTT直播代理服务器1200还可包括:转发单元1204,用于接收该OTT服务器发送的频道加入指示,并将该频道加入指示发送给该OTT直播代理服务器所在的城域网的组播复制点,以使该组播复制点将OTT客户端加入到该指定频道的合法用户列表中,其中,该频道加入指示用于通知允许该OTT客户端加入该指定频道。

可选地,如图13所示,OTT直播代理服务器1200还可包括:注册单元1205,用于向该OTT服务器注册该OTT直播代理服务器所在的城域网的互联网协议IP网段及该OTT直播代理服务器的IP地址。

可选地,作为一个实施例,组播资源分配单元1202还用于将该分配的组播资源反馈给该OTT服务器,以便该OTT服务器将该组播资源发送给OTT客户端,使得该OTT客户端能够加入该组播组。

可选地,作为另一个实施例,组播资源分配单元1202还用于将该指定频道与该指定频道的组播组之间的对应关系发送给该OTT直播代理服务器所在城域网内的组播复制点,以便该组播复制点根据OTT客户端发送的加入该指定频道的请求,确定该指定频道对应的组播组。

进一步地,该组播资源分配单元1202还用于根据OTT客户端发送的加入该指定频道的请求,将该组播资源发送给该OTT客户端,以便该OTT客户端向组播复制点请求该指定频道的媒体数据。

可选地,如图13所示,OTT直播代理服务器1200还可包括:组播组管理单元1206,用于:

根据该组播复制点的组播加入请求,将该组播复制点加入该组播组,并在该组播组的组播转发表项添加该组播复制点对应的出端口;或者

根据该组播复制点的组播退出请求,将该组播复制点从该组播组中删除,并在该组播组的组播转发表项删除该组播复制点对应的出端口。

进一步地,组播组管理单元1206还用于当该组播组的组播转发表项中出端口数为零时,删除该组播组的组播转发表项,并断开从该OTT服务器下载该指定频道的媒体数据的链接。

此外,OTT直播代理服务器1200还可执行图2的方法,并实现OTT直播代理服务器在图5-图11所示实施例中的功能,本发明实施例在此不再赘述。

图14是本发明实施例OTT服务器1400的结构示意图。OTT服务器1400可包括组播资源分配指示单元1401、媒体描述管理单元1402和媒体资源管理单元1403。

组播资源分配指示单元1401,用于向在该OTT服务器1400中注册的OTT直播代理服务器发送组播资源分配指示。其中,该组播资源分配指示用于通知该OTT直播代理服务器对指定频道分配组播资源。

媒体描述管理单元1402,用于根据该OTT直播代理服务器发送的获取该指定频道的媒体描述的请求,将该指定频道的媒体描述发送给该OTT直播代理服务器。其中,该指定频道的媒体描述包括该指定频道的至少一种分辨率及该至少一种分辨率的媒体数据所对应的URL。

媒体资源管理单元1403,用于根据该OTT直播代理服务器对该指定频道的媒体数据获取请求,将该指定频道的至少一种分辨率的媒体数据以单播方式发送给该OTT直播代理服务器。

本发明实施例中,OTT服务器1400指示OTT直播代理服务器建立组播组分配频道的组播资源,并以单播方式向OTT直播代理服务器发送频道的媒体数据,使得OTT直播代理服务器将频道的媒体数据经组播复制点发送给加入组播组的OTT客户端,能够避免大量重复的直播流穿越骨干网,从而大大减少OTT服务器到城域网之间重复传输的报文,减少直播媒体数据对承载网的带宽占用。

图15是本发明实施例OTT服务器1400的另一结构示意图。

可选地,如图15所示,OTT服务器1400还可包括:注册单元1404, 用于根据该OTT直播代理服务器发送的注册请求,记录该OTT直播代理服务器所在的城域网的互联网协议IP网段及该OTT直播代理服务器的IP地址。其中,该注册请求携带该OTT直播代理服务器所在的城域网的IP网段及该OTT直播代理服务器的IP地址。

可选地,如图15所示,OTT服务器1400还可包括:鉴权单元1405,用于根据该OTT所在的城域网中的OTT客户端加入该指定频道的请求,确定是否允许该OTT客户端加入该指定频道。该组播资源分配指示单元1401具体用于当该鉴权单元1405确定允许该OTT客户端加入该指定频道后,且该OTT服务器上不存在该OTT直播代理服务器发送的该指定频道的组播资源时,向该OTT直播代理服务器发送该组播资源分配指示。

进一步地,作为一个实施例,该鉴权单元1405还用于在允许该OTT客户端加入该指定频道后,向该OTT直播代理服务器发送频道加入指示,该频道加入指示用于通知该OTT直播代理服务器允许该OTT客户端加入该指定频道。

或者,进一步地,作为另一个实施例,该鉴权单元1405还用于将该OTT直播代理服务器反馈的为该指定频道分配的组播资源发送给该OTT客户端,以便该OTT客户端向组播复制点请求该指定频道的媒体数据。其中,该组播资源包括该指定频道对应的组播组及该指定频道的至少一种分辨率对应的port。

可选地,如图15所示,OTT服务器1400还可包括:重定位指示单元1406,用于根据该OTT客户端加入该指定频道的请求,以及该指定频道的组播资源,指示该OTT客户端将该指定频道的加入请求重定位到该OTT直播代理服务器上。

此外,OTT服务器1400还可执行图3的方法,并实现OTT服务器在图5-11所示实施例的功能,本发明实施例在此不再赘述。

图16是本发明实施例组播复制点1600的结构示意图。组播复制点1600可包括组播管理单元1601、媒体数据获取单元1602和媒体数据管理单元1603。其中,

组播管理单元1601,用于向所在城域网的OTT直播代理服务器请求加入该OTT直播代理服务器为指定频道分配的组播组。

媒体数据获取单元1602,用于接收该OTT直播代理服务器以组播方式 发送的该指定频道的媒体数据。

媒体数据管理单元1603,用于将该指定频道的媒体数据以组播方式或单播方式发送给该OTT客户端。

本发明实施例中,组播复制点1600从OTT直播代理服务器建立的组播组获取频道的媒体数据并发送给OTT客户端,使得OTT客户端不需要再从OTT服务器直接获取频道的媒体数据,能够避免大量重复的直播流穿越骨干网,从而大大减少OTT服务器到城域网之间重复传输的报文,减少直播媒体数据对承载网的带宽占用。

可选地,组播复制点1600还可包括:权限管理单元1604,用于根据所在城域网的OTT直播代理服务器发送的频道加入指示,将OTT客户端加入到该指定频道的合法用户列表中,其中,该频道加入指示用于通知允许该OTT客户端加入该指定频道。

可选地,组播管理单元1601还用于:根据该OTT客户端发送的加入该指定频道的组播加入请求或媒体数据请求,将该OTT客户端加入该组播复制点的组播转发表,并向该OTT直播代理服务器请求加入该组播组;或者,根据该OTT客户端发送的退出该指定频道的请求,将该OTT客户端从该组播复制点的组播转发表中删除。

进一步地,组播管理单元1601还用于:当该组播复制点的组播转发表的OTT客户端为零时,向该OTT直播代理服务器发送组播退出请求,请求退出该组播组。

可选地,组播管理单元1601还用于:根据该OTT客户端发送的媒体数据请求,以及该指定频道的合法用户列表,对该OTT客户端加入该指定频道的权限进行鉴权,并在该OTT客户端通过鉴权后,向该OTT直播注入代理服务器请求加入该组播组。

此外,组播复制点1600还可执行图4的方法,并实现组播复制点在图5-11所示实施例的功能,本发明实施例在此不再赘述。

图17是本发明实施例OTT直播代理服务器1700的结构示意图。OTT直播代理服务器1700可包括通道接口1701、处理器1702和存储器1703。

通道接口1701、处理器1702和存储器1703通过总线1704系统相互连接。总线1704可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图17中仅用一个双向 箭头表示,但并不表示仅有一根总线或一种类型的总线。

存储器1703,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器1703可以包括只读存储器和随机存取存储器,并向处理器1702提供指令和数据。存储器1703可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

处理器1702,执行存储器1703所存放的程序,并具体用于执行以下操作:

根据OTT服务器发送的组播资源分配指示,根据指定频道的组播资源分配指示及该指定频道的媒体描述为该指定频道分配组播资源,其中,该组播资源分配指示用于通知该OTT直播代理服务器为该指定频道分配组播资源,该指定频道的媒体描述包括该指定频道的至少一种分辨率及该至少一种分辨率的媒体数据所对应的URL,该组播资源包括该指定频道对应的组播组或该指定频道对应的组播组及该至少一种分辨率对应的port;

根据该指定频道的媒体描述,通过通道接口1701以单播方式从该指定频道所属的OTT服务器获取该至少一种分辨率对应的媒体数据;

将该至少一种分辨率对应的媒体数据转换为组播媒体数据,并通过通道接口1701将该组播媒体数据组播发送给已经加入该组播组的组播复制点。

上述如本发明图2、图5-11中任一实施例揭示的OTT直播代理服务器执行的方法可以应用于处理器1702中,或者由处理器1702实现。处理器1702可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1702中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1702可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写 可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1703,处理器1702读取存储器1703中的信息,结合其硬件完成上述方法的步骤。

本发明实施例中,OTT直播代理服务器根据OTT服务器的频道分配指示分配频道的组播资源,并从OTT服务器获取频道的媒体数据,再将频道的媒体数据组播发送到频道对应的组播组,以便组播组内的组播复制点能够将频道的媒体数据传输给加入频道的OTT客户端,能够避免大量重复的直播流穿越骨干网,从而大大减少OTT服务器到城域网之间重复传输的报文,减少直播媒体数据对承载网的带宽占用。

可选地,作为一个实施例,处理器1702还用于:通过通道接口1701从该OTT服务器获取该指定频道的媒体描述。

可选地,作为另一个实施例,该指定频道的媒体描述是预先存储在该OTT直播代理服务器中的。OTT服务厂商可预先在OTT代理服务器上存储部分或全部频道的相关媒体描述,以减少因媒体描述请求引起的信息交互。

可选地,处理器1702还用于:通过通道接口1701接收该组播资源分配指示。其中,该组播资源分配指示是OTT直播代理服务器的OTT服务器发送的,或者,该组播资源分配指示是OTT直播代理服务器所在的城域网的组播复制点。

可选地,处理器1702还用于:通过通道接口1701接收该OTT服务器发送的频道加入指示,并将该频道加入指示发送给该OTT直播代理服务器所在的城域网的组播复制点,以使该组播复制点将OTT客户端加入到该指定频道的合法用户列表中,其中,该频道加入指示用于通知允许该OTT客户端加入该指定频道。

可选地,处理器1702还用于:通过通道接口1701向该OTT服务器注册该OTT直播代理服务器所在的城域网的IP网段及该OTT直播代理服务器的IP地址。

可选地,作为一个实施例,处理器1702还用于:通过通道接口1701将该分配的组播资源反馈给该OTT服务器,以便该OTT服务器将该组播资源发送给该OTT客户端,使得该OTT客户端能够加入该组播组。

可选地,作为另一个实施例,处理器1702还用于:通过通道接口1701将该指定频道与该指定频道的组播组之间的对应关系发送给该OTT直播代 理服务器所在城域网内的组播复制点,以便该组播复制点根据OTT客户端发送的加入该指定频道的请求,确定该指定频道对应的组播组。

进一步地,处理器1702还用于:根据OTT客户端发送的加入该指定频道的请求,通过通道接口1701将该组播资源发送给该OTT客户端,以便该OTT客户端向组播复制点请求该指定频道的媒体数据。

可选地,作为一个实施例,处理器1702还用于:根据该组播复制点的组播加入请求,将该组播复制点加入该组播组,并在该组播组的组播转发表项添加该组播复制点对应的出端口。

可选地,作为另一个实施例,处理器1702还用于:根据该组播复制点的组播退出请求,将该组播复制点从该组播组中删除,并在该组播组的组播转发表项删除该组播复制点对应的出端口。

进一步地,处理器1702还用于:当该组播组的组播转发表项中出端口数为零时,删除该组播组的组播转发表项,并断开从该OTT服务器下载该指定频道的媒体数据的链接。

此外,OTT直播代理服务器1700还可执行图2的方法,并实现OTT直播代理服务器在图5-图11所示实施例中的功能,本发明实施例在此不再赘述。

图18是本发明实施例OTT服务器1800的结构示意图。OTT服务器1800可包括通道接口1801、处理器1802和存储器1803。

通道接口1801、处理器1802和存储器1803通过总线1804系统相互连接。总线1804可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图18中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

存储器1803,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器1803可以包括只读存储器和随机存取存储器,并向处理器1802提供指令和数据。存储器1803可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

处理器1802,执行存储器1803所存放的程序,并具体用于执行以下操作:

通过通道接口1801向在OTT服务器1800中注册的OTT直播代理服务 器发送组播资源分配指示,其中,该组播资源分配指示用于通知该OTT直播代理服务器对指定频道分配组播资源;

根据该OTT直播代理服务器发送的获取该指定频道的媒体描述的请求,通过通道接口1801将该指定频道的媒体描述发送给该OTT直播代理服务器,其中,该指定频道的媒体描述包括该指定频道的至少一种分辨率及该至少一种分辨率的媒体数据所对应的URL;

根据该OTT直播代理服务器对该指定频道的媒体数据获取请求,通过通道接口1801将该指定频道的至少一种分辨率的媒体数据以单播方式发送给该OTT直播代理服务器。

上述如本发明图3、图5-11中任一实施例揭示的OTT服务器执行的方法可以应用于处理器1802中,或者由处理器1802实现。处理器1802可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1802中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1802可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1803,处理器1802读取存储器1803中的信息,结合其硬件完成上述方法的步骤。

本发明实施例中,OTT服务器1800指示OTT直播代理服务器建立组播组分配频道的组播资源,并以单播方式向OTT直播代理服务器发送频道的媒体数据,使得OTT直播代理服务器将频道的媒体数据经组播复制点发送给加入组播组的OTT客户端,能够避免大量重复的直播流穿越骨干网,从而大大减少OTT服务器到城域网之间重复传输的报文,减少直播媒体数据对承载网的带宽占用。

可选地,处理器1802还用于:根据该OTT直播代理服务器发送的注册请求,记录该OTT直播代理服务器所在的城域网的互联网协议IP网段及该OTT直播代理服务器的IP地址,其中,该注册请求携带该OTT直播代理服务器所在的城域网的IP网段及该OTT直播代理服务器的IP地址。

可选地,作为一个实施例,处理器1802还用于:根据该OTT所在的城域网中的OTT客户端加入该指定频道的请求,确定是否允许该OTT客户端加入该指定频道。进一步地,在用于向在该OTT服务器中注册的OTT直播代理服务器发送组播资源分配指示的过程中,处理器1802具体用于:当处理器1802确定允许该OTT客户端加入该指定频道后,且该OTT服务器上不存在该OTT直播代理服务器发送的该指定频道的组播资源时,向该OTT直播代理服务器发送该组播资源分配指示。

可选地,处理器1802还用于:在允许该OTT客户端加入该指定频道后,向该OTT直播代理服务器发送频道加入指示,该频道加入指示用于通知该OTT直播代理服务器允许该OTT客户端加入该指定频道。

进一步地,作为一个实施例,处理器1802还用于:将该OTT直播代理服务器反馈的为该指定频道分配的组播资源发送给该OTT客户端,以便该OTT客户端向组播复制点请求该指定频道的媒体数据,其中,该组播资源包括该指定频道对应的组播组或该指定频道对应的组播组及该指定频道的至少一种分辨率对应的端口。

或者,进一步地,作为另一个实施例,处理器1802还用于:根据该OTT客户端加入该指定频道的请求,以及该指定频道的组播资源,指示该OTT客户端将该指定频道的加入请求重定位到该OTT直播代理服务器上。

此外,OTT服务器1800还可执行图3的方法,并实现OTT服务器在图5-11所示实施例的功能,本发明实施例在此不再赘述。

图19是本发明实施例组播复制点1900的结构示意图。组播复制点1900可包括通道接口1901、处理器1902和存储器1903。

通道接口1901、处理器1902和存储器1903通过总线1904系统相互连接。总线1904可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图19中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

存储器1903,用于存放程序。具体地,程序可以包括程序代码,所述程 序代码包括计算机操作指令。存储器1903可以包括只读存储器和随机存取存储器,并向处理器1902提供指令和数据。存储器1903可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

处理器1902,执行存储器1903所存放的程序,并具体用于执行以下操作:

通过通道接口1901向所在城域网的OTT直播代理服务器请求加入该OTT直播代理服务器为指定频道分配的组播组;

通过通道接口1901接收该OTT直播代理服务器以组播方式发送的该指定频道的媒体数据;

通过通道接口1901将该指定频道的媒体数据以组播方式或单播方式发送给该OTT客户端。

上述如本发明图4-11中任一实施例揭示的组播复制点执行的方法可以应用于处理器1902中,或者由处理器1902实现。处理器1902可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1902中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1902可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1903,处理器1902读取存储器1903中的信息,结合其硬件完成上述方法的步骤。

本发明实施例中,组播复制点1900从OTT直播代理服务器建立的组播组获取频道的媒体数据并发送给OTT客户端,使得OTT客户端不需要再从OTT服务器直接获取频道的媒体数据,能够避免大量重复的直播流穿越骨干网,从而大大减少OTT服务器到城域网之间重复传输的报文,减少直播媒 体数据对承载网的带宽占用。

可选地,作为一个实施例,处理器1902还用于:根据该OTT客户端发送的加入该指定频道的组播加入请求或媒体数据请求,将该OTT客户端加入该组播复制点的组播转发表,并向该OTT直播代理服务器请求加入该组播组。

可选地,作为另一个实施例,处理器1902还用于:根据该OTT客户端发送的退出该指定频道的请求,将该OTT客户端从该组播复制点的组播转发表中删除。

可选地,处理器1902还用于:根据该OTT直播代理服务器发送的频道加入指示,将OTT客户端加入到该指定频道的合法用户列表中,其中,该频道加入指示用于通知允许该OTT客户端加入该指定频道。

应理解,在根据该OTT直播代理服务器发送的频道加入指示,将OTT客户端加入到该指定频道的合法用户列表中之前,处理器1902还用于:通过通道接口1901接收该OTT直播代理服务器发送的频道加入指示。

进一步地,处理器1902还用于:当该组播复制点的组播转发表的OTT客户端为零时,向该OTT直播代理服务器发送组播退出请求,请求退出该组播组。

当然,应理解,上述方法还可以结合在一起使用。例如,处理器1902还用于:根据该OTT客户端发送的媒体数据请求,以及该指定频道的合法用户列表,对该OTT客户端加入该指定频道的权限进行鉴权,并在该OTT客户端通过鉴权后,向该OTT直播注入代理服务器请求加入该组播组。

此外,组播复制点1900还可执行图4的方法,并实现组播复制点在图5-11所示实施例的功能,本发明实施例在此不再赘述。

如图1所示,OTT系统可包括:OTT服务器、OTT直播代理服务器、组播复制点和OTT客户端。其中,OTT服务器可以是图14、图15或图所示实施例中的OTT服务器,OTT直播代理服务器可以是图12、图13或图17所示实施例中的OTT直播代理服务器,组播复制点可以是图16或图19所示实施例中的组播复制点。OTT客户端可以是具备单播或组播接收能力的OTT客户端。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结 合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易 想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1