CN111372103A - 一种组播方法、装置、设备和计算机存储介质 - Google Patents

一种组播方法、装置、设备和计算机存储介质 Download PDF

Info

Publication number
CN111372103A
CN111372103A CN201811605190.4A CN201811605190A CN111372103A CN 111372103 A CN111372103 A CN 111372103A CN 201811605190 A CN201811605190 A CN 201811605190A CN 111372103 A CN111372103 A CN 111372103A
Authority
CN
China
Prior art keywords
multicast
service
channel
media service
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811605190.4A
Other languages
English (en)
Other versions
CN111372103B (zh
Inventor
许静
于荣国
王奎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201811605190.4A priority Critical patent/CN111372103B/zh
Priority to PCT/CN2019/128623 priority patent/WO2020135562A1/zh
Publication of CN111372103A publication Critical patent/CN111372103A/zh
Application granted granted Critical
Publication of CN111372103B publication Critical patent/CN111372103B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明实施例提供了一种组播方法、装置、设备和计算机存储介质中,所述方法包括:获取热点频道信息,所述热点频道信息包括当前播放量最高的至少一种媒体业务的标识信息;根据所述热点频道信息,调整当前的组播业务。

Description

一种组播方法、装置、设备和计算机存储介质
技术领域
本发明实施例涉及但不限于组播技术,尤其涉及一种组播方法、装置、设备和计算机存储介质,可以在内容分发网络(Content Delivery Network,CDN)运营模式下,实现直播频道组播业务的控制。
背景技术
随着互联网技术的飞速发展,电视机、电脑、手机、摄像头等各类终端的不断普及,以及直播平台和视频应用程序(APP)的强势推广,网络视频用户数急速增加,使得CDN业务得到了快速发展及应用,直播业务已经演化为一种潮流和运营模式,网络带宽资源成为不同业务争夺的焦点;由于区域设施、终端类型、网络条件的不同,用户对视频码率、分辨率以及服务协议的要求也有所不同。直播业务的实时性,决定了在大规模用户模式下,网络带宽成本和设备能力问题依旧是制约CDN服务质量的主要要素,通常采用组播去解决这一问题,降低带宽消耗和设备负载。
相关技术中,当前CDN的组播业务通常都为预置组播,即在CDN业务***中事先针对某些直播频道创建好组播,然后向用户提供直播业务。当用户在向CDN***请求直播服务的时候,直接由业务***引导加入组播组。该类组播为持续性组播,CDN组播***难以依照用户真实的播放热点情况动态启停组播。
发明内容
本发明实施例提供了一种组播方法、装置、设备和计算机存储介质,可以实现按照用户真实的播放热点情况启停组播。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了第一组播方法,所述方法包括:
获取热点频道信息,所述热点频道信息包括当前播放量最高的至少一种媒体业务的标识信息;
根据所述热点频道信息,调整当前的组播业务。
本发明实施例提供了第二组播方法,所述方法包括:
生成热点频道信息,所述热点频道信息包括当前播放量最高的至少一种媒体业务的标识信息;
向直播管理平台发送所述热点频道信息,使所述直播管理平台根据所述热点频道信息,调整当前的组播业务。
本发明实施例提供了一种组播设备,所述设备包括:第一处理器和用于存储能够在处理器上运行的计算机程序的第一存储器;其中,
所述第一处理器用于运行所述计算机程序时,执行上述任意一种第一组播方法的步骤。
本发明实施例还提供了另一种组播设备,所述设备包括第二处理器和用于存储能够在处理器上运行的计算机程序的第二存储器;其中,
所述第二处理器用于运行所述计算机程序时,执行上述任意一种第二组播方法的步骤。
本发明实施例还提供了一种组播装置,所述装置包括:获取模块和第一处理模块,其中,
获取模块,用于获取热点频道信息,所述热点频道信息包括当前播放量最高的至少一种媒体业务的标识信息;
第一处理模块,用于根据所述热点频道信息,调整当前的组播业务。
本发明实施例还提供了另一种组播装置,所述装置包括:生成模块和第二处理模块,其中,
生成模块,用于生成热点频道信息,所述热点频道信息包括当前播放量最高的至少一种媒体业务的标识信息;
第二处理模块,用于向直播管理平台发送所述热点频道信息,使所述直播管理平台根据所述热点频道信息,调整当前的组播业务。
本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一种第一组播方法的步骤。
本发明实施例还提供了另一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一种第二组播方法的步骤。
本发明实施例提供的一种组播方法、装置、设备和计算机存储介质中,获取热点频道信息,所述热点频道信息包括当前播放量最高的至少一种媒体业务的标识信息;根据所述热点频道信息,调整当前的组播业务。如此,采用本发明实施例的技术方案,可以实现直播频道的按需动态组播;即,无需预设组播,能根据频道实时的热度,动态启停组播,省去了人为设置组播频道的复杂操作,显著提高了易用性。
本发明实施例提供的另一种组播方法、装置、设备和计算机存储介质中,生成热点频道信息,所述热点频道信息包括当前播放量最高的至少一种媒体业务的标识信息;向直播管理平台发送所述热点频道信息,使所述直播管理平台根据所述热点频道信息,调整当前的组播业务。如此,采用本发明实施例的技术方案,可以实现直播频道的按需动态组播;即,无需预设组播,能根据频道实时的热度,动态启停组播,省去了人为设置组播频道的复杂操作,显著提高了易用性。
附图说明
图1为本发明实施例的媒体业务***的组成结构示意图;
图2为本发明实施例的组播方法的流程图;
图3-1为本发明实施例中终端设备A请求HLS直播服务过程的示意图;
图3-2为本发明实施例中终端设备B请求HLS直播服务过程的示意图;
图4为本发明实施例中单码率HLS频道动态组播实现过程的示意图;
图5为本发明实施例中终端设备A请求DASH直播服务过程的示意图;
图6为本发明实施例中多码率DASH频道动态组播实现过程的示意图;
图7为本发明实施例中终端设备A请求MSS直播服务过程的示意图;
图8为本发明实施例中多码率MSS频道动态组播实现过程的示意图;
图9为本发明实施例中终端设备A请求HDS直播服务过程的示意图;
图10为本发明实施例中多码率HDS频道动态组播实现过程的示意图;
图11为本发明实施例的一种组播装置的组成结构示意图;
图12为本发明实施例的一种组播设备的结构示意图;
图13为本发明实施例的另一种组播装置的组成结构示意图;
图14为本发明实施例的控制器的内部结构示意图;
图15为本发明实施例的另一种组播设备的结构示意图。
具体实施方式
以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
相关技术中,CDN组播***难以依照用户真实的播放热点情况动态启停组播,具体地说,实际不需要组播的频道可能也设置了组播,全部频道开启组播使得组播设备资源消耗严重;另外,在频道支持多码率服务时,一个直播频道可以设置多个子码率,如果只选择一部分子码率进行组播则并无法做到按需组播,如果启用了全部子码率组播则其设备的资源消耗又会加倍,弱势尤为突出。
针对相关技术中直播频道无法按需组播的问题,本发明实施例提出了一种实现按需组播的技术方案,可以应用于网络电视、直播平台等电信网络中的众多媒体业务领域;这里,网络电视可以是交互式网络电视(IPTV)等。
本发明实施例的技术方案有各种应用场景,在传输协议层面,可以应用于采用OTT(Over The Top)流媒体技术的组播服务,包括HLS(HTTP Live Streaming)、DASH(DynamicAdaptive Streaming over HTTP)、MSS(Microsoft smooth streaming)、HDS(HttpDynamic Streaming)等,也可以应用于采用实时流传输协议(Real Time StreamingProtocol,RTSP)流媒体技术的组播服务,如IPTV;这里,HTTP是超文本传输协议(HyperTextTransfer Protocol)的简称。
本发明实施例可以基于媒体业务***实现,图1为本发明实施例的媒体业务***的组成结构示意图,如图1所示,该***可以包括CDN组播***、控制器、终端***;可选地,该***还可以包括直播源站。
如图1所示,CDN组播***可以包括直播管理平台和至少一个组播设备,终端***可以包括终端前置设备和至少一个终端设备。
CDN组播***负责将单播形式的直播码流转码成组播码流进行分发;在CDN组播***中,直播管理平台负责组播频道创建删除任务、组播计划的运维管理,同时直播管理平台可以定时从控制器采集热点频道信息,并根据采集到的热点频道信息动态生成热点频道(播放量最高的至少一种频道)的组播计划,下发给组播设备;当有组播频道创建或删除时,直播管理平台及时向控制器同步最新的频道分布信息,更新频道所在的组播设备地址信息;组播设备能够接收直播管理平台的组播频道创建指令,从直播源站回源单播码流(即图1所示的单播媒体流),转码成组播媒体流,向终端***提供组播流服务;组播设备与直播源站间的媒体内容传输协议包括但不限定于HLS、DASH、MSS、HDS、RTSP、实时消息传输协议(Real Time Messaging Protocol,RTMP)等。
控制器能够接收终端***上报的心跳消息,并在本地记录和更新相应内容,心跳消息包含终端前置设备的设备标识信息、设备地址和设备状态;控制器能够接收CDN组播***发送的频道分布信息,并在本地记录和更新相应内容,频道分布信息包含频道身份标识(ID)、频道所在组播设备地址;控制器具备调度能力,能够接收终端设备发起的服务重定向请求(也称为频道播放请求),请求中携带频道ID和终端前置设备的设备标识信息,控制器可以将重定向信息返回给终端设备,重定向信息包含终端前置设备的地址、频道ID和频道所在组播设备地址;控制器能够接收终端前置设备上报的媒体业务实时播放信息,示例性地,媒体业务实时播放信息包含终端***内所有终端设备当前播放频道的ID;控制器具备统计热点频道的能力,控制器定时汇总所有终端***上报的媒体业务实时播放信息,根据汇总的媒体业务实时播放信息,并按照设定的热度阈值计算出热点频道;控制器能够定期或者根据CDN组播***的热点频道信息采集请求,将最新统计出的热点频道信息发送给CDN组播***,具体地,将最新统计出的热点频道信息发送至直播管理平台;示例性地,热点频道信息包含热点频道的频道ID;实际应用中,为了支持大容量用户,可以将多台控制器以集群方式部署,终端设备请求服务时,以负载均衡的方式调度到控制器。可选地,控制器可以应用于区域调度节点、省级调度节点等各级调度节点中。
终端***分散在网络边缘;本发明实施例中,可以设置一个终端***,可以设置多个终端***;在终端***中,终端设备通常为机顶盒设备或手机、PAD等支持媒体访问及播放的终端设备,终端设备能够向控制器发送服务重定向请求,也可以向终端前置设备发送媒体服务请求,并能够接收终端前置设备发送的单播码流(即图1所示的单播媒体流);终端前置设备作为能够直接向终端设备提供流媒体服务的前置组件设备,可以作为独立的家庭设备部署,也可以与机顶盒设备、用户家庭网关或小区宽带接入设备进行集中部署。终端前置设备支持服务代理和缓存功能,可以从CDN组播***回源组播媒体流或从直播源站回源单播媒体流,进而,直接向终端设备提供直播流服务;终端前置设备可以定时向控制器上报终端设备当前播放的媒体业务的实时播放信息,实时播放信息包含终端设备当前播放频道的ID;本发明实施例中,终端***与CDN组播***或直播源站交互的媒体传输协议包括但不限定于HLS、DASH、MSS、HDS、RTSP、RTMP等。
直播源站:支持以单播方式为CDN组播***或用户终端提供直播视频服务,支持视频、音频和字幕直播服务,支持HTTP方式或者实时流的方式提供服务;直播源站与CDN组播***或终端***的媒体交互协议包括但不限定于HLS、DASH、MSS、HDS、RTSP、RTMP等。
基于上述记载的内容,提出以下各实施例。
第一实施例
本发明第一实施例提出了一种组播方法,图2为本发明实施例的组播方法的流程图,如图2所示,该流程可以包括:
步骤S1:控制器生成热点频道信息,热点频道信息包括当前播放量最高的至少一种媒体业务的标识信息。
对于本步骤的实现方式,示例性地,每个终端***中的终端前置设备对应一个终端设备或多个终端设备,每个终端***中的终端前置设备可以向控制器发送对应的各终端设备的媒体业务实时播放信息;控制器接收到各终端设备的媒体业务实时播放信息后,可以根据各终端设备的媒体业务实时播放信息,生成热点频道信息。
本发明实施例中,媒体业务可以包括以下至少一项:视频业务、音频业务、字幕业务等。
对于根据所述各终端设备的媒体业务实时播放信息,生成所述热点频道信息的实现方式,可以首先确定确定热度阈值,热度阈值用于表示CDN组播***最大能支持的并行组播业务的路数;根据各终端设备的媒体业务实时播放信息、以及热度阈值,生成热点频道信息。
例如,当CDN组播***最大能支持10路组播业务时,控制器可以将当前播放量最高的10个频道信息,作为热点频道信息。
实际应用中,终端前置设备给终端设备提供服务时,可以定时向控制器发送终端设备的媒体业务实时播放信息,媒体业务实时播放信息可以包含终端设备当前播放频道的ID;控制器接收终端前置设备发送的终端设备的媒体业务实时播放信息后,在本地记录和更新相应内容;控制器可以定时汇总所有终端前置设备上报的媒体业务实时播放信息,按照设定的热度阈值计算出热点频道信息。
可选地,每种媒体业务对应一个频道,媒体业务实时播放信息包括当前播放频道的标识信息,相应地,媒体业务的标识信息为对应的频道的标识信息。
可选地,每种媒体业务对应一个频道和一个码率,媒体业务实时播放信息还包括:当前播放的媒体业务的频道的标识信息和当前播放的媒体业务的频道码率;相应地,媒体业务的标识信息包括:对应的频道的标识信息和对应的码率。
步骤S2:控制器将热点频道信息发送至直播管理平台。
这里,控制器可以将最新的热点频道信息发送至直播管理平台;在一个示例中,直播管理平台可以在生成热点频道信息采集请求,将热点频道信息采集请求发送至控制器,控制器可以根据热点频道信息采集请求,触发热点频道信息的发送,即,将最新的热点频道信息发送至直播管理平台;在另一个示例中,控制器可以控制器根据特定的周期,主动发送最新热点频道信息给直播管理平台,也就是说,直播管理平台可以周期性地接收最新的热点频道信息。
步骤S3:直播管理平台根据热点频道信息,调整当前的组播业务。
实际实施时,直播管理平台在接收控制器返回的热点频道信息后,可以依据动态组播算法自动生成热点频道的组播计划,即热点组播计划,其中,组播计划的关键信息有频道ID、组播开始时刻、组播结束时刻、组播地址及端口。
下面通过几个示例说明生成组播计划的实现方式。
示例1:
在当前播放量最高的至少一种媒体业务中,存在未正在进行组播的媒体业务时,针对所述未正在进行组播的媒体业务,创建对应的组播业务;即,热点频道还没有组播计划时,则自动生成该频道的组播计划,在一个具体的示例中,组播计划时长可默认为1小时。
对于创建对应的组播业务的实现方式,示例性地,直播管理平台可以向组播设备发送组播创建请求;组播设备可以根据接收到的组播创建请求,进行组播业务创建。
实际应用中,组播设备在收到直播管理平台下发的组播创建请求之后,执行组播创建任务,可以从直播源站回源单播码流,转码成组播媒体流发送到指定的组播地址和端口,组播服务开始;
示例2:
在当前播放量最高的至少一种媒体业务中,存在正在进行组播的媒体业务,且当前时刻与所述正在进行组播的媒体业务的组播结束时刻的时间差小于设定时长时,延后所述正在进行组播的媒体业务的组播结束时刻;也就是说,如果热点频道已生成组播计划,则判断当前的组播计划是否已经临近结束,如果已临近结束则修改计划,延长组播结束时刻,以实现对该频道的持续组播。
对于延后正在进行组播的媒体业务的组播结束时刻的实现方式,示例性地,直播管理平台可以向组播设备发送组播延后请求,组播设备可以根据接收的组播延后请求,延后组播结束时刻。
示例3:
正在进行组播的媒体业务中,存在低热度媒体业务时,删除低热度媒体业务对应的组播业务;上述低热度媒体业务不属于所述当前播放量最高的至少一种媒体业务。
对于删除组播业务的实现方式,示例性地,直播管理平台可以向组播设备发送组播删除请求;所述组播设备可以根据接收到的组播删除请求,删除组播业务。
实际应用中,组播设备在收到直播管理平台下发的组播删除请求之后,执行组播删除任务,停止向直播源站拉流以及发送组播。
作为一种实现方式,直播管理平台可以在每个组播业务的组播开始时刻到达时,下发组播业务创建请求至组播设备;每个组播业务的组播结束时刻到达时,下发组播业务删除请求至组播设备;具体实施时,直播管理平台可以定时扫描热点组播计划,当组播计划中的组播开始时刻到达时,下发组播创建请求给组播设备;当组播结束时刻到达时,下发组播删除请求给组播设备。
可以看出,采用本发明实施例的技术方案,可以实现直播频道的按需动态组播;当提供单播服务的频道用户量较大,即热度高时,对相应的频道开启组播,让用户加入组播组获取频道服务,可大大降低服务侧的网络带宽和设备资源开销降低服务运营商成本;当开启了组播的频道用户量较小或无用户时,即热度低时,对相应频道可以额关闭组播,可减少组播设备资源的消耗,能有效降低CDN组播***设备资源的消耗;另外,本发明实施例无需预设组播,能根据频道实时的热度,动态启停组播,省去了人为设置组播频道的复杂操作,显著提高了易用性。
作为一种实现方式,在CDN组播***中,任一频道的至少一个码率的第一类媒体业务属于所述当前播放量最高的至少一种媒体业务时,针对对应频道的所***率的第二类媒体业务,创建对应的组播业务。
这里,第一类媒体业务为视频媒体业务时,第二类媒体业务为音频媒体业务;第一类媒体业务为音频媒体业务时,第二类媒体业务为视频媒体业务。
例如,频道A的一个或多个视频码率对应的视频媒体业务属于高热度媒体业务(属于当前播放量最高的至少一种媒体业务)时,针对频道A的所有音频码率的音频媒体业务,均启动组播。
作为一种实现方式,在CDN组播***中,任一频道的所***率的第一类媒体业务属于低热度媒体业务时,针对对应频道的所***率的第二类媒体业务,删除对应的组播业务;其中,低热度媒体业务不属于所述当前播放量最高的至少一种媒体业务。
例如,频道B的所有视频码率的视频媒体业务属于低热度媒体业务时,针对频道B的所有音频码率的音频媒体业务,均停止组播。
作为一种实现方式,直播管理平台在创建或删除组播业务时,可以向控制器发送当前组播业务对应的频道分布信息;控制器可以根据接收的频道分布信息,更新当前组播业务对应的频道分布信息。
具体地说,当CDN组播***内有频道创建或删除时,直播管理平台会向控制器发送当前CDN组播***的频道分布信息,频道分布信息可以包含频道标识信息、频道所在组播设备地址;控制器接收到直播管理平台发送的频道分布信息后,在本地记录和更新频道ID以及频道所在组播设备的地址。
作为一种实现方式,控制器还可以实现心跳消息处理;具体地说,终端前置设备向控制器发送心跳消息,心跳消息包括终端前置设备的设备标识信息、设备地址和设备状态;控制器可以根据接收的心跳消息,更新终端前置设备的设备标识信息、设备地址和设备状态。例如,终端***的终端前置设备开机后,终端前置设备可以定时向控制器发送心跳消息,控制器接收到终端前置设备发送的心跳消息后,在本地记录和更新终端前置设备的设备标识信息、设备地址和设备状态。
作为一种实现方式,控制器还可以实现媒体服务调度。
具体地说,终端设备向控制器发起服务重定向请求,服务重定向请求可以携带频道ID和所属终端前置设备的设备标识。
控制器接收到接收到终端设备发送的服务重定向请求时,可以根据当前组播业务对应的频道分布信息、终端前置设备的设备标识信息、设备地址和设备状态,向终端设备发送针对服务重定向请求的重定向信息。在一个具体的示例中,控制器可以根据终端设备发送的服务重定向请求中的频道ID,在本地记录中尝试查找频道所在的组播设备地址或直播源站地址;同时,控制器根据服务重定向请求中的终端前置设备的标识信息,在本地记录中获取发起请求的终端设备归属的终端前置设备的设备状态;如果终端前置设备的设备状态正常,控制器则将终端设备重定向到终端前置设备,返回的重定向信息中包含当前终端设备归属的终端前置设备的地址、频道ID、频道所在组播设备地址或直播源站地址;如果终端前置设备的设备状态异常或获取不到设备状态,控制器拒绝服务。
实际应用中,上述控制器可以由处理器结合存储器实现,上述处理器可以为特定用途集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal ProcessingDevice,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。
上述存储器可以是易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM);或者非易失性存储器(non-volatile memory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器提供指令和数据。
进一步地,终端设备还可以请求媒体服务,下面说明终端设备请求媒体服务过程。
终端设备向终端前置设备发起媒体服务请求,典型的媒体服务请求可以携带频道ID、频道所在组播设备的地址或直播源站地址。
终端前置设备根据终端设备的媒体服务请求中是否包含频道所在组播设备的地址信息,判断相应频道是否提供组播服务;如果未包含频道所在组播设备的地址信息,则终端前置设备直接向直播源站获取单播服务;如果包含了频道所在组播设备的地址,则向频道所在组播设备发起服务请求,服务请求消息中携带频道ID;
组播设备收到终端前置设备的服务请求,返回频道对应的组播信息给终端前置设备,组播信息包含频道对应的组播地址和端口。
终端前置设备接收到频道的组播信息后,通过组播信息中的组播地址和端口,加入组播组,持续接收该频道的组播媒体流,并实时转码成单播码流对终端设备服务。
直播源站收到终端前置设备的服务请求,则直接向终端前置设备提供单播媒体流服务。终端前置设备从直播源站获取到单播媒体流后,直接将媒体流返回给终端设备。
第二实施例
为了能够更加体现本发明的目的,在本发明第一实施例的基础上,从直播管理平台的角度出发,说明本发明实施例的组播方法。
本发明第二实施例的组播方法可以包括以下步骤:
步骤A1:获取热点频道信息,所述热点频道信息包括当前播放量最高的至少一种媒体业务的标识信息;
步骤A2:根据所述热点频道信息,调整当前的组播业务。
可选地,每种媒体业务对应一个频道,所述媒体业务的标识信息为对应的频道的标识信息。
可选地,每种媒体业务对应一个频道和一个码率,所述媒体业务的标识信息包括:对应的频道的标识信息和对应的码率。
可选地,所述热点频道信息是根据各终端设备的媒体业务实时播放信息得出的。
可选地,所述获取热点频道信息包括:
在生成热点频道信息采集请求后,根据所述热点频道信息采集请求采集热点频道信息;
或者,周期性地接收热点频道信息。
可选地,所述根据所述热点频道信息,调整当前的组播业务,包括以下至少一项:
在所述当前播放量最高的至少一种媒体业务中,存在未正在进行组播的媒体业务时,针对所述未正在进行组播的媒体业务,创建对应的组播业务;
在所述当前播放量最高的至少一种媒体业务中,存在正在进行组播的媒体业务,且当前时刻与所述正在进行组播的媒体业务的组播结束时刻的时间差小于设定时长时,延后所述正在进行组播的媒体业务的组播结束时刻;
正在进行组播的媒体业务中,存在低热度媒体业务时,删除所述低热度媒体业务对应的组播业务;所述低热度媒体业务不属于所述当前播放量最高的至少一种媒体业务。
可选地,所述创建对应的组播业务,包括:
向组播设备发送组播创建请求,使所述组播设备根据所述组播创建请求进行组播业务创建,所述组播创建请求用于请求针对所述未正在进行组播的媒体业务,创建对应的组播业务。
可选地,所述延后所述正在进行组播的媒体业务的组播结束时刻,包括:
向组播设备发送组播延后请求,使所述组播设备根据所述组播延后请求延后组播结束时刻,所述组播延后请求用于请求延后所述正在进行组播的媒体业务的组播结束时刻。
可选地,所述删除所述低热度媒体业务对应的组播业务,包括:
向组播设备发送组播删除请求,使所述组播设备根据所述组播删除请求删除组播业务,所述组播删除请求用于请求删除所述低热度媒体业务对应的组播业务。
可选地,所述方法还包括:
每个组播业务的组播开始时刻到达时,下发组播业务创建请求至组播设备;每个组播业务的组播结束时刻到达时,下发组播业务删除请求至组播设备。
可选地,所述方法还包括:
任一频道的至少一个码率的第一类媒体业务属于所述当前播放量最高的至少一种媒体业务时,针对对应频道的所***率的第二类媒体业务,创建对应的组播业务,所述第一类媒体业务为视频媒体业务时,所述第二类媒体业务为音频媒体业务;所述第一类媒体业务为音频媒体业务时,所述第二类媒体业务为视频媒体业务。
可选地,所述方法还包括:
任一频道的所***率的第一类媒体业务属于低热度媒体业务时,针对对应频道的所***率的第二类媒体业务,删除对应的组播业务;其中,所述低热度媒体业务不属于所述当前播放量最高的至少一种媒体业务;所述第一类媒体业务为视频媒体业务时,所述第二类媒体业务为音频媒体业务;所述第一类媒体业务为音频媒体业务时,所述第二类媒体业务为视频媒体业务。
可选地,所述方法还包括:在创建或删除组播业务时,向控制器发送当前组播业务对应的频道分布信息,使所述控制器更新当前组播业务对应的频道分布信息。
第三实施例
为了能够更加体现本发明的目的,在本发明第一实施例的基础上,从控制器的角度出发,说明本发明实施例的组播方法。
本发明第三实施例的组播方法可以包括以下步骤:
步骤B1:生成热点频道信息,所述热点频道信息包括当前播放量最高的至少一种媒体业务的标识信息;
步骤B2:向直播管理平台发送所述热点频道信息,使所述直播管理平台根据所述热点频道信息,调整当前的组播业务。
可选地,所述生成热点频道信息,包括:
接收各终端设备的媒体业务实时播放信息,根据所述各终端设备的媒体业务实时播放信息,生成所述热点频道信息。
可选地,所述根据所述各终端设备的媒体业务实时播放信息,生成所述热点频道信息,包括:
确定热度阈值,所述热度阈值用于表示所述直播管理平台最大能支持的并行组播业务的路数;根据所述各终端设备的媒体业务实时播放信息、以及所述热度阈值,生成所述热点频道信息。
可选地,所述媒体业务实时播放信息包括:当前播放频道的标识信息。
可选地,所述媒体业务实时播放信息还包括:当前播放的媒体业务的码率。
可选地,所述方法还包括:接收直播管理平台在创建或删除组播业务时,发送的当前组播业务对应的频道分布信息;根据接收的频道分布信息,更新当前组播业务对应的频道分布信息;
所述方法还包括:接收终端前置设备发送的心跳消息,所述心跳消息包括终端前置设备的设备标识信息、设备地址和设备状态;根据所述心跳消息,更新所述终端前置设备的设备标识信息、设备地址和设备状态。
可选地,所述方法还包括:
接收到终端设备发送的服务重定向请求时,根据所述当前组播业务对应的频道分布信息、所述终端前置设备的设备标识信息、所述终端前置设备的设备地址和所述终端前置设备的设备状态,向所述终端设备发送针对所述服务重定向请求的重定向信息。
第四实施例
为了能够更加体现本发明的目的,在本发明前述实施例的基础上,进行进一步的举例说明。
本发明第四实施例中,以HLS协议的单码率频道直播服务为例说明如何实施本发明。
本发明第四实施例中,设置一个CDN组播***、一个采用HLS协议传输媒体流的直播源站、一个控制器、100个家庭用户使用的终端***;CDN组播***由1个直播管理平台和3台组播设备组成,每个家庭均有2台终端设备,且部署了一台集成了终端前置设备的家庭网关,总计200台终端设备、100台家庭网关(即上述终端前置设备),家庭网关设备标识信息分别为agent001至agent100;组播设备与直播源站使用HLS协议交互,CDN组播***对终端***提供组播服务,直播源站对终端***提供单播服务;直播源站有50个频道,频道ID分别为hlscid-01到hlscid-50。
控制器心跳消息处理过程可以包括:
步骤101:终端前置设备开机后,终端前置设备定时向控制器发送心跳消息,心跳消息中携带终端前置设备的设备标识信息、设备地址和设备状态,在本实施例中,心跳消息的内容如下:
Figure BDA0001923430020000151
步骤102:控制器接收到终端前置设备发送的心跳消息后,在本地记录和更新终端前置设备的设备标识信息、设备地址和设备状态;
控制器频道分布信息处理过程可以包括:
步骤201:当CDN组播***内有组播频道创建或更新时,直播管理平台会向控制器发送当前CDN组播***的频道分布信息,频道分布信息包含频道标识信息、频道所在组播设备地址,在本实施例中,频道hlscid-01和hlscid-03已建了组播频道,频道分布信息的内容如下:
Figure BDA0001923430020000152
Figure BDA0001923430020000161
步骤202:控制器接收到直播管理平台发送的频道分布信息后,在本地记录和更新频道ID以及频道所在组播设备的地址。
图3-1为本发明实施例中终端设备A请求HLS直播服务过程的示意图,如图3-1所示,该过程可以包括:
步骤301:家庭用户001的终端设备A向控制器发起频道hlscid-01的HTTP播放请求(即图3-1中的hlscid-01频道播放请求),播放请求中URL携带频道标识信息hlscid-01和所属终端前置设备的设备标识agent001;在本实施例中,终端设备A向控制器发送播放请求的内容如下:
Figure BDA0001923430020000162
步骤302:控制器收终端设备A的hlscid-01频道播放请求,在本地记录中获取频道hlscid-01所在的组播设备地址;同时在本地记录中获取终端前置设备agent001的设备状态;终端前置设备agent001的设备状态正常,控制器则将家庭用户001的终端设备A的播放请求重定向到终端前置设备agent001,返回的重定向信息中包含终端前置设备agent001的地址、频道标识信息、频道hlscid-01所在组播设备的地址,在本实施例中,控制器给终端设备A返回的重定向信息内容如下:
Figure BDA0001923430020000163
基于上述步骤301和步骤302,实现了控制器对终端设备A的服务调度。
步骤303:终端设备A重新向终端前置设备agent001发起频道hlscid-01的HTTP播放请求(即图3-1中的重新请求hlscid-01播放),在该播放请求中URL携带频道标识信息hlscid-01、频道hlscid-01所在组播设备的地址10.47.25.51。
步骤304:终端前置设备agent001收到终端设备A的播放请求后,向地址为10.47.25.51组播设备发起频道hlscid-01的组播信息请求(即图3-1中的hlscid-01频道组播信息请求)。
步骤305:地址为10.47.25.51的组播设备向终端前置设备agent001返回频道hlscid-01的组播信息。
步骤306:终端前置设备agent001解析频道hlscid-01的组播信息,然后通过组播信息中的组播地址和端口,加入组播组,接收频道hlscid-01的组播流,将媒体列表信息文件hlscid-01.m3u8和ts文件缓存到本地。
步骤307:终端前置设备agent001将hlscid-01的媒体列表信息文件hlscid-01.m3u8返回给终端设备A;在本实施例中,hlscid-01.m3u8的内容如下:
Figure BDA0001923430020000171
Figure BDA0001923430020000181
步骤308:终端设备A解析hlscid-01.m3u8文件,然后向终端前置设备agent001发起媒体文件hlscid-01_01.ts的下载请求。
步骤309:终端前置设备agent001收到终端设备A的hlscid-01_01.ts下载请求后,从本地缓存读取hlscid-01_01.ts返回给终端设备A。
进一步地,终端设备A收到hlscid-01_01.ts,依次下载媒体列表后面的ts文件,并定时下载媒体列表信息文件hlscid-01.m3u8获取ts列表信息更新,如此循环,实现媒体内容的连续播放。
基于上述步骤303至步骤309,实现了终端设备A请求媒体服务。
图3-2为本发明实施例中终端设备B请求HLS直播服务过程的示意图,如图3-2所示,该过程可以包括:
步骤311:家庭用户001的终端设备B向控制器发起频道hlscid-02的HTTP播放请求(即图3-2中的hlscid-02频道播放请求),播放请求中URL携带频道标识信息hlscid-02和所属终端前置设备的设备标识agent001;终端设备B向控制器发送服务请求的内容如下:
Figure BDA0001923430020000182
步骤312:控制器收到终端设备B的频道hlscid-02播放请求,由于跟终端设备A同属家庭用户001,终端前置设备也是agent001,因此控制器将终端设备B的播放请求重定向到终端前置设备agent001,由于频道hlscid-02未开启组播,需要到直播源站获取单播服务,所以重定向信息中不包含频道所在组播设备地址,而是包含直播源站的地址,返回的重定向信息中包含终端前置设备agent001的地址、频道标识信息、直播源站的地址,控制器给终端设备B返回的重定向信息内容如下:
Figure BDA0001923430020000191
基于上述步骤301和步骤302,实现了控制器对终端设备B的服务调度。
步骤313:终端设备B重新向终端前置设备agent001发起频道hlscid-02的HTTP播放请求(即图3-2中的重新请求hlscid-02播放),在该播放请求中URL携带频道标识信息hlscid-02、直播源站的地址10.10.10.01。
步骤314:终端前置设备agent001收到终端设备B的播放请求后,向地址为10.10.10.01的直播源站发起频道hlscid-02的HTTP单播下载请求(即图3-2中的hlscid-02频道单播信息请求)。
步骤315:直播源站返回频道hlscid-02的媒体分片列表信息文件hlscid-02.m3u8,在本实施例中,hlscid-02.m3u8的内容如下:
Figure BDA0001923430020000192
Figure BDA0001923430020000201
步骤316:终端前置设备agent001获取到的频道hlscid-02的媒体分片列表信息文件hlscid-02.m3u8后,将hlscid-02.m3u8文件返回给终端设备B。
步骤317:终端设备B解析hlscid-02.m3u8文件,然后向终端前置设备agent001发起媒体文件hlscid-02_01.ts的下载请求;
步骤318:终端前置设备agent001收到终端设备B的下载请求,则直接到直播源站发起媒体文件hlscid-02_01.ts的下载请求。
步骤319:直播源站将媒体文件hlscid-02_01.ts返回给终端前置设备agent001。
步骤320:终端前置设备agent001获取到媒体文件hlscid-02_01.ts后,将媒体文件hlscid-02_01.ts返回给终端设备B。
进一步地,终端设备B收到文件hlscid-02_01.ts,依次下载媒体列表后面的ts文件,并定时下载媒体列表信息文件hlscid-02.m3u8获取ts列表信息更新,如此循环,实现媒体内容的连续播放。
基于上述步骤313至步骤320,实现了终端设备B请求媒体服务。
图4为本发明实施例中单码率HLS频道动态组播实现过程的示意图,如图4所示,该过程可以包括:
步骤401:终端前置设备agent001和终端前置设备agent002定时上报相应的终端设备的媒体业务实时播放信息给控制器,该实时播放信息包含终端设备A和终端设备B正在播放频道的频道ID,在本实施例中,终端***001两个终端设备的媒体业务实时播放信息的内容如下:
Figure BDA0001923430020000211
步骤402:控制器接收终端前置设备发送的终端设备的媒体业务实时播放信息后,在本地记录和更新。
步骤403:控制器定时汇总所有终端前置设备上报的媒体业务实时播放信息,统计出每个频道对应的终端设备数,并根据各频道对应的终端设备数进行排序,在本实施例中,排序如下:
Figure BDA0001923430020000212
热点频道需要设定的热度阈值来计算;热度阈值的设定取决于CDN组播***的组播能力,本实施例中,CDN组播***内有3台组播设备,每台组播设备最大支持4路组播频道,则CDN组播***最大支持12路组播频道,则热度阈值设定为12,终端设备数排名前12的频道为热点频道;控制器将这12个热点频道的频道标识信息等记录到本地。
步骤404:直播管理平台定时向控制器发送热点频道信息采集请求。
步骤405:控制器读取本地存储数据,将步骤403中计算出的热点频道信息,返回给CDN组播***,在本实施例中,热点频道信息的内容如下:
Figure BDA0001923430020000213
Figure BDA0001923430020000221
基于上述步骤401至步骤405,实现了控制器热点频道统计。
步骤406:直播管理平台接收控制器返回的热点频道信息,依据动态组播算法自动生成频道hlscid-05的组播计划,本实施例中频道hlscid-05未启动组播,则生成该频道的组播计划,组播计划开始时刻为1分钟后,时长1小时,组播地址225.0.0.1,组播端口10010。
步骤407:直播管理平台定时扫描热点组播计划,当组播计划中的组播开始时刻到达时,下发频道hlscid-05的组播创建请求给组播设备。
步骤408:组播设备在收到直播管理平台下发的组播创建请求之后,执行频道标识信息为hlscid-05的组播创建任务,从直播源站回源频道hlscid-05的单播码流,转码成组播流发送到组播地址225.0.0.1,发送端口为10010,组播服务开始。
基于上述步骤406至步骤408,实现了基于热点频道启动组播过程。
进一步地,还可以基于热点频道停止组播,基于热点频道停止组播的过程可以包括:
直播管理平台定时扫描频道hlscid-05的组播计划,如果是热点频道,临近结束时刻时如果频道hlscid-05仍是热点频道,则延长组播计划结束时刻1小时,如果频道hlscid-05已经不是热点频道,则不延长组播计划的结束时刻。当组播计划结束时刻达到时,下发频道hlscid-05的组播删除请求给组播设备。
组播设备在收到直播管理平台下发的组播删除请求之后,执行频道标识信息为hlscid-05的组播删除任务,不再去直播源站拉单播流,组播服务结束。
第五实施例
为了能够更加体现本发明的目的,在本发明前述实施例的基础上,进行进一步的举例说明。
本发明第五实施例中,以给用户终端提供DASH协议服务为例说明如何实施本发明。
本发明第五实施例中,设置一个CDN组播***、一个采用DASH协议传输媒体流的直播源站、一个控制器、100个家庭用户使用的终端***;CDN组播***由1个直播管理平台和3台组播设备组成,每个家庭均有2台终端设备(采用chrome浏览器的终端),且部署了一台集成了终端前置设备的家庭网关,总计200台终端设备、100台家庭网关(即上述终端前置设备),家庭网关设备标识信息分别为agent001至agent100;组播设备与直播源站使用DASH协议交互,CDN组播***对终端***提供组播服务,直播源站对终端***提供单播服务;直播源站有10个频道,频道ID分别为dashcid-01到dashcid-10,每个频道的媒体内容均为视频和音频双轨,视频轨有3种子码率,分别为1024000、2048000和3072000,音频轨有2种码率,分别为160000和320000。
控制器心跳消息处理过程可以包括:
步骤501:终端前置设备开机后,终端前置设备定时向控制器发送心跳消息,心跳消息中携带终端前置设备的设备标识信息、设备地址和设备状态,在本实施例中,心跳消息的内容如下:
Figure BDA0001923430020000231
步骤502:控制器接收到终端前置设备发送的心跳消息后,在本地记录和更新终端前置设备的设备标识信息、设备地址和设备状态。
控制器频道分布信息处理过程:
步骤601:当CDN组播***内有组播频道创建或更新时,直播管理平台会向控制器发送当前CDN组播***的频道分布信息,频道分布信息包含频道标识信息、频道所在组播设备地址,在本实施例中,频道dashcid-01和dashcid-03的某些子码率已经创建了组播频道,频道分布信息的内容如下:
Figure BDA0001923430020000241
步骤602:控制器接收到直播管理平台发送的频道分布信息后,在本地记录和更新频道ID以及频道所在组播设备的地址。
图5为本发明实施例中终端设备A请求DASH直播服务过程的示意图,如图5所示,该过程可以包括:
步骤701:家庭用户001的终端设备A向控制器发起频道dashcid-01的HTTP播放请求(即图5中的频道播放请求),播放请求中URL携带频道标识信息dashcid-01和所属终端前置设备的设备标识agent001,在本实施例中,终端设备向控制器发送播放请求的内容如下:
Figure BDA0001923430020000242
步骤702:控制器在本地记录中获取频道dashcid-01所在的组播设备地址;同时在本地记录中获取终端前置设备agent001的设备状态;终端前置设备agent001的设备状态正常,控制器则将家庭用户001的终端设备A重定向到终端前置设备agent001,返回的重定向信息中包含终端前置设备agent001的地址、频道标识信息、频道dashcid-01所在组播设备的地址,在本实施例中,控制器给终端设备返回的重定向信息内容如下:
Figure BDA0001923430020000251
基于上述步骤701和步骤702,实现了控制器对终端设备A的服务调度。
步骤703:终端设备A重新向终端前置设备agent001发起频道dashcid-01的HTTP播放请求(即图5中的重新请求播放服务),在该播放请求中URL携带频道标识信息dashcid-01、频道dashcid-01所在组播设备的地址10.47.25.51。
步骤704:终端前置设备agent001收到终端设备A的播放请求后,向地址为10.47.25.51的组播设备发起HTTP频道dashcid-01的码率列表manifest.mpd文件下载请求。
步骤705:组播设备返回manifest.mpd文件以及组播信息,在终端设备中,进行本地记录和更新。
步骤706:终端前置设备agent001获取到的频道dashcid-01的码率列表manifest.mpd文件后,将manifest.mpd文件返回给终端设备A。
步骤707:终端设备A根据自身的策略选择选择一个视频子码率2048000和一个音频子码率160000,同时向终端前置设备agent001发起视频子码率2048000和音频子码率160000的服务请求。
步骤708:终端前置设备agent001从本地记录获取视频子码率2048000的组播信息,然后通过组播信息中的组播地址和端口,加入组播组,接收视频子码率2048000的组播流,再转码成单播码流对终端设备A服务;如果本地记录未找到视频子码率2048000的组播信息,则直接向直播源站发起视频子码率2048000的服务请求,从直播源站回源单播媒体流(图5未示出);该步骤中,音频子码率160000的处理流程跟视频子码率2048000相同,因此,不再详细描述。
步骤709:端前置设备agent001获取到媒体流后,将媒体流返回给终端设备A;如果终端前置设备agent001本地有频道dashcid-01的视频子码率2048000和音频子码率160000的缓存,则直接读取本地缓存后对终端设备A提供服务。
基于上述步骤703至步骤709,实现了终端设备A请求媒体服务。
图6为本发明实施例中多码率DASH频道动态组播实现过程的示意图,如图6所示,该过程可以包括:
步骤801:终端前置设备agent001和终端前置设备agent002定时上报相应的终端设备的媒体业务实时播放信息给控制器,该实时播放信息包含终端设备A和终端设备B正在播放频道的频道标识信息和视频码率;在本实施例中,终端***001两个终端设备的媒体业务实时播放信息的内容如下:
Figure BDA0001923430020000261
步骤802:控制器接收终端前置设备发送的终端设备的媒体业务实时播放信息后,在本地记录和更新。
步骤803:控制器定时汇总所有终端前置设备上报的媒体业务实时播放信息,统计出每个频道各视频子码率对应的终端设备数,并根据频道各视频子码率对应的终端设备数进行排序,在本实施例中,排序如下:
Figure BDA0001923430020000262
热点视频码率根据设定的热度阈值来计算。热度阈值的设定取决于CDN组播***的组播能力,本实施例中,CDN组播***内有3台组播设备,每台组播设备最大支持4路组播频道,则***最大支持12路组播频道,则热度阈值设定为12,终端设备数排名前12的频道视频子码率为热点视频码率;控制器将这12个热点视频码率的频道标识信息、码率值等记录到本地。
步骤804:直播管理平台定时向控制器发送热点视频码率信息采集请求。
步骤805:控制器读取本地存储数据,将步骤803中计算出的热点视频码率信息,返回给CDN组播***,在本实施例中,热点视频码率信息的内容如下:
Figure BDA0001923430020000271
基于上述步骤801至步骤805,实现了控制器热点频道统计。
步骤806:直播管理平台接收控制器返回的热点视频码率信息,依据动态组播算法自动生成频道dashcid-05的视频子码率2048000以及其他热点视频码率的组播计划,本实施例中频道dashcid-05的子码率2048000未启动组播,则生成该码率的组播计划,组播计划开始时刻为1分钟后,时长1小时,组播地址225.0.0.1,组播端口10010;当频道中一个或多个视频码率变成热点码率,则该频道所有的音频码率均启动组播,当频道所有视频码率都变成非热点时,音频码率停止组播,频道dashcid-05的视频码率2048000启动组播后,音频码率160000和320000也同时生成组播计划,组播开始和结束时刻与视频码率一致,组播地址和端口需要另外分配。
步骤807:直播管理平台定时扫描热点组播计划,当组播计划中的组播开始时刻到达时,下发频道视频子码率2048000、音频子码率160000和320000的组播创建请求给组播设备。
步骤808:组播设备在收到直播管理平台下发的组播创建请求之后,执行频道标识信息为dashcid-05的视频子码率2048000、音频子码率160000和320000的组播创建任务,从直播源站回源视频子码率2048000、音频子码率160000和320000的单播码流,转码成组播流发送到各码率对应的组播地址和端口,组播服务开始。
基于上述步骤806至步骤808,实现了基于热点频道启动组播过程。
第六实施例
为了能够更加体现本发明的目的,在本发明前述实施例的基础上,进行进一步的举例说明。
本发明第六实施例中,以给用户终端提供MSS协议服务为例说明如何实施本发明。
本发明第六实施例中,设置一个CDN组播***、一个采用MSS协议传输媒体流的直播源站、一个控制器、100个家庭用户使用的终端***;CDN组播***由1个直播管理平台和3台组播设备组成,每个家庭均有2台终端设备(采用IE浏览器的终端),且部署了一台集成了终端前置设备的家庭网关,总计200台终端设备、100台家庭网关(即上述终端前置设备),家庭网关设备标识信息分别为agent001至agent100;组播设备与直播源站使用MSS协议交互,CDN组播***对终端***提供组播服务,直播源站对终端***提供单播服务;直播源站有10个频道,频道ID分别为msscid-01到msscid-10,每个频道的媒体内容均为视频和音频双轨,视频轨有3种子码率,分别为1024000、2048000和3072000,音频轨有2种码率,分别为160000和320000。
控制器心跳消息处理过程:
步骤901:终端前置设备开机后,终端前置设备定时向控制器发送心跳消息,心跳消息中携带终端前置设备的设备标识信息、设备地址和设备状态,在本实施例中,心跳消息的内容如下:
Figure BDA0001923430020000291
步骤902:控制器接收到终端前置设备发送的心跳消息后,在本地记录和更新终端前置设备的设备标识信息、设备地址和设备状态。
控制器频道分布信息处理过程:
步骤1001:当CDN组播***内有组播频道创建或更新,直播管理平台会向控制器发送当前CDN组播***的频道分布信息,频道分布信息包含频道标识信息、频道所在组播设备地址,在本实施例中,频道msscid-01和msscid-03的某些子码率已经创建了组播频道,频道分布信息的内容如下:
Figure BDA0001923430020000292
步骤1002:控制器接收到直播管理平台发送的频道分布信息后,在本地记录和更新频道ID以及频道所在组播设备的地址;
图7为本发明实施例中终端设备A请求MSS直播服务过程的示意图,如图7所示,该过程可以包括:
步骤1101:家庭用户001的终端设备A向控制器发起频道msscid-01的HTTP播放请求(即图7中的频道播放请求),播放请求中URL携带频道标识信息msscid-01和所属终端前置设备的设备标识agent001,在本实施例中,终端设备向控制器发送播放请求的内容如下:
Figure BDA0001923430020000301
步骤1102:控制器在本地记录中获取频道msscid-01所在的组播设备地址;同时在本地记录中获取终端前置设备agent001的设备状态;终端前置设备agent001的设备状态正常,控制器则将家庭用户001的终端设备A重定向到终端前置设备agent001,返回的重定向信息中包含终端前置设备agent001的地址、频道标识信息、频道msscid-01所在组播设备的地址,在本实施例中,控制器给终端设备返回的重定向信息内容如下:
Figure BDA0001923430020000302
基于上述步骤1101和步骤1102,实现了控制器对终端设备A的服务调度
步骤1103:终端设备A重新向终端前置设备agent001发起频道msscid-01的HTTP播放请求(即图7中的重新请求播放服务),在该播放请求中URL携带频道标识信息dashcid-01、频道msscid-01所在组播设备的地址10.47.25.51。
步骤1104:终端前置设备agent001收到终端设备A的播放请求后,向地址为10.47.25.51的组播设备发起HTTP频道msscid-01的码率列表manifest文件下载请求。
步骤1105:组播设备返回manifest文件以及组播信息,在终端设备中,进行本地记录和更新。
步骤1106:终端前置设备agent001获取到的频道msscid-01的码率列表manifest文件后,将manifest文件返回给终端设备A。
步骤1107:终端设备A根据自身的策略选择选择一个视频子码率2048000和一个音频子码率160000,同时向终端前置设备agent001发起视频子码率2048000和音频子码率160000的服务请求。
步骤1108:终端前置设备agent001从本地记录获取视频子码率2048000的组播信息,然后通过组播信息中的组播地址和端口,加入组播组,接收视频子码率2048000的组播流,再转码成单播码流对终端设备A服务;如果本地记录未找到视频子码率2048000的组播信息,则直接向直播源站发起视频子码率2048000的服务请求,从直播源站回源单播媒体流(图7未示出);该步骤中,音频子码率160000的处理流程跟视频子码率2048000相同,因此,不再详细描述。
步骤1109:终端前置设备agent001获取到媒体流后,将媒体流返回给终端设备A;如果终端前置设备agent001本地有频道msscid-01的视频子码率2048000和音频子码率160000的缓存,则直接读取本地缓存后对终端设备A提供服务。
基于上述步骤1103至步骤1109,实现了终端设备A请求媒体服务。
图8为本发明实施例中多码率MSS频道动态组播实现过程的示意图,如图8所示,该过程可以包括:
步骤1201:终端前置设备agent001和终端前置设备agent002定时上报相应的终端设备的媒体业务实时播放信息给控制器,该实时播放信息包含终端设备A和终端设备B正在播放频道的频道标识信息和视频码率;在本实施例中,终端***001两个终端设备的媒体业务实时播放信息的内容如下:
Figure BDA0001923430020000311
步骤1202:控制器接收终端前置设备发送的终端设备的媒体业务实时播放信息后,在本地记录和更新。
步骤1203:控制器定时汇总所有终端前置设备上报的媒体业务实时播放信息,统计出每个频道各视频子码率对应的终端设备数,并根据频道各视频子码率对应的终端设备数进行排序,在本实施例中,排序如下:
Figure BDA0001923430020000321
热点视频码率根据设定的热度阈值来计算。热度阈值的设定取决于CDN组播***的组播能力,本实施例中,CDN组播***内有3台组播设备,每台组播设备最大支持4路组播频道,则***最大支持12路组播频道,则热度阈值设定为12,终端设备数排名top12的频道视频子码率为热点视频码率。控制器将这12个热点视频码率的频道标识信息、码率值等记录到本地。
步骤1204:直播管理平台定时向控制器发送热点视频码率信息采集请求。
步骤1205:控制器读取本地存储数据,将步骤1203中计算出的热点视频码率信息,返回给CDN组播***,在本实施例中,热点视频码率信息的内容如下:
Figure BDA0001923430020000322
基于上述步骤801至步骤805,实现了控制器热点频道统计。
步骤1206:直播管理平台接收控制器返回的热点视频码率信息,依据动态组播算法自动生成频道msscid-05的视频子码率2048000以及其他热点视频码率的组播计划,本实施例中频道msscid-05的子码率2048000未启动组播,则生成该码率的组播计划,组播计划开始时刻为1分钟后,时长1小时,组播地址225.0.0.1,组播端口10010;当频道中一个或多个视频码率变成热点码率,则该频道所有的音频码率均启动组播,当频道所有视频码率都变成非热点时,音频码率停止组播,频道dashcid-05的视频码率2048000启动组播后,音频码率160000和320000也同时生成组播计划,组播开始和结束时刻与视频码率一致,组播地址和端口需要另外分配;
步骤1207:直播管理平台定时扫描热点组播计划,当组播计划中的组播开始时刻到达时,下发频道视频子码率2048000、音频子码率160000和320000的组播频道创建请求给组播设备。
步骤1208:组播设备在收到直播管理平台下发的组播创建请求之后,执行频道标识信息为msscid-05的视频子码率2048000、音频子码率160000和320000的组播频道创建任务,从直播源站回源视频子码率2048000、音频子码率160000和320000的单播码流,转码成组播流发送到各码率对应的组播地址和端口,组播服务开始。
第七实施例
为了能够更加体现本发明的目的,在本发明前述实施例的基础上,进行进一步的举例说明。
本发明第七实施例中,以给用户终端提供HDS协议服务为例说明如何实施本发明。
本发明第七实施例中,设置一个CDN组播***、一个采用HDS协议传输媒体流的直播源站、一个控制器、100个家庭用户使用的终端***;CDN组播***由1个直播管理平台和3台组播设备组成,每个家庭均有2台终端设备(采用chrome浏览器的终端),且部署了一台集成了终端前置设备的家庭网关,总计200台终端设备、100台家庭网关(即上述终端前置设备),家庭网关设备标识信息分别为agent001至agent100;组播设备与直播源站使用HDS协议交互,CDN组播***对终端***提供组播服务,直播源站对终端***提供单播服务;直播源站有10个频道,频道ID分别为hdscid-01到hdscid-10,每个频道均有3种子码率,音视频同轨,分别为1024000、2048000和3072000。
控制器心跳消息处理过程可以包括:
步骤1301:终端前置设备开机后,终端前置设备定时向控制器发送心跳消息,心跳消息中携带终端前置设备的设备标识信息、设备地址和设备状态,在本实施例中,心跳消息的内容如下:
Figure BDA0001923430020000341
步骤1302:控制器接收到终端前置设备发送的心跳消息后,在本地记录和更新终端前置设备的设备标识信息、设备地址和设备状态。
控制器频道分布信息处理过程:
步骤1401:当CDN组播***内有组播频道创建或更新时,直播管理平台会向控制器发送当前CDN组播***的频道分布信息,频道分布信息包含频道标识信息、频道所在组播设备地址,在本实施例中,频道hdscid-01和hdscid-03的某些子码率已建了组播频道,频道分布信息的内容如下:
Figure BDA0001923430020000342
步骤1402:控制器接收到直播管理平台发送的频道分布信息后,在本地记录和更新频道ID以及频道所在组播设备的地址。
图9为本发明实施例中终端设备A请求HDS直播服务过程的示意图,如图9所示,该过程可以包括:
步骤1501:家庭用户001的终端设备A向控制器发起频道hdscid-01的HTTP播放请求(即图9中的频道播放请求),播放请求中URL携带频道标识信息hdscid-01和所属终端前置设备的设备标识agent001,在本实施例中,终端设备向控制器发送服务请求的内容如下:
Figure BDA0001923430020000351
步骤1502:控制器在本地记录中获取频道hdscid-01所在的组播设备地址;同时在本地记录中获取终端前置设备agent001的设备状态;终端前置设备agent001的设备状态正常,控制器则将家庭用户001的终端设备A重定向到终端前置设备agent001,返回的重定向信息中包含终端前置设备agent001的地址、频道标识信息、频道hdscid-01所在组播设备的地址,在本实施例中,控制器给终端设备返回的重定向信息内容如下:
Figure BDA0001923430020000352
基于上述步骤1501和步骤1502,实现了控制器对终端设备A的服务调度。
步骤1503:终端设备A重新向终端前置设备agent001发起频道hdscid-01的HTTP播放请求(即图9中的重新请求播放服务),在该播放请求中URL携带频道标识信息hdscid-01、频道hdscid-01所在组播设备的地址10.47.25.51。
步骤1504:终端前置设备agent001收到终端设备A的播放请求后,向地址为10.47.25.51的组播设备发起HTTP频道hdscid-01的码率列表manifest文件下载请求。
步骤1505:组播设备返回manifest文件以及组播信息,在终端设备中,进行本地记录和更新。
步骤1506:终端前置设备agent001获取到的频道hdscid-01的码率列表manifest文件后,将manifest文件返回给终端设备A。
步骤1507:终端设备A根据自身的策略选择选择一个子码率2048000,向终端前置设备agent001发起子码率2048000的服务请求(即图9中的子码率服务请求)。
步骤1508:终端前置设备agent001从本地记录获取子码率2048000的组播信息,然后通过组播信息中的组播地址和端口,加入组播组,接收子码率2048000的组播流,再转码成单播码流对终端设备A服务;如果本地记录未找到子码率2048000的组播信息,则直接向直播源站发起子码率2048000的服务请求,从直播源站回源单播媒体流。
步骤1509:终端前置设备agent001获取到媒体流后,将媒体流返回给终端设备A;如果终端前置设备agent001本地有请求服务子码率2048000的缓存,则直接读取本地缓存后对终端设备A提供服务;
基于上述步骤1503至步骤1509,实现了终端设备A请求媒体服务。
图10为本发明实施例中多码率HDS频道动态组播实现过程的示意图,如图10所示,该过程可以包括:
步骤1601:终端前置设备agent001和终端前置设备agent002定时上报相应的终端设备的媒体业务实时播放信息给控制器,该实时播放信息包含终端设备A和终端设备B正在播放频道的频道标识信息和视频码率;在本实施例中,终端***001两个终端设备的媒体业务实时播放信息的内容如下:
Figure BDA0001923430020000361
Figure BDA0001923430020000371
步骤1602:控制器接收终端前置设备发送的终端设备的媒体业务实时播放信息后,在本地记录和更新。
步骤1603:控制器定时汇总所有终端前置设备上报的媒体业务实时播放信息,统计出每个频道各子码率对应的终端设备数,并根据频道各码率的终端设备数进行排序,在本实施例中,排序如下:
Figure BDA0001923430020000372
热点码率根据设定的热度阈值来计算。热度阈值的设定取决于CDN组播***的组播能力,本实施例中,CDN组播***内有3台组播设备,每台组播设备最大支持4路组播频道,则***最大支持12路组播频道,则热度阈值设定为12,终端设备数排名top12的频道子码率为热点码率。控制器将这12个热点码率的频道标志、码率值等记录到本地;
步骤1604:直播管理平台定时向控制器发送热点码率信息采集请求。
步骤1605:控制器读取本地存储数据,将步骤1603中计算出的热点视频码率信息,返回给CDN组播***,在本实施例中,热点视频码率信息的内容如下:
Figure BDA0001923430020000373
Figure BDA0001923430020000381
基于上述步骤1601至步骤1605,实现了控制器热点频道统计。
步骤1606:直播管理平台接收控制器返回的热点码率信息,依据动态组播算法自动生成频道hdscid-05的子码率2048000以及其他热点码率的组播计划,本实时例中频道hdscid-05的子码率2048000未启动组播,则生成该码率的组播计划,组播计划开始时刻为1分钟后,时长1小时,组播地址225.0.0.1,组播端口10010。
步骤1607:直播管理平台定时扫描热点组播计划,当组播计划中的组播开始时刻到达时,下发频道子码率2048000的组播创建请求给组播设备。
步骤1608:组播设备在收到直播管理平台下发的组播创建请求之后,执行频道标识信息为hdscid-05的子码率2048000的组播创建任务,从直播源站回源子码率2048000的单播码流,转码成组播流发送到组播地址225.0.0.1,发送端口为10010,组播服务开始。
第八实施例
在本发明前述实施例提出的组播方法的基础上,本发明第八实施例提出了一种组播装置,可以应用于直播管理平台中。
图11为本发明实施例的一种组播装置的组成结构示意图,如图11所示,该装置包括:获取模块1101和第一处理模块1102,其中,
获取模块1101,用于获取热点频道信息,所述热点频道信息包括当前播放量最高的至少一种媒体业务的标识信息;
第一处理模块1102,用于根据所述热点频道信息,调整当前的组播业务。
在一实施方式中,每种媒体业务对应一个频道,所述媒体业务的标识信息为对应的频道的标识信息。
在一实施方式中,每种媒体业务对应一个频道和一个码率,所述媒体业务的标识信息包括:对应的频道的标识信息和对应的码率。
在一实施方式中,所述热点频道信息是根据各终端设备的媒体业务实时播放信息得出的。
在一实施方式中,所述获取模块1101,用于在生成热点频道信息采集请求后,根据所述热点频道信息采集请求采集热点频道信息;或者,周期性地接收热点频道信息。
在一实施方式中,所述第一处理模块1102,具体用于执行以下至少一项:
在所述当前播放量最高的至少一种媒体业务中,存在未正在进行组播的媒体业务时,针对所述未正在进行组播的媒体业务,创建对应的组播业务;
在所述当前播放量最高的至少一种媒体业务中,存在正在进行组播的媒体业务,且当前时刻与所述正在进行组播的媒体业务的组播结束时刻的时间差小于设定时长时,延后所述正在进行组播的媒体业务的组播结束时刻;
正在进行组播的媒体业务中,存在低热度媒体业务时,删除所述低热度媒体业务对应的组播业务;所述低热度媒体业务不属于所述当前播放量最高的至少一种媒体业务。
在一实施方式中,所述第一处理模块1102,具体用于向组播设备发送组播创建请求,使所述组播设备根据所述组播创建请求进行组播业务创建,所述组播创建请求用于请求针对所述未正在进行组播的媒体业务,创建对应的组播业务。
在一实施方式中,所述第一处理模块1102,具体用于向组播设备发送组播延后请求,使所述组播设备根据所述组播延后请求延后组播结束时刻,所述组播延后请求用于请求延后所述正在进行组播的媒体业务的组播结束时刻。
在一实施方式中,所述第一处理模块1102,具体用于向组播设备发送组播删除请求,使所述组播设备根据所述组播删除请求删除组播业务,所述组播删除请求用于请求删除所述低热度媒体业务对应的组播业务。
在一实施方式中,所述第一处理模块1102,还用于在每个组播业务的组播开始时刻到达时,下发组播业务创建请求至组播设备;每个组播业务的组播结束时刻到达时,下发组播业务删除请求至组播设备。
在一实施方式中,所述第一处理模块1102,还用于在任一频道的至少一个码率的第一类媒体业务属于所述当前播放量最高的至少一种媒体业务时,针对对应频道的所***率的第二类媒体业务,创建对应的组播业务,所述第一类媒体业务为视频媒体业务时,所述第二类媒体业务为音频媒体业务;所述第一类媒体业务为音频媒体业务时,所述第二类媒体业务为视频媒体业务。
在一实施方式中,所述第一处理模块1102,还用于在任一频道的所***率的第一类媒体业务属于低热度媒体业务时,针对对应频道的所***率的第二类媒体业务,删除对应的组播业务;其中,所述低热度媒体业务不属于所述当前播放量最高的至少一种媒体业务;所述第一类媒体业务为视频媒体业务时,所述第二类媒体业务为音频媒体业务;所述第一类媒体业务为音频媒体业务时,所述第二类媒体业务为视频媒体业务。
在一实施方式中,所述第一处理模块1102,还用于在创建或删除组播业务时,向控制器发送当前组播业务对应的频道分布信息,使所述控制器更新当前组播业务对应的频道分布信息。
实际应用中,上述获取模块1101和第一处理模块1102均可由直播管理平台中的CPU、微处理器(Micro Processor Unit,MPU)、DSP、或FPGA等实现。
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
具体来讲,本实施例中的一种组播方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种组播方法对应的计算机程序指令被一电子设备读取或被执行时,实现前述第二实施例的任意一种组播方法的步骤。
基于前述实施例相同的技术构思,参见图12,其示出了本发明实施例提供的一种组播设备120,该设备可以包括:第一存储器121和第一处理器122;其中,
所述第一存储器121,用于存储计算机程序和数据;
所述第一处理器122,用于执行所述存储器中存储的计算机程序,以实现前述第二实施例的任意一种组播方法的步骤。
在实际应用中,上述第一存储器121可以是易失性存储器,例如RAM;或者非易失性存储器,例如ROM,快闪存储器,HDD或SSD;或者上述种类的存储器的组合,并向第一处理器122提供指令和数据。
上述第一处理器122可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述第一处理器功能的电子器件还可以为其它,本发明实施例不作具体限定。
第九实施例
在本发明前述实施例提出的组播方法的基础上,本发明第九实施例提出了一种组播装置,可以应用于控制器中。
图13为本发明实施例的另一种组播装置的组成结构示意图,如图13所示,该装置包括:生成模块1301和第二处理模块1302,其中,
生成模块1301,用于生成热点频道信息,所述热点频道信息包括当前播放量最高的至少一种媒体业务的标识信息;
第二处理模块1302,用于向直播管理平台发送所述热点频道信息,使所述直播管理平台根据所述热点频道信息,调整当前的组播业务。
在一实施方式中,所述第二处理模块1301,具体用于接收各终端设备的媒体业务实时播放信息,根据所述各终端设备的媒体业务实时播放信息,生成所述热点频道信息。
在一实施方式中,所述第二处理模块1301,具体用于确定热度阈值,所述热度阈值用于表示所述直播管理平台最大能支持的并行组播业务的路数;根据所述各终端设备的媒体业务实时播放信息、以及所述热度阈值,生成所述热点频道信息。
在一实施方式中,所述媒体业务实时播放信息包括:当前播放频道的标识信息。
在一实施方式中,所述媒体业务实时播放信息还包括:当前播放的媒体业务的码率。
在一实施方式中,所述第二处理模块1301,还用于在接收直播管理平台在创建或删除组播业务时,发送的当前组播业务对应的频道分布信息;根据接收的频道分布信息,更新当前组播业务对应的频道分布信息;
接收终端前置设备发送的心跳消息,所述心跳消息包括终端前置设备的设备标识信息、设备地址和设备状态;根据所述心跳消息,更新所述终端前置设备的设备标识信息、设备地址和设备状态。
在一实施方式中,所述第二处理模块1301,还用于接收到终端设备发送的服务重定向请求时,根据所述当前组播业务对应的频道分布信息、所述终端前置设备的设备标识信息、所述终端前置设备的设备地址和所述终端前置设备的设备状态,向所述终端设备发送针对所述服务重定向请求的重定向信息。
本发明实施例还提出了一种控制器,图14为本发明实施例的控制器的内部结构示意图,如图14所示,该控制器可以包括:心跳消息接收模块、频道分布信息接收模块、实时播放信息接收模块、热点频道统计模块、热点频道信息发送模块和调度模块,其中,
心跳消息接收模块,用于接收终端***上报的心跳消息,并在本地记录和更新,心跳消息包含终端前置设备的设备标识信息、设备地址和设备状态;
频道分布信息接收模块,用于接收CDN组播***同步的频道分布信息,并在本地记录和更新,频道分布信息包含频道ID、频道所在组播设备地址;
实时播放信息接收模块,用于接收终端***上报的媒体业务实时播放信息,并在本地记录和更新,媒体业务实时播放信息包含终端设备当前播放频道的ID;
热点频道统计模块,用于负责汇总所有终端设备的媒体业务实时播放信息,按照设定的热度阈值计算出热点频道,记录到本地;
热点频道信息发送模块,用于向CDN组播***发送热点频道信息,热点频道信息包含热点频道的频道ID;实际实施时,可以在接收到CDN组播***的热点频道信息采集请求时,触发热点频道信息的发送,也可以根据特定的周期,主动发送热点频道信息给CDN组播***;
调度模块,用于接收终端设备发起的服务重定向请求,服务重定向请求携带频道ID和所属终端前置设备的标识信息。调度模块根据终端设备发送的直播服务请求中的频道ID,在本地记录中获取频道所在的组播设备地址;同时根据服务重定向请求中的标识信息,在本地记录中获取发起请求的终端设备归属的终端前置设备的设备状态。如果终端前置设备的设备状态正常,则将终端设备重定向到终端前置设备,返回的重定向信息中包含当前终端设备归属的终端前置设备的地址、频道ID、频道所在组播设备的地址;如果终端前置设备的设备状态异常,则不提供服务。
实际应用中,上述生成模块1301、第二处理模块1302、心跳消息接收模块、频道分布信息接收模块、实时播放信息接收模块、热点频道统计模块、热点频道信息发送模块和调度模块均可由控制器中的CPU、MPU、DSP、或FPGA等实现。
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
具体来讲,本实施例中的一种组播方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种组播方法对应的计算机程序指令被一电子设备读取或被执行时,实现前述第三实施例的任意一种组播方法的步骤。
基于前述实施例相同的技术构思,参见图12,其示出了本发明实施例提供的另一种组播设备150,该设备可以包括:第二存储器151和第二处理器152;其中,
所述第二存储器151,用于存储计算机程序和数据;
所述第二处理器152,用于执行所述存储器中存储的计算机程序,以实现前述第三实施例的任意一种组播方法的步骤。
在实际应用中,上述第二存储器151可以是易失性存储器,例如RAM;或者非易失性存储器,例如ROM,快闪存储器,HDD或SSD;或者上述种类的存储器的组合,并向第二处理器152提供指令和数据。
上述第二处理器152可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述第二处理器功能的电子器件还可以为其它,本发明实施例不作具体限定。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (26)

1.一种组播方法,其特征在于,所述方法包括:
获取热点频道信息,所述热点频道信息包括当前播放量最高的至少一种媒体业务的标识信息;
根据所述热点频道信息,调整当前的组播业务。
2.根据权利要求1所述的方法,其特征在于,每种媒体业务对应一个频道,所述媒体业务的标识信息为对应的频道的标识信息。
3.根据权利要求1所述的方法,其特征在于,每种媒体业务对应一个频道和一个码率,所述媒体业务的标识信息包括:对应的频道的标识信息和对应的码率。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述热点频道信息是根据各终端设备的媒体业务实时播放信息得出的。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述获取热点频道信息包括:
在生成热点频道信息采集请求后,根据所述热点频道信息采集请求采集热点频道信息;
或者,周期性地接收热点频道信息。
6.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述热点频道信息,调整当前的组播业务,包括以下至少一项:
在所述当前播放量最高的至少一种媒体业务中,存在未正在进行组播的媒体业务时,针对所述未正在进行组播的媒体业务,创建对应的组播业务;
在所述当前播放量最高的至少一种媒体业务中,存在正在进行组播的媒体业务,且当前时刻与所述正在进行组播的媒体业务的组播结束时刻的时间差小于设定时长时,延后所述正在进行组播的媒体业务的组播结束时刻;
正在进行组播的媒体业务中,存在低热度媒体业务时,删除所述低热度媒体业务对应的组播业务;所述低热度媒体业务不属于所述当前播放量最高的至少一种媒体业务。
7.根据权利要求6所述的方法,其特征在于,所述创建对应的组播业务,包括:
向组播设备发送组播创建请求,使所述组播设备根据所述组播创建请求进行组播业务创建,所述组播创建请求用于请求针对所述未正在进行组播的媒体业务,创建对应的组播业务。
8.根据权利要求6所述的方法,其特征在于,所述延后所述正在进行组播的媒体业务的组播结束时刻,包括:
向组播设备发送组播延后请求,使所述组播设备根据所述组播延后请求延后组播结束时刻,所述组播延后请求用于请求延后所述正在进行组播的媒体业务的组播结束时刻。
9.根据权利要求6所述的方法,其特征在于,所述删除所述低热度媒体业务对应的组播业务,包括:
向组播设备发送组播删除请求,使所述组播设备根据所述组播删除请求删除组播业务,所述组播删除请求用于请求删除所述低热度媒体业务对应的组播业务。
10.根据权利要求6所述的方法,其特征在于,所述方法还包括:
每个组播业务的组播开始时刻到达时,下发组播业务创建请求至组播设备;每个组播业务的组播结束时刻到达时,下发组播业务删除请求至组播设备。
11.根据权利要求3所述的方法,其特征在于,所述方法还包括:
任一频道的至少一个码率的第一类媒体业务属于所述当前播放量最高的至少一种媒体业务时,针对对应频道的所***率的第二类媒体业务,创建对应的组播业务,所述第一类媒体业务为视频媒体业务时,所述第二类媒体业务为音频媒体业务;所述第一类媒体业务为音频媒体业务时,所述第二类媒体业务为视频媒体业务。
12.根据权利要求3或11所述的方法,其特征在于,所述方法还包括:
任一频道的所***率的第一类媒体业务属于低热度媒体业务时,针对对应频道的所***率的第二类媒体业务,删除对应的组播业务;其中,所述低热度媒体业务不属于所述当前播放量最高的至少一种媒体业务;所述第一类媒体业务为视频媒体业务时,所述第二类媒体业务为音频媒体业务;所述第一类媒体业务为音频媒体业务时,所述第二类媒体业务为视频媒体业务。
13.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:在创建或删除组播业务时,向控制器发送当前组播业务对应的频道分布信息,使所述控制器更新当前组播业务对应的频道分布信息。
14.一种组播方法,其特征在于,所述方法包括:
生成热点频道信息,所述热点频道信息包括当前播放量最高的至少一种媒体业务的标识信息;
向直播管理平台发送所述热点频道信息,使所述直播管理平台根据所述热点频道信息,调整当前的组播业务。
15.根据权利要求14所述的方法,其特征在于,所述生成热点频道信息,包括:
接收各终端设备的媒体业务实时播放信息,根据所述各终端设备的媒体业务实时播放信息,生成所述热点频道信息。
16.根据权利要求15所述的方法,其特征在于,所述根据所述各终端设备的媒体业务实时播放信息,生成所述热点频道信息,包括:
确定热度阈值,所述热度阈值用于表示所述直播管理平台最大能支持的并行组播业务的路数;根据所述各终端设备的媒体业务实时播放信息、以及所述热度阈值,生成所述热点频道信息。
17.根据权利要求15所述的方法,其特征在于,所述媒体业务实时播放信息包括:当前播放频道的标识信息。
18.根据权利要求17所述的方法,其特征在于,所述媒体业务实时播放信息还包括:当前播放的媒体业务的码率。
19.根据权利要求14所述的方法,其特征在于,所述方法还包括:接收直播管理平台在创建或删除组播业务时,发送的当前组播业务对应的频道分布信息;根据接收的频道分布信息,更新当前组播业务对应的频道分布信息;
所述方法还包括:接收终端前置设备发送的心跳消息,所述心跳消息包括终端前置设备的设备标识信息、设备地址和设备状态;根据所述心跳消息,更新所述终端前置设备的设备标识信息、设备地址和设备状态。
20.根据权利要求19所述的方法,其特征在于,所述方法还包括:
接收到终端设备发送的服务重定向请求时,根据所述当前组播业务对应的频道分布信息、所述终端前置设备的设备标识信息、所述终端前置设备的设备地址和所述终端前置设备的设备状态,向所述终端设备发送针对所述服务重定向请求的重定向信息。
21.一种组播设备,其特征在于,所述设备包括:第一处理器和用于存储能够在处理器上运行的计算机程序的第一存储器;其中,
所述第一处理器用于运行所述计算机程序时,执行权利要求1至13任一项所述方法的步骤。
22.一种组播设备,其特征在于,所述设备包括第二处理器和用于存储能够在处理器上运行的计算机程序的第二存储器;其中,
所述第二处理器用于运行所述计算机程序时,执行权利要求14至19任一项所述方法的步骤。
23.一种组播装置,其特征在于,所述装置包括:获取模块和第一处理模块,其中,
获取模块,用于获取热点频道信息,所述热点频道信息包括当前播放量最高的至少一种媒体业务的标识信息;
第一处理模块,用于根据所述热点频道信息,调整当前的组播业务。
24.一种组播装置,其特征在于,所述装置包括:生成模块和第二处理模块,其中,
生成模块,用于生成热点频道信息,所述热点频道信息包括当前播放量最高的至少一种媒体业务的标识信息;
第二处理模块,用于向直播管理平台发送所述热点频道信息,使所述直播管理平台根据所述热点频道信息,调整当前的组播业务。
25.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至13任一项所述方法的步骤。
26.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求14至19任一项所述方法的步骤。
CN201811605190.4A 2018-12-26 2018-12-26 一种组播方法、装置、设备和计算机存储介质 Active CN111372103B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811605190.4A CN111372103B (zh) 2018-12-26 2018-12-26 一种组播方法、装置、设备和计算机存储介质
PCT/CN2019/128623 WO2020135562A1 (zh) 2018-12-26 2019-12-26 一种组播方法、装置、设备和计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811605190.4A CN111372103B (zh) 2018-12-26 2018-12-26 一种组播方法、装置、设备和计算机存储介质

Publications (2)

Publication Number Publication Date
CN111372103A true CN111372103A (zh) 2020-07-03
CN111372103B CN111372103B (zh) 2023-05-26

Family

ID=71128685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811605190.4A Active CN111372103B (zh) 2018-12-26 2018-12-26 一种组播方法、装置、设备和计算机存储介质

Country Status (2)

Country Link
CN (1) CN111372103B (zh)
WO (1) WO2020135562A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114339269A (zh) * 2020-10-10 2022-04-12 中国电信股份有限公司 视频传输方法、组播管理平台、终端以及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022691B (zh) * 2022-05-31 2024-05-24 青岛海信宽带多媒体技术有限公司 一种智能机顶盒及直播频道播放方法
CN117319689A (zh) * 2022-06-22 2023-12-29 中兴通讯股份有限公司 非签约内容提供商的服务资源分发方法和视频服务***

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1996933A (zh) * 2005-12-31 2007-07-11 华为技术有限公司 对实时组播业务进行拥塞控制的方法
CN101156357A (zh) * 2006-02-28 2008-04-02 华为技术有限公司 一种实现按次计费组播业务的方法
CN103327372A (zh) * 2013-06-06 2013-09-25 深圳市龙视传媒有限公司 一种交换式视频广播的视频推流的方法、服务器及***
CN103703797A (zh) * 2013-08-29 2014-04-02 华为技术有限公司 聚合传输的方法、装置和***以及网络服务器和用户设备
CN104283694A (zh) * 2013-07-02 2015-01-14 北京邮电大学 基于ip组播及p2p补偿的流媒体传输方法
US20150156249A1 (en) * 2013-12-04 2015-06-04 Verizon Patent And Licensing Inc. Providing notifications regarding the multicast of scheduled content or popular content
CN105335517A (zh) * 2015-11-06 2016-02-17 努比亚技术有限公司 选择热度多媒体的方法及终端
CN105519147A (zh) * 2014-12-05 2016-04-20 华为技术有限公司 多媒体广播多播业务的方法、装置和***
CN106102167A (zh) * 2016-06-22 2016-11-09 武汉大学 实时按需数据广播调度自适应信道划分与分配***及方法
CN106233735A (zh) * 2014-03-31 2016-12-14 英国电讯有限公司 多播流传输
CN106454396A (zh) * 2016-10-26 2017-02-22 山东浪潮商用***有限公司 一种提高直播时移电视并发能力的实现方法
CN106658044A (zh) * 2016-12-30 2017-05-10 Ut斯达康(深圳)技术有限公司 一种直播方法和装置
CN107205159A (zh) * 2017-05-25 2017-09-26 武汉斗鱼网络科技有限公司 一种网络直播中流媒体的比特率调整方法和装置
CN107995603A (zh) * 2016-10-27 2018-05-04 中兴通讯股份有限公司 一种能力开放实现方法及装置
CN108155999A (zh) * 2017-12-27 2018-06-12 罗建平 带tcp补包机制的智能udp组播文件分发***及方法
CN108668178A (zh) * 2017-03-31 2018-10-16 华为技术有限公司 一种组播实现方法及相关网络设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394296A (zh) * 2007-09-17 2009-03-25 中兴通讯股份有限公司 一种流媒体点播组播方法和装置
CN101399690B (zh) * 2007-09-28 2011-05-11 中国科学院软件研究所 一种多媒体数据传输方法及其***
CN103716658B (zh) * 2012-09-28 2017-05-17 株式会社日立制作所 视频点播服务装置与方法
KR101464051B1 (ko) * 2012-12-31 2014-12-04 한국과학기술원 멀티캐스트 그룹 가입자 정보를 이용한 시청률 조사 시스템 및 그 방법

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1996933A (zh) * 2005-12-31 2007-07-11 华为技术有限公司 对实时组播业务进行拥塞控制的方法
CN101156357A (zh) * 2006-02-28 2008-04-02 华为技术有限公司 一种实现按次计费组播业务的方法
CN103327372A (zh) * 2013-06-06 2013-09-25 深圳市龙视传媒有限公司 一种交换式视频广播的视频推流的方法、服务器及***
CN104283694A (zh) * 2013-07-02 2015-01-14 北京邮电大学 基于ip组播及p2p补偿的流媒体传输方法
CN103703797A (zh) * 2013-08-29 2014-04-02 华为技术有限公司 聚合传输的方法、装置和***以及网络服务器和用户设备
US20150156249A1 (en) * 2013-12-04 2015-06-04 Verizon Patent And Licensing Inc. Providing notifications regarding the multicast of scheduled content or popular content
CN106233735A (zh) * 2014-03-31 2016-12-14 英国电讯有限公司 多播流传输
CN105519147A (zh) * 2014-12-05 2016-04-20 华为技术有限公司 多媒体广播多播业务的方法、装置和***
CN105335517A (zh) * 2015-11-06 2016-02-17 努比亚技术有限公司 选择热度多媒体的方法及终端
CN106102167A (zh) * 2016-06-22 2016-11-09 武汉大学 实时按需数据广播调度自适应信道划分与分配***及方法
CN106454396A (zh) * 2016-10-26 2017-02-22 山东浪潮商用***有限公司 一种提高直播时移电视并发能力的实现方法
CN107995603A (zh) * 2016-10-27 2018-05-04 中兴通讯股份有限公司 一种能力开放实现方法及装置
CN106658044A (zh) * 2016-12-30 2017-05-10 Ut斯达康(深圳)技术有限公司 一种直播方法和装置
CN108668178A (zh) * 2017-03-31 2018-10-16 华为技术有限公司 一种组播实现方法及相关网络设备
CN107205159A (zh) * 2017-05-25 2017-09-26 武汉斗鱼网络科技有限公司 一种网络直播中流媒体的比特率调整方法和装置
CN108155999A (zh) * 2017-12-27 2018-06-12 罗建平 带tcp补包机制的智能udp组播文件分发***及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
奚刚: "多级组网实现移动视频业务最优化", 《中国科技信息》 *
张振文等: "南方联通沃家视频业务承载方案探讨", 《邮电设计技术》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114339269A (zh) * 2020-10-10 2022-04-12 中国电信股份有限公司 视频传输方法、组播管理平台、终端以及存储介质

Also Published As

Publication number Publication date
WO2020135562A1 (zh) 2020-07-02
CN111372103B (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
US10321199B2 (en) Streaming with optional broadcast delivery of data segments
US8826349B2 (en) Multicast adaptive stream switching for delivery of over the top video content
US9332051B2 (en) Media manifest file generation for adaptive streaming cost management
US9712408B2 (en) Bandwidth management in a content distribution network
EP2034731A1 (en) Multicast service processing method and access equipment
US20100235432A1 (en) Distributed Server Network for Providing Triple and Play Services to End Users
RU2647654C2 (ru) Система и способ доставки аудиовизуального контента в клиентское устройство
Sweha et al. Angelcast: cloud-based peer-assisted live streaming using optimized multi-tree construction
EP2979423B1 (en) Content distribution system and method
US8316108B2 (en) Method and apparatus for obtaining media over a communications network
CN111372103B (zh) 一种组播方法、装置、设备和计算机存储介质
WO2018090978A1 (zh) 自适应播放、控制方法、机顶盒及电子节目服务器
JP2010027053A (ja) データ配信システム及び方法
EP3014808B1 (en) Content distribution system and method
EP2399390A1 (en) Method and apparatus for distributing data in a peer-to- peer network
EP2819364A1 (en) Content distribution system and method
US20180205802A1 (en) Cache Aware Streaming
US8316148B2 (en) Method and apparatus for obtaining media over a communications network
CN109561137A (zh) 建立p2p网络的方法、装置、终端设备及介质
EP3014891B1 (en) Content distribution system and method
JP7259056B2 (ja) メディアストリーム送信方法、装置、システム、およびデバイス
EP3014892B1 (en) Content distribution system and method
JP6009501B2 (ja) データセグメントのオプションのブロードキャスト配信によるストリーミング
Wu et al. A hybrid recording mechanism for simultaneous recording of multiple broadcast IPTV channels
CN116743944A (zh) 一种视频数据高性能分发方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant