CN107547909B - 媒体文件在线播放控制方法、装置和系统 - Google Patents
媒体文件在线播放控制方法、装置和系统 Download PDFInfo
- Publication number
- CN107547909B CN107547909B CN201610471023.XA CN201610471023A CN107547909B CN 107547909 B CN107547909 B CN 107547909B CN 201610471023 A CN201610471023 A CN 201610471023A CN 107547909 B CN107547909 B CN 107547909B
- Authority
- CN
- China
- Prior art keywords
- playing
- strategy
- media file
- play
- bandwidth
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000009467 reduction Effects 0.000 claims description 25
- 238000012545 processing Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 6
- 238000011217 control strategy Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种媒体文件在线播放的控制方法、装置及系统。该方法包括:为媒体文件配置总带宽和多个策略,其中,每一策略包括带宽占用率阈值及其对应的播放模式;获取播放所述媒体文件所占用的当前带宽;根据所述当前带宽和所述总带宽确定所述媒体文件的当前带宽占用率;按预定顺序遍历所述多个策略,直到确定出播放控制采用的策略;当确定出播放控制采用的策略时,发送携带该策略中播放模式的通知消息给播放控制服务器。本申请还公开了相应的装置和系统。根据本申请公开的技术方案,从而提高了系统带宽利用率。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种媒体文件在线播放的控制方法、装置和系统。
背景技术
随着互联网技术发展,可以为用户提供丰富多彩的在线播放服务(比如,各类体育赛事,游戏赛事,演唱会)。通常,在直播平台中,从现场获得的媒体数据流通过信号传输到无线网络;编码设备从无线网络采集信号、解码,再转码为互联网通用的编码格式(比如,蓝光、超清、标清)的媒体数据流;直播平台再将该媒体数据流分发到各个内容分发网络(Content Delivery Network,CDN)服务器。这样,用户可以接入CDN服务器观看直播。
发明内容
本发明实施例提供了一种媒体文件在线播放控制方法,以提高系统带宽利用率,该方法包括:
为媒体文件配置总带宽和多个策略,其中,每一策略包括带宽占用率阈值及其对应的播放模式;
获取播放所述媒体文件所占用的当前带宽;
根据所述当前带宽和所述总带宽确定所述媒体文件的当前带宽占用率;
按预定顺序遍历所述多个策略,直到确定出播放控制采用的策略;其中,如果所述当前带宽占用率达到当前遍历的策略中的带宽占用率阈值,则确定采用当前遍历的所述策略进行播放控制;否则遍历下一个策略;
当确定出播放控制采用的策略时,发送携带该策略中播放模式的通知消息给播放控制服务器,以使所述播放控制服务器采用该播放模式对所述媒体文件的播放进行控制。
本发明实施例还提供了一种媒体文件在线播放控制方法,以提高系统带宽利用率,该方法包括:
接收来自带宽控制服务器的携带播放模式的通知消息,其中,所述带宽控制服务器为媒体文件配置总带宽和多个策略,每一策略包括带宽占用率阈值及其对应的播放模式;根据所述媒体文件的当前带宽占用率以及各策略中的带宽占用率阈值,从所述多个策略中确定出播放控制采用的策略,并将确定出的所述策略中的播放模式携带在所述通知消息中;
采用所述通知消息中携带的所述播放模式对所述媒体文件的播放进行控制。
本发明实施例还提供了一种媒体文件在线播放策略装置,以提高系统带宽利用率,该装置包括:
配置模块,用于为媒体文件配置总带宽和多个策略,其中,每一策略包括带宽占用率阈值及其对应的播放模式;
获取模块,用于获取播放所述媒体文件所占用的当前带宽;
确定模块,用于根据所述当前带宽和所述总带宽确定所述媒体文件的当前带宽占用率;按预定顺序遍历所述多个策略,直到确定出播放控制采用的策略;其中,如果所述当前带宽占用率达到当前遍历的策略中的带宽占用率阈值,则确定采用当前遍历的所述策略进行播放控制;否则遍历下一个策略;
发送模块,用于当确定出播放控制采用的策略时,发送携带该策略中播放模式的通知消息给播放控制服务器,以使所述播放控制服务器采用该播放模式对所述媒体文件的播放进行控制。
本发明实施例还提供了一种媒体文件在线播放控制装置,以提高系统带宽利用率,该装置包括:
接收模块,用于接收来自带宽控制服务器的携带播放模式的通知消息,其中,所述带宽控制服务器为媒体文件配置总带宽和多个策略,每一策略包括带宽占用率阈值及其对应的播放模式;根据所述媒体文件的当前带宽占用率以及各策略中的带宽占用率阈值,从所述多个策略中确定出播放控制采用的策略,并将确定出的所述策略中的播放模式携带在所述通知消息中;
控制模块,用于采用所述通知消息中携带的所述播放模式对所述媒体文件的播放进行控制。
本发明实施例还提供了一种媒体文件在线播放的控制系统,以提高系统带宽利用率,该系统包括:
带宽控制服务器,用于为媒体文件配置总带宽和多个策略,其中,每一策略包括带宽占用率阈值及其对应的播放模式;获取播放所述媒体文件所占用的当前带宽;根据所述当前带宽和所述总带宽确定所述媒体文件的当前带宽占用率;按预定顺序遍历所述多个策略,直到确定出播放控制采用的策略;其中,如果所述当前带宽占用率达到当前遍历的策略中的带宽占用率阈值,则确定采用当前遍历的所述策略进行播放控制;否则遍历下一个策略;当确定出播放控制采用的策略时,发送携带该策略中播放模式的通知消息给播放控制服务器;
所述播放控制服务器,用于接收来自所述带宽控制服务器的携带播放模式的通知消息,采用所述通知消息中携带的所述播放模式对所述媒体文件的播放进行控制。
采用上述技术方案,可以实时掌握直播带宽占用情况,根据不同的带宽占有率采用不同的播放策略,从而同时保障更多的用户观看直播,提高了系统带宽利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明各个实施例所涉及的一种实施环境的结构示意图;
图2为本发明实施例一种媒体文件在线播放控制方法的示例性流程图;
图3为本发明实施例一种媒体文件在线播放控制方法的示例性流程图;
图4为本发明实施例一种媒体文件在线播放控制方法的示例性流程图;
图5为本发明实施例一种媒体文件在线播放策略装置的示例性结构图;
图6为本发明实施例一种媒体文件在线播放控制装置的示例性结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的发明人在研究过程中发现,在提供在线播放服务之前,直播平台会预先估计本次在线播放实际带宽占用情况。如果估计实际占用带宽大于为本次在线播放所配置的总带宽,将为每个用户提供清晰度较低的媒体文件,以便为更多的用户提供在线播放服务。这样,每个用户无法观看到高清晰度的媒体文件直播。
有鉴于此,本发明实施例提出了媒体文件在线播放的控制方法、装置和系统。图1为本发明各个实施例所涉及的一种实施环境的结构示意图。如图1所示,该实施环境包括直播平台110、CDN服务器120和终端130。
其中,直播平台110中包括带宽控制服务器111、播放控制服务器112、用户控制服务器113、转码服务器114和调度服务器115。
带宽控制服务器111、播放控制服务器112、用户控制服务器113、转码服务器114和调度服务器115和CDN服务器120可以是一台服务器,或者由若干台服务器组成的服务器群,或者是一个云计算服务中心。例如,图1示出该带宽控制服务器111可以被细分为生成带宽控制策略服务器1111、带宽控制策略处理服务器1112和带宽统计服务器1113。
终端130可以为手机、iPad、平板电脑、膝上型便携计算机和台式计算机等。
直播平台110和CDN服务器120之间,CDN服务器120和终端130之间,可以分别通过无线网络或有线网络相连。
图2为本发明实施例中一种媒体文件在线播放控制方法的示例性流程图。如图2所示,该方法可以包括如下步骤:
步骤201:为媒体文件配置总带宽和多个策略。
其中,每一策略包括带宽占用率阈值及其对应的播放模式。
步骤202:获取播放所述媒体文件所占用的当前带宽。
步骤203:根据所述当前带宽和所述总带宽确定所述媒体文件的当前带宽占用率。
步骤204:按预定顺序遍历所述多个策略,直到确定出播放控制采用的策略。
其中,如果所述当前带宽占用率达到当前遍历的策略中的带宽占用率阈值,则确定采用当前遍历的所述策略进行播放控制;否则遍历下一个策略。
步骤205:当确定出播放控制采用的策略时,发送携带该策略中播放模式的通知消息给播放控制服务器。
这样,所述播放控制服务器采用该播放模式对所述媒体文件的播放进行控制。
在一个实施方式中,所述多个策略包括至少一个第一策略,每个第一策略中的播放模式包括文件格式。当播放控制采用的策略为所述第一策略时,所述播放控制服务器指令用户控制服务器向新用户提供与所采用的第一策略对应的所述媒体文件的播放入口,其中,所述播放入口对应于所采用的第一策略中的文件格式。
在一个实施方式中,所述多个策略包括至少一个第二策略,每个第二策略中的播放模式包括降码率。当播放控制采用的策略为所述第二策略时,所述播放控制服务器指令转码服务器根据所述降码率比例降低所述媒体文件的码率。
在一个实施方式中,所述多个策略包括至少一个第三策略,每个第三策略包括第一带宽占有率阈值、第二带宽占有率阈值以及各自对应的播放模式,所述第一带宽占有率阈值对应的播放模式包括加入播放等待队列指令,所述第二带宽占用率阈值对应的播放模式包括从播放等待队列取出用户指令和文件格式;
当播放控制采用的策略为所述第三策略且所述当前带宽占用率达到所述第一带宽占用率阈值,所述通知消息中携带的播放模式为加入播放等待队列指令,所述播放控制服务器响应于所述加入播放等待队列指令从所述用户控制服务器获取至少一个新用户的信息,并将所述至少一个新用户加入播放等待队列;
当播放控制采用的策略为所述第三策略且所述当前带宽占用率小于所述第二带宽占用率阈值,所述通知消息中携带的播放模式为从播放等待队列取出用户指令和文件格式,所述播放控制服务器响应于所述从播放等待队列取出用户指令从所述播放等待队列中取出至少一个用户,并指令所述用户控制服务器向所述取出的至少一个新用户提供所述文件格式的媒体文件。
在一个实施方式中,转码服务器确定所述媒体文件中场景的类型,根据所述场景类型,确定至少一种文件格式的所述媒体文件的码率。
在一个实施方式中,当接收到来自新用户的媒体文件播放请求,用户控制服务器获取所述新用户的终端类型,根据所述终端类型,确定向所述新用户提供的媒体文件的分辨率,并将所述分辨率通知给调度服务器,以使所述调度服务器指令为所述新用户提供在线播放服务的内容分发网络服务器为所述用户提供对应分辨率的媒体文件。
图3为本发明实施例中一种媒体文件在线播放控制方法的示例性流程图。如图3所示,该方法可以包括如下步骤:
步骤301:接收来自带宽控制服务器的携带播放模式的通知消息。
其中,所述带宽控制服务器为媒体文件配置总带宽和多个策略,每一策略包括带宽占用率阈值及其对应的播放模式;根据所述媒体文件的当前带宽占用率以及各策略中的带宽占用率阈值,从所述多个策略中确定出播放控制采用的策略,并将确定出的所述策略中的播放模式携带在所述通知消息中;
步骤302:采用所述通知消息中携带的所述播放模式对所述媒体文件的播放进行控制。
在一个实施方式中,所述播放模式包括文件格式。当采用所述播放模式对所述媒体文件的播放进行控制时,指令用户控制服务器向新用户提供对应于所述文件格式的所述媒体文件的播放入口。
在一个实施方式中,所述播放模式包括降码率。当采用所述播放模式对所述媒体文件的播放进行控制时,指令转码服务器根据所述降码率比例降低所述媒体文件的码率。
在一个实施方式中,所述播放模式包括加入播放等待队列指令。当采用所述播放模式对所述媒体文件的播放进行控制时,从用户控制服务器获取至少一个新用户的信息,并将所述至少一个新用户加入播放等待队列。
在一个实施方式中,所述播放模式包括从播放等待队列取出用户指令和文件格式。当采用所述播放模式对所述媒体文件的播放进行控制时,从所述播放等待队列中取出至少一个用户,并指令所述用户控制服务器向所述取出的至少一个新用户提供所述文件格式的媒体文件。
图4为本发明实施例中一种媒体文件在线播放方法的示例性流程图。该方法应用于图1所示实施环境中。如图4所示,该方法包括如下步骤:
步骤401:转码服务器确定媒体文件中场景的类型。
步骤402:转码服务器根据该场景类型确定每个文件格式的对应的第一码率。
在一个实施方式中,针对同一文件格式的媒体文件,不同的场景可以采用不同的码率,以便在保证播放播放清晰度的前提下减少播放带宽占用。例如,针对标清文件,如果在体育比赛直播场景下(运动剧烈,镜头切换频繁),第一码率确定为512k,以保证运动视频的清晰度;如果在演唱会直播场景下(镜头切换慢),第一码率确定为435k,以减少播放带宽占用。
步骤403:转码服务器根据第一码率确定多种分辨率的媒体文件分别对应的第二码率。
这样,针对同一文件格式的媒体文件,为分辨率较高的终端(例如,台式计算机)提供高分辨率的媒体文件,为分辨率较低的终端(例如,手机)提供低分辨率的媒体文件,以便在保证播放播放清晰度的前提下减少播放带宽占用。例如,以运动比赛直播场景下标清文件格式为例,可以为台式计算机提供第二码率为512k(对应分辨率为640p)的标清文件,为手机提供第二码率为400k(对应分辨率为320p)的标清文件。
步骤404:转码服务器根据第二码率生成每个文件格式的媒体文件。
步骤405:转码服务器将生成的媒体文件发送至CDN服务器。
步骤406:用户控制服务器接收到来自新用户的终端1的媒体文件播放请求消息,该播放请求消息携带了终端类型和请求播放的文件格式。
步骤407:用户控制服务器根据该终端类型,确定向新用户提供的媒体文件的分辨率。
步骤408:用户控制服务器将该分辨率以及该新用户请求播放的文件格式发送至调度服务器。
步骤409:调度服务器根据接收到的分辨率和文件格式确定提供给该新用户的媒体文件标识。
步骤410:调度服务器将该媒体文件标识发送至CDN服务器。
步骤411:CDN服务器为该新用户的终端1提供该媒体文件标识对应的媒体文件。
步骤412:生成带宽控制策略处理服务器获取配置给媒体文件的总带宽和多个策略。
在一个实施方式中,可以为每个媒体文件配置相同的总带宽和多个策略,也可以为不同的媒体文件配置不同的总带宽和多个策略。其中,每个策略包括带宽占用率阈值及其对应的播放模式。
例如,可以为媒体文件1配置如下四个策略:
策略1:带宽占有率阈值1为80%,播放模式为标清文件格式;
策略2:带宽占有率阈值2为85%,播放模式为降码率20%;
策略3:带宽占有率阈值3为90%,播放模式为音频图文文件格式;
策略4:带宽占有率阈值4为100%,对应的播放模式为加入播放等待队列指令;带宽占有率阈值5为85%,对应的播放模式为从播放等待队列取出用户指令,标清文件格式。
在一个实施方式中,在为媒体文件配置多个策略时,同时配置每个策略中的带宽占有率阈值及其对应的播放模式。在另一个实施方式中,在带宽控制服务器中预先配置了每个策略所包括的播放模式,在为媒体文件配置多个策略时,只配置每个策略所包括的带宽占有率阈值。
步骤413:生成带宽控制策略处理服务器发送为媒体文件配置的总带宽和多个策略至带宽控制策略处理服务器。
步骤414:带宽统计服务器统计播放该媒体文件所占用的当前带宽。
步骤415:带宽统计服务器将当前带宽发送至带宽控制策略处理服务器。
步骤416:带宽控制策略处理服务器为媒体文件配置总带宽和多个策略,按预定顺序遍历所述多个策略,直到确定播放控制采用的策略,其中,如果所述当前带宽占用率达到当前遍历的策略中的阈值,则确定采用当前遍历的所述策略进行播放控制;否则遍历下一个策略。
仍以为媒体文件1配置的四个策略为例,假设当前带宽占有率为86%。带宽控制服务器按从策略1至策略4的顺序进行遍历,由于当前带宽占有率86%达到策略2中的阈值,确定采用策略2进行播放控制。
步骤417:带宽控制策略处理服务器发送携带该播放控制所采用的策略中播放模式的通知消息给播放控制服务器。
仍以为媒体文件1配置的四个策略为例。如果播放控制采用策略1,将标清文件格式携带在通知消息中发送至播放控制服务器。如果播放控制采用策略2,将降码率20%携带在通知消息中发送至播放控制服务器。如果播放控制采用策略3,将音频图文文件格式携带在通知消息中发送至播放控制服务器。如果播放控制采用策略4且当前带宽占有率达到带宽占有率阈值4,将加入播放等待队列指令携带在通知消息中发送至播放控制服务器。如果播放控制采用策略4且当前带宽占有率小于带宽占有率阈值5,将从播放等待队列取出用户指令,标清文件格式携带在通知消息中发送至播放控制服务器。
步骤418:播放服务器确定接收到的通知消息携带的播放模式。
当播放控制服务器确定该播放模式为文件格式,执行步骤419-320,之后结束本方法流程。当播放控制服务器确定该播放模式为降码率,执行步骤421-322,之后结束本方法流程。当播放控制服务器确定该播放模式为加入播放等待队列指令,执行步骤423-424,之后结束本方法流程。当播放控制服务器确定该播放模式为从播放等待队列取出用户指令和文件格式,执行步骤425-427,之后结束本方法流程。
步骤419:播放控制服务器指令用户控制服务器向新用户提供该文件格式的所述媒体文件的播放入口。
步骤420:用户控制服务器向新用户的终端2提供该文件格式的媒体文件的播放入口。
步骤421:播放控制服务器指令转码服务器根据所述降码率比例降低媒体文件的码率。
步骤422:转码服务器根据所述降码率比例降低所述媒体文件的码率。
步骤423:播放控制服务器从用户控制服务器获取至少一个新用户的信息。
步骤424:播放控制服务器将至少一个新用户加入播放等待队列。
步骤425:播放控制服务器从播放等待队列中取出至少一个用户;
步骤426:播放服务器指令用户控制服务器向取出的至少一个新用户提供播放策略中的文件格式的媒体文件。
步骤427:用户控制服务器向所述取出的至少一个新用户的终端3-N提供所述文件格式的媒体文件。
在上述方法流程中,可以按照上述顺序依次执行各个步骤,也可以同时执行上述步骤中的多个步骤(例如,步骤406和414),本发明对此不做限定。
下述为本发明装置实施例,可以用于执行本发明对应的方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例中的描述。
图5为本发明实施例中一种媒体文件在线播放的策略装置的示例性结构图。该媒体文件在线播放的策略装置可以通过软件、硬件或者两者结合的方式实现称为图1所示带宽控制服务器110的部分或全部。该策略装置可包括:配置模块501、获取模块502、确定模块503和发送模块504。其中,
配置模块501用于为媒体文件配置总带宽和多个策略,其中,每一策略包括带宽占用率阈值及其对应的播放模式。
获取模块502用于获取播放所述媒体文件所占用的当前带宽。
确定模块503用于根据所述当前带宽和所述总带宽确定所述媒体文件的当前带宽占用率;按预定顺序遍历所述多个策略,直到确定出播放控制采用的策略;其中,如果所述当前带宽占用率达到当前遍历的策略中的带宽占用率阈值,则确定采用当前遍历的所述策略进行播放控制;否则遍历下一个策略。
发送模块504用于当确定出播放控制采用的策略时,发送携带该策略中播放模式的通知消息给播放控制服务器,以使所述播放控制服务器采用该播放模式对所述媒体文件的播放进行控制。
在一个实施方式中,所述多个策略包括至少一个第一策略,每个第一策略中的播放模式包括文件格式。当播放控制采用的策略为所述第一策略时,所述发送模块504发送的通知消息中携带的播放模式为所述文件格式,以使所述播放控制服务器指令用户控制服务器向新用户提供与所采用的第一策略对应的所述媒体文件的播放入口,其中,所述播放入口对应于所采用的第一策略中的文件格式。
在一个实施方式中,所述多个策略包括至少一个第二策略,每个第二策略中的播放模式包括降码率。当播放控制采用的策略为所述第二策略时,所述发送模块504发送的通知消息中携带的播放模式为所述降码率,以使所述播放控制服务器指令转码服务器根据所述降码率比例降低所述媒体文件的码率。
在一个实施方式中,所述多个策略包括至少一个第三策略,每个第三策略包括第一带宽占有率阈值、第二带宽占有率阈值以及各自对应的播放模式,所述第一带宽占有率阈值对应的播放模式包括加入播放等待队列指令,所述第二带宽占用率阈值对应的播放模式为从播放等待队列取出用户指令和文件格式。
当播放控制采用的策略为所述第三策略且所述当前带宽占用率达到所述第一带宽占用率阈值,所述发送模块504发送的通知消息中携带的播放模式为加入播放等待队列指令,以使所述播放控制服务器响应于加入播放等待队列指令从所述用户控制服务器获取至少一个新用户的信息,并将所述至少一个新用户加入播放等待队列。
当播放控制采用的策略为所述第三策略且所述当前带宽占用率小于所述第二带宽占用率阈值,所述发送模块504发送的通知消息中携带的播放模式为从播放等待队列取出用户指令和文件格式,以使所述播放控制服务器响应于从播放等待队列取出用户指令从所述播放等待队列中取出至少一个用户,并指令所述用户控制服务器向所述取出的至少一个新用户提供所述文件格式的媒体文件。
上述的模块501-504可以是保存在媒体文件在线播放策略装置500中的存储器511中的指令模块,这些指令模块包含处理器可执行的指令。当媒体文件在线播放策略装置500中的处理器510执行模块501-504中的指令时,可以实现上述模块501-504的各种功能。
图6为本发明实施例中一种媒体文件在线播放的控制装置的示例性结构图。该媒体文件在线播放的控制装置可以通过软件、硬件或者两者结合的方式实现称为图1所示播放控制服务器112的部分或全部。该控制装置可包括:接收模块601和控制模块602。其中,
接收模块601用于接收来自带宽控制服务器的携带播放模式的通知消息,其中,所述带宽控制服务器为媒体文件配置总带宽和多个策略,每一策略包括带宽占用率阈值及其对应的播放模式;根据所述媒体文件的当前带宽占用率以及各策略中的带宽占用率阈值,从所述多个策略中确定出播放控制采用的策略,并将确定出的所述策略中的播放模式携带在所述通知消息中;
控制模块602用于采用所述通知消息中携带的所述播放模式对所述媒体文件的播放进行控制。
在一个实施方式中,所述播放模式包括文件格式。所述控制模块602用于指令用户控制服务器向新用户提供对应于所述文件格式的所述媒体文件的播放入口,其中,所述播放入口对应于所采用的第一策略中的文件格式。
在一个实施方式中,所述播放模式包括降码率。所述控制模块602用于指令转码服务器根据所述降码率比例降低所述媒体文件的码率。
在一个实施方式中,所述播放模式包括加入播放等待队列指令。所述控制模块602用于从用户控制服务器获取至少一个新用户的信息,并将所述至少一个新用户加入播放等待队列。
在一个实施方式中,所述播放模式包括从播放等待队列取出用户指令和文件格式。所述控制模块602用于从所述播放等待队列中取出至少一个用户,并指令所述用户控制服务器向所述取出的至少一个新用户提供所述文件格式的媒体文件。
上述的模块601和602可以是保存在媒体文件在线播放控制装置600中的存储器611中的指令模块,这些指令模块包含处理器可执行的指令。当媒体文件在线播放控制装置600中的处理器610执行模块601和602中的指令时,可以实现上述模块601和602的各种功能。
本发明实施例中一种媒体文件在线播放的控制系统包括如图1所示的直播平台110、CDN服务器120和至少一个终端130。
其中,直播平台110中包括带宽控制服务器111、播放控制服务器112。
带宽控制服务器111用于为媒体文件配置总带宽和多个策略,其中,每一策略包括带宽占用率阈值及其对应的播放模式;获取播放所述媒体文件所占用的当前带宽;根据所述当前带宽和所述总带宽确定所述媒体文件的当前带宽占用率;按预定顺序遍历所述多个策略,直到确定出播放控制采用的策略;其中,如果所述当前带宽占用率达到当前遍历的策略中的带宽占用率阈值,则确定采用当前遍历的所述策略进行播放控制;否则遍历下一个策略;当确定出播放控制采用的策略时,发送携带该策略中播放模式的通知消息给播放控制服务器。
播放控制服务器112用于接收来自所述带宽控制服务器的携带播放模式的通知消息,采用所述通知消息中携带的所述播放模式对所述媒体文件的播放进行控制。
在一个实施方式中,该多个策略包括至少一个第一策略,每个第一策略中的播放模式包括文件格式。直播平台110还包括用户控制服务器113。
当播放控制采用的策略为所述第一策略时,所述播放控制服务器112指令用户控制服务器113向新用户的终端130提供与所采用的第一策略对应的所述媒体文件的播放入口,其中,所述播放入口对应于所采用的第一策略中的文件格式。
在一个实施方式中,所述多个策略包括至少一个第二策略,每个第二策略中的播放模式包括降码率。直播平台110还包括转码服务器114。当播放控制采用的策略为所述第二策略时,所述播放控制服务器112指令转码服务器114根据所述降码率比例降低所述媒体文件的码率。
在一个实施方式中,所述多个策略包括至少一个第三策略,每个第三策略包括第一带宽占有率阈值、第二带宽占有率阈值以及各自对应的播放模式,所述第一带宽占有率阈值对应的播放模式包括加入播放等待队列指令,所述第二带宽占用率阈值对应的播放模式包括从播放等待队列取出用户指令和文件格式。当播放控制采用的策略为所述第三策略且所述当前带宽占用率达到所述第一带宽占用率阈值,所述通知消息中携带的播放模式为加入播放等待队列指令,所述播放控制服务器112响应于所述加入播放等待队列指令从所述用户控制服务器113获取至少一个新用户的信息,并将所述至少一个新用户加入播放等待队列;
当播放控制采用的策略为所述第三策略且所述当前带宽占用率小于所述第二带宽占用率阈值,所述通知消息中携带的播放模式为从播放等待队列取出用户指令和文件格式,所述播放控制服务器112响应于所述从播放等待队列取出用户指令从所述播放等待队列中取出至少一个用户,并指令所述用户控制服务器113向所述取出的至少一个新用户的终端130提供所述文件格式的媒体文件。
在一个实施方式中,转码服务器114确定所述媒体文件中场景的类型,根据所述场景类型,确定至少一种文件格式的所述媒体文件的码率。
在一个实施方式中,直播平台110还包括调度服务器115.当接收到来自新用户的媒体文件播放请求,用户控制服务器113获取所述新用户的终端类型,根据所述终端类型,确定向所述新用户提供的媒体文件的分辨率,并将所述分辨率通知给调度服务器115。
该调度服务器115指令为所述新用户提供在线播放服务的CDN服务器120为所述用户提供对应分辨率的媒体文件。
在一个实施方式中,如图1所示,带宽控制服务器111包括生成带宽控制策略处理服务器1111、带宽控制策略处理服务器1112和带宽统计服务器1113。其中:
生成带宽控制策略服务器1111用于获取配置给媒体文件的总带宽和多个策略,将该媒体文件的总带宽和多个策略发送至带宽控制策略处理服务器1112。
带宽统计服务器1113用于统计播放该媒体文件所占用的当前带宽,将当前带宽发送至带宽控制策略处理服务器。
带宽控制策略处理服务器1112用于为媒体文件配置来自生成带宽控制策略服务器1111的总带宽和多个策略,按预定顺序遍历所述多个策略,直到确定播放控制采用的策略,其中,如果所述当前带宽占用率达到当前遍历的策略中的阈值,则确定采用当前遍历的所述策略进行播放控制;否则遍历下一个策略。
在一个实施方式中,媒体文件在线播放策略装置中的配置模块501、获取模块502、确定模块503和发送模块504可位于带宽控制策略处理服务器1112中。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述各实施例的功能模块可以位于一个终端或网络节点,或者也可以分布到多个终端或网络节点上。
另外,本发明的每一个实施例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本发明。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本发明。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。
因此本发明还提供了一种存储介质,其中存储有数据处理程序,该数据处理程序用于执行本发明上述方法的任何一种实施例。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (22)
1.一种媒体文件在线播放控制方法,其特征在于,该方法包括:
为媒体文件配置总带宽和多个策略,其中,每一策略包括带宽占用率阈值及其对应的播放模式;
获取播放所述媒体文件所占用的当前带宽;
根据所述当前带宽和所述总带宽确定所述媒体文件的当前带宽占用率;
按预定顺序遍历所述多个策略,直到确定出播放控制采用的策略;其中,如果所述当前带宽占用率达到当前遍历的策略中的带宽占用率阈值,则确定采用当前遍历的所述策略进行播放控制;否则遍历下一个策略;
当确定出播放控制采用的策略时,发送携带该策略中播放模式的通知消息给播放控制服务器,以使所述播放控制服务器采用该播放模式对所述媒体文件的播放进行控制;其中,当播放控制采用的策略为第三策略且所述当前带宽占用率达到第一带宽占用率阈值时,所述通知消息中携带的播放模式为加入播放等待队列指令,所述播放控制服务器响应于所述加入播放等待队列指令从用户控制服务器获取至少一个新用户的信息,并将所述至少一个新用户加入播放等待队列。
2.根据权利要求1所述的方法,其特征在于,所述多个策略包括至少一个第一策略,每个第一策略中的播放模式包括文件格式;
当播放控制采用的策略为所述第一策略时,所述播放控制服务器指令用户控制服务器向新用户提供与所采用的第一策略对应的所述媒体文件的播放入口,其中,所述播放入口对应于所采用的第一策略中的文件格式。
3.根据权利要求1所述的方法,其特征在于,所述多个策略包括至少一个第二策略,每个第二策略中的播放模式包括降码率;
当播放控制采用的策略为所述第二策略时,所述播放控制服务器指令转码服务器根据所述降码率比例降低所述媒体文件的码率。
4.根据权利要求1所述的方法,其特征在于,所述多个策略包括至少一个所述第三策略,每个第三策略包括所述第一带宽占有率阈值、第二带宽占有率阈值以及各自对应的播放模式,所述第一带宽占有率阈值对应的播放模式包括所述加入播放等待队列指令,所述第二带宽占用率阈值对应的播放模式包括从播放等待队列取出用户指令和文件格式;
当播放控制采用的策略为所述第三策略且所述当前带宽占用率小于所述第二带宽占用率阈值,所述通知消息中携带的播放模式为从播放等待队列取出用户指令和文件格式,所述播放控制服务器响应于所述从播放等待队列取出用户指令从所述播放等待队列中取出至少一个用户,并指令所述用户控制服务器向所述取出的至少一个新用户提供所述文件格式的媒体文件。
5.根据权利要求1-4任意一项所述的方法,其特征在于,进一步包括:
转码服务器确定所述媒体文件中场景的类型,根据所述场景类型,确定至少一种文件格式的所述媒体文件的码率。
6.根据权利要求1-4任意一项所述的方法,其特征在于,进一步包括:
当接收到来自新用户的媒体文件播放请求,用户控制服务器获取所述新用户的终端类型,根据所述终端类型,确定向所述新用户提供的媒体文件的分辨率,并将所述分辨率通知给调度服务器,以使所述调度服务器指令为所述新用户提供在线播放服务的内容分发网络服务器为所述用户提供对应分辨率的媒体文件。
7.一种媒体文件在线播放控制方法,其特征在于,该方法包括:
接收来自带宽控制服务器的携带播放模式的通知消息,其中,所述带宽控制服务器为媒体文件配置总带宽和多个策略,每一策略包括带宽占用率阈值及其对应的播放模式;根据所述媒体文件的当前带宽占用率以及各策略中的带宽占用率阈值,从所述多个策略中确定出播放控制采用的策略,并将确定出的所述策略中的播放模式携带在所述通知消息中;
当播放控制采用的策略为第三策略且所述当前带宽占用率达到第一带宽占用率阈值,响应于加入播放等待队列指令从用户控制服务器获取至少一个新用户的信息,并将所述至少一个新用户加入播放等待队列,所述通知消息中携带的播放模式为所述加入播放等待队列指令。
8.根据权利要求7所述的方法,其特征在于,所述播放模式包括文件格式;
所述采用所述播放模式对所述媒体文件的播放进行控制,包括:
指令用户控制服务器向新用户提供对应于所述文件格式的所述媒体文件的播放入口。
9.根据权利要求7所述的方法,其特征在于,所述播放模式包括降码率;
所述采用所述播放模式对所述媒体文件的播放进行控制,包括:
指令转码服务器根据所述降码率比例降低所述媒体文件的码率。
10.根据权利要求7所述的方法,其特征在于,所述多个策略包括至少一个所述第三策略,每个第三策略包括所述第一带宽占有率阈值、第二带宽占有率阈值以及各自对应的播放模式,所述第一带宽占有率阈值对应的播放模式包括所述加入播放等待队列指令,所述第二带宽占用率阈值对应的播放模式包括从播放等待队列取出用户指令和文件格式。
11.根据权利要求10所述的方法,其特征在于,当播放控制采用的策略为所述第三策略且所述当前带宽占用率小于所述第二带宽占用率阈值时,所述播放模式包括从播放等待队列取出用户指令和文件格式;
所述采用所述播放模式对所述媒体文件的播放进行控制,包括:
从所述播放等待队列中取出至少一个用户,并指令所述用户控制服务器向所述取出的至少一个新用户提供所述文件格式的媒体文件。
12.一种媒体文件在线播放策略装置,其特征在于,该装置包括:
配置模块,用于为媒体文件配置总带宽和多个策略,其中,每一策略包括带宽占用率阈值及其对应的播放模式;
获取模块,用于获取播放所述媒体文件所占用的当前带宽;
确定模块,用于根据所述当前带宽和所述总带宽确定所述媒体文件的当前带宽占用率;按预定顺序遍历所述多个策略,直到确定出播放控制采用的策略;其中,如果所述当前带宽占用率达到当前遍历的策略中的带宽占用率阈值,则确定采用当前遍历的所述策略进行播放控制;否则遍历下一个策略;
发送模块,用于当确定出播放控制采用的策略时,发送携带该策略中播放模式的通知消息给播放控制服务器,以使所述播放控制服务器采用该播放模式对所述媒体文件的播放进行控制;其中,当播放控制采用的策略为第三策略且所述当前带宽占用率达到第一带宽占用率阈值时,所述通知消息中携带的播放模式为加入播放等待队列指令,所述播放控制服务器响应于所述加入播放等待队列指令从用户控制服务器获取至少一个新用户的信息,并将所述至少一个新用户加入播放等待队列。
13.根据权利要求12所述的装置,其特征在于,所述多个策略包括至少一个第一策略,每个第一策略中的播放模式包括文件格式;
当播放控制采用的策略为所述第一策略时,所述发送模块发送的通知消息中携带的播放模式为所述文件格式,以使所述播放控制服务器指令用户控制服务器向新用户提供与所采用的第一策略对应的所述媒体文件的播放入口,其中,所述播放入口对应于所采用的第一策略中的文件格式。
14.根据权利要求12所述的装置,其特征在于,所述多个策略包括至少一个第二策略,每个第二策略中的播放模式包括降码率;
当播放控制采用的策略为所述第二策略时,所述发送模块发送的通知消息中携带的播放模式为所述降码率,以使所述播放控制服务器指令转码服务器根据所述降码率比例降低所述媒体文件的码率。
15.根据权利要求12所述的装置,其特征在于,所述多个策略包括至少一个所述第三策略,每个第三策略包括所述第一带宽占有率阈值、第二带宽占有率阈值以及各自对应的播放模式,所述第一带宽占有率阈值对应的播放模式包括所述加入播放等待队列指令,所述第二带宽占用率阈值对应的播放模式为从播放等待队列取出用户指令和文件格式;
当播放控制采用的策略为所述第三策略且所述当前带宽占用率小于所述第二带宽占用率阈值,所述发送模块发送的通知消息中携带的播放模式为从播放等待队列取出用户指令和文件格式,以使所述播放控制服务器响应于从播放等待队列取出用户指令从所述播放等待队列中取出至少一个用户,并指令所述用户控制服务器向所述取出的至少一个新用户提供所述文件格式的媒体文件。
16.一种媒体文件在线播放控制装置,其特征在于,该装置包括:
接收模块,用于接收来自带宽控制服务器的携带播放模式的通知消息,其中,所述带宽控制服务器为媒体文件配置总带宽和多个策略,每一策略包括带宽占用率阈值及其对应的播放模式;根据所述媒体文件的当前带宽占用率以及各策略中的带宽占用率阈值,从所述多个策略中确定出播放控制采用的策略,并将确定出的所述策略中的播放模式携带在所述通知消息中;
控制模块,用于当播放控制采用的策略为第三策略且所述当前带宽占用率达到第一带宽占用率阈值,响应于加入播放等待队列指令从用户控制服务器获取至少一个新用户的信息,并将所述至少一个新用户加入播放等待队列,所述通知消息中携带的播放模式为所述加入播放等待队列指令。
17.根据权利要求16所述的装置,其特征在于,所述播放模式包括文件格式;
所述控制模块用于指令用户控制服务器向新用户提供对应于所述文件格式的所述媒体文件的播放入口,其中,所述播放入口对应于所采用的第一策略中的文件格式。
18.根据权利要求16所述的装置,其特征在于,所述播放模式包括降码率;
所述控制模块用于指令转码服务器根据所述降码率比例降低所述媒体文件的码率。
19.根据权利要求16所述的装置,其特征在于,所述多个策略包括至少一个所述第三策略,每个第三策略包括所述第一带宽占有率阈值、第二带宽占有率阈值以及各自对应的播放模式,所述第一带宽占有率阈值对应的播放模式包括所述加入播放等待队列指令,所述第二带宽占用率阈值对应的播放模式包括从播放等待队列取出用户指令和文件格式。
20.根据权利要求19所述的装置,其特征在于,当播放控制采用的策略为所述第三策略且所述当前带宽占用率小于所述第二带宽占用率阈值时,所述播放模式包括从播放等待队列取出用户指令和文件格式;
所述控制模块用于从所述播放等待队列中取出至少一个用户,并指令所述用户控制服务器向所述取出的至少一个新用户提供所述文件格式的媒体文件。
21.一种媒体文件在线播放的控制系统,其特征在于,包括:
带宽控制服务器,用于为媒体文件配置总带宽和多个策略,其中,每一策略包括带宽占用率阈值及其对应的播放模式;获取播放所述媒体文件所占用的当前带宽;根据所述当前带宽和所述总带宽确定所述媒体文件的当前带宽占用率;按预定顺序遍历所述多个策略,直到确定出播放控制采用的策略;其中,如果所述当前带宽占用率达到当前遍历的策略中的带宽占用率阈值,则确定采用当前遍历的所述策略进行播放控制;否则遍历下一个策略;当确定出播放控制采用的策略时,发送携带该策略中播放模式的通知消息给播放控制服务器;
所述播放控制服务器,用于接收来自所述带宽控制服务器的携带播放模式的通知消息,当播放控制采用的策略为第三策略且所述当前带宽占用率达到第一带宽占用率阈值时,所述通知消息中携带的播放模式为加入播放等待队列指令,所述播放控制服务器响应于所述加入播放等待队列指令从用户控制服务器获取至少一个新用户的信息,并将所述至少一个新用户加入播放等待队列。
22.一种存储介质,其特征在于,存储有机器可读指令,可以使至少一个处理器执行如权利要求1-11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610471023.XA CN107547909B (zh) | 2016-06-24 | 2016-06-24 | 媒体文件在线播放控制方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610471023.XA CN107547909B (zh) | 2016-06-24 | 2016-06-24 | 媒体文件在线播放控制方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107547909A CN107547909A (zh) | 2018-01-05 |
CN107547909B true CN107547909B (zh) | 2020-05-29 |
Family
ID=60960685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610471023.XA Active CN107547909B (zh) | 2016-06-24 | 2016-06-24 | 媒体文件在线播放控制方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107547909B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108769743B (zh) * | 2018-05-11 | 2020-11-06 | 中兴通讯股份有限公司 | 一种视频播放控制方法、系统、节点和计算机存储介质 |
CN110139059B (zh) * | 2019-04-01 | 2021-10-08 | 视联动力信息技术股份有限公司 | 一种视联网资源的分配方法及装置 |
CN110690988A (zh) * | 2019-09-02 | 2020-01-14 | 网宿科技股份有限公司 | 带宽控制方法、带宽控制平台、服务器及存储介质 |
CN111901620B (zh) * | 2020-07-24 | 2022-07-29 | 北京达佳互联信息技术有限公司 | 一种直播的回放视频生成方法、装置、电子设备及存储介质 |
CN114302189B (zh) * | 2022-01-24 | 2023-10-27 | 上海哔哩哔哩科技有限公司 | 直播清晰度处理方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101031083A (zh) * | 2007-04-04 | 2007-09-05 | 中山大学 | 一种利用小波变换实现视频实时传输的方法 |
CN104580067A (zh) * | 2013-10-11 | 2015-04-29 | 北京大学 | 基于多服务器的流媒体传输装置和流媒体传输方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4158319B2 (ja) * | 2000-06-15 | 2008-10-01 | 沖電気工業株式会社 | セル受信装置及びトラフィック制御システム |
CN101582837A (zh) * | 2008-05-12 | 2009-11-18 | 华为技术有限公司 | 一种业务接入控制方法、无线接入系统以及接入控制装置 |
CN102118357B (zh) * | 2009-12-31 | 2014-12-17 | 华为技术有限公司 | 一种流媒体处理方法、设备和系统 |
CN102307300B (zh) * | 2011-08-17 | 2013-08-28 | 杭州华三通信技术有限公司 | 一种视频连接的控制方法和设备 |
CN102957672A (zh) * | 2011-08-25 | 2013-03-06 | 中国电信股份有限公司 | 自适应播放flv媒体流的方法、客户端和系统 |
CN102325274B (zh) * | 2011-10-13 | 2013-08-21 | 浙江万里学院 | 一种自适应网络带宽的视频流传输控制方法 |
CN104427286B (zh) * | 2013-08-20 | 2019-01-01 | 中国移动通信集团公司 | 一种进行视频通话的方法和系统 |
-
2016
- 2016-06-24 CN CN201610471023.XA patent/CN107547909B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101031083A (zh) * | 2007-04-04 | 2007-09-05 | 中山大学 | 一种利用小波变换实现视频实时传输的方法 |
CN104580067A (zh) * | 2013-10-11 | 2015-04-29 | 北京大学 | 基于多服务器的流媒体传输装置和流媒体传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107547909A (zh) | 2018-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107547909B (zh) | 媒体文件在线播放控制方法、装置和系统 | |
CN112437122B (zh) | 通信方法、装置、计算机可读介质及电子设备 | |
US7743161B2 (en) | Digital content buffer for adaptive streaming | |
RU2404519C2 (ru) | Генерирование и выбор медиапотоков | |
US6671732B1 (en) | Method and apparatus for control of content based rich media streaming | |
US12058386B2 (en) | Adaptive bit-rate methods for live broadcasting | |
US11259063B2 (en) | Method and system for setting video cover | |
CN102882829A (zh) | 一种转码方法及系统 | |
CN109963162A (zh) | 一种云导播系统及直播处理方法、装置 | |
KR20080076803A (ko) | 대역요구 시스템, 대역요구 장치, 클라이언트 기기,대역요구 방법, 콘텐츠 재생 방법 및 프로그램 | |
WO2017219532A1 (zh) | 一种视频应用程序控制方法及视频应用程序控制系统 | |
US20220385989A1 (en) | Video playing control method and system | |
CN114666225B (zh) | 带宽调整方法、数据传输方法、设备及计算机存储介质 | |
JP5140952B2 (ja) | コンテンツ配信システム、コンテンツ配信サーバ、コンテンツ再生端末、プログラム、コンテンツ配信方法 | |
CN110445723A (zh) | 一种网络数据调度方法及边缘节点 | |
CN114040232A (zh) | 投屏系统、方法、电子设备和存储介质 | |
US20200053411A1 (en) | Content presentation system and content presentation method, and program | |
CN107172504B (zh) | 一种面向流式音视频数据的分布式处理方法及其装置 | |
WO2023065893A1 (zh) | 一种网络调度方法、系统及设备 | |
KR101451956B1 (ko) | 클라우드 서비스 시스템, 클라우드 서비스 장치 및 이를 이용한 방법 | |
JP2021527351A (ja) | ネットワーク容量に制約のあるシナリオにおける共同メディア制作のためのネットワーク制御上りリンクメディア伝送 | |
CN104333765A (zh) | 一种视频直播流的处理方法及处理装置 | |
JP2008136044A (ja) | 動画分割サーバおよびその制御方法 | |
CN104429089A (zh) | 用于确定复合视频服务流的方法和设备 | |
WO2017071524A1 (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 |