CN111510734B - 一种cdn调度方法、装置、存储介质及设备 - Google Patents
一种cdn调度方法、装置、存储介质及设备 Download PDFInfo
- Publication number
- CN111510734B CN111510734B CN202010307198.3A CN202010307198A CN111510734B CN 111510734 B CN111510734 B CN 111510734B CN 202010307198 A CN202010307198 A CN 202010307198A CN 111510734 B CN111510734 B CN 111510734B
- Authority
- CN
- China
- Prior art keywords
- cdn
- code rate
- video stream
- appointed
- transcoding
- 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 55
- 238000004590 computer program Methods 0.000 claims description 6
- 230000003044 adaptive effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234381—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content 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/26208—Content 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/27—Server based end-user applications
- H04N21/274—Storing end-user multimedia data in response to end-user request, e.g. network recorder
- H04N21/2743—Video hosting of uploaded data from client
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本说明书提供一种CDN调度方法、装置、存储介质及设备。这一方法中,基于各个CDN支持的转码码率确定出对应的约定码率,在客户端请求获取指定码率的视频流时,将约定码率与指定码率对应的CDN确定为目标CDN,再调度该目标CDN将原画按照约定码率进行转码,并将转码后的视频流发送给客户端和其他CDN。这样,充分利用了各家CDN的资源,对于单路流,转码操作由一家适配的CDN完成,其他家CDN可通过拉取转码流的方式,获取到转码资源,从而规避转码操作,进而达到大幅降低转码消耗的成本的目的。
Description
技术领域
本说明书涉及计算机技术领域,尤其涉及一种CDN调度方法、装置、存储介质及设备。
背景技术
CDN(Content Delivery Network,内容分发网络)是一种现有网络基础之上的智能虚拟网络,其依靠部署在各地的边缘服务器,将源站内容分发至最接近用户的节点,使用户可以就近获取所需内容,提高用户访问的响应速度和成功率,适用于视频直播等场景。
通常,各个厂商的CDN是以分布式节点的形式存在的,当某个用户进入某个直播频道后,服务器会在CDN集群中随机选择一个可用的CDN供用户进行使用,以使得主播端通过该CDN对用户进行视频传输。这种随机选择的方式容易导致CDN资源分配不合理,造成CDN资源的浪费。
而随着直播相关行业的迅速发展,直播平台对于扩张过程中成本的要求也越来越高。带宽及转码是直播的巨大开支,相关技术中,现有的CDN调度系统是依靠不计成本的加大带宽和CDN节点数量以满足直播需要。
发明内容
为克服相关技术中存在的问题,本说明书提供了一种CDN调度方法、装置、存储介质及设备
根据本说明书实施例的第一方面,提供一种CDN调度方法,所述方法包括:
获取各个CDN支持的转码码率,确定各个CDN对应的约定码率;
当客户端请求获取指定码率的视频流时,将所述约定码率与所述指定码率匹配的CDN确定为目标CDN;
通知所述目标CDN将获取的视频源推送的原始码率的视频流按照所述约定码率进行转码,并将转码后的视频流发送到所述客户端和其他的CDN。
在某些例子中,上述约定码率基于各个CDN支持的转码码率和评价各个CDN的性价比参数确定。
在某些例子中,上述评价各个CDN的性价比的参数包括以下至少之一:各个CDN的加载首帧平均时长、评价网络稳定性的指标和转码的价格。
在某些例子中,上述方法还包括:
从一CDN接收所述客户端请求获取指定码率的视频流的通知,并确定所述CDN的约定码率是否与所述指定码率匹配。
在某些例子中,上述方法还包括:
根据所述视频流所在的频道的历史人气数据,从所有约定码率中确定客户端可以请求获取的码率。
在某些例子中,当客户端请求获取指定码率的视频流时,还包括步骤:
确定所述视频流所在的频道的历史人气数据是否低于预设值,如果是,则执行将所述约定码率与所述指定码率匹配的CDN确定为目标CDN的步骤。
在某些例子中,上述方法还包括:
当所述视频源请求向CDN上传视频流时,获取所述视频源的目的地址,确定所述目的地址所属的地理位置区域;
基于所述地理位置区域和各个CDN的覆盖点,通知所述视频源将所述视频流上传给指定的CDN。
在某些例子中,上述方法还包括:
当所述视频源请求向CDN上传视频流时,获取各个CDN的服务质量,所述服务质量基于历史直播数据中的加载首帧平均时长和评价网络稳定性的指标确定;
基于各个CDN的服务质量和服务价格计算各个CDN的权值;
所述客户端进入所述视频流所在频道时,根据所述权值从各个CDN中确定第一CDN,调度所述第一CDN给所述客户端。
根据本说明书实施例的第二方面,提供一种CDN调度装置,所述装置包括:
确定模块,用于获取各个CDN支持的转码码率,确定各个CDN对应的约定码率;
匹配模块,用于当客户端请求获取指定码率的视频流时,将所述约定码率与所述指定码率匹配的CDN确定为目标CDN;
调度模块,用于通知所述目标CDN将获取的视频源推送的原始码率的视频流按照所述约定码率进行转码,并将转码后的视频流发送到所述客户端和其他的CDN。
根据本说明书实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现说明书实施例中任一项方法。
根据本说明书实施例的第四方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现说明书实施例中任一项方法。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书实施例中,公开了一种CDN调度方法、装置、存储介质及设备。这一方法中,基于各个CDN支持的转码码率确定出对应的约定码率,在客户端请求获取指定码率的视频流时,将约定码率与指定码率对应的CDN确定为目标CDN,再调度该目标CDN将原画按照约定码率进行转码,并将转码后的视频流发送给客户端和其他CDN。这样,充分利用了各家CDN的资源,对于单路流,转码操作由一家适配的CDN完成,其他家CDN可通过拉取转码流的方式,获取到转码资源,从而规避转码操作,进而达到大幅降低转码消耗的成本的目的。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本说明书示出的一种直播系统的网络拓扑图;
图2是本说明书实施例示出的一种CDN调度方法的流程图;
图3是本说明书实施例示出的一种直播系统的示意图;
图4是本说明书实施例CDN调度装置所在计算机设备的一种硬件结构图;
图5是本说明书实施例示出的一种CDN调度装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在视频直播中,通常利用CDN(Content Delivery Network,内容分发网络)来提高用户访问的响应速度。参考图1,图1是本说明书示出的一种直播系统的网络拓扑图。在这一直播系统中,各个厂商的CDN是以分布式节点的形式存在的,其工作流程可以认为是:主播端通过流媒体传输协议将视频流推送到CDN,使视频流交由CDN进行分发,如此,观众端加入直播间后,会连接到CDN再从CDN拉取视频流。
随着直播相关行业的迅速发展,相关技术中,直播平台往往依靠不计成本的加大带宽和CDN节点数量以满足直播需要。这对于直播平台来说,是扩张过程中亟需解决的问题。
接下来对本说明书实施例进行详细说明。
如图2所示,图2是本说明书实施例示出的一种CDN调度方法的流程图,所述方法包括:
在步骤201、获取各个CDN支持的转码码率,确定各个CDN对应的约定码率;
一般来说,视频直播播放端的码率是根据推流端决定的,即,观众端所拉取的视频流的码率是与主播端的视频流的码率一致的。码率,也叫比特率,是指每秒传送的比特数,比特率越高,表示单位时间传送的数据就越多。通常来说,直播的开播码率较高,但观众的设备及网络带宽层次不齐,相关技术中,原始码率的视频流在视频源会被转码成其他不同码率,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求,从而实现根据用户网络实际情况自动切换成相应的播放码率或由用户选择码率。
直播中,转码就是一项巨大的开支。而本说明书实施例旨在降低转码的消耗,从而达到降低直播成本的目的。
各个厂商的CDN基本上都能提供转码服务,但如果将各个厂商的CDN的转码服务都开启势必会增加冗余转码而导致成本的增加。在本说明书实施例中,本步骤可以是指:获取各个厂商的CDN支持的转码服务中的转码码率,确定出各个CDN对应的约定码率,比如,某家CDN提供的转码码率包括200k、600k、1200k三种,可以跟该CDN约定一个固定码率为600k,这样,当一个原始码率为2000k的视频流推送到该CDN时,可以直接通知该CDN进行转码,转码后的视频流的码率就是这个约定码率600k。
在某些例子中,本步骤所指出的约定码率可以是基于各个CDN提供的转码码率和评价各个CDN的性价比参数确定。也就是说,一个CDN的约定码率需要参考评价这个CDN的性价比参数,从该CDN支持的转码码率中进行确定。这里的评价各个CDN的性价比参数可以包括:各个CDN的加载首帧平均时长、评价网络稳定性的指标和转码的价格。在其他两个参数固定时,CDN的加载首帧平均时长越短、评价网络稳定性的指标越好、或者转码的价格越低,则说明该CDN的性价比越高。容易得见的,两个CDN提供的某个转码码率一致时,将该转码码率确定为性价比更高的CDN的约定码率,这样,转码后可以得到质量与成本最优的结果。
在步骤202、当客户端请求获取指定码率的视频流时,将所述约定码率与所述指定码率匹配的CDN确定为目标CDN;
在步骤203、通知所述目标CDN将获取的视频源推送的原始码率的视频流按照所述约定码率进行转码,并将转码后的视频流发送到所述客户端和其他的CDN。
在确定好各个CDN对应的约定码率后,本说明书实施例通过步骤202和步骤203,为观众提供其指定码率的视频流。主播开播后,通常将视频流直推到某个CDN,再由该CDN转推到其他CDN,观众可以在各个CDN上观看直播。此时直推和转推的流都是原画,这里的原画即原始码率的视频流;当一观众切换画质时,先确定出目标CDN,这个目标CDN对应的约定码率与该观众所在的客户端请求的指定码率匹配,再通知这个目标CDN获取视频源推送的原画,触发该目标CDN按照约定码率进行转码,并将转码后的视频流发送到该观众所在的客户端以及其他的CDN。
基于上述步骤,当该目标CDN为观众所在的客户端接入的CDN时,则可以调度该目标CDN进行转码,并将转码后的视频流发送到观众所在的客户端;而当该目标CDN不是观众所在的客户端接入的CDN时,则可以调度该目标CDN进行转码,并将转码后的视频流发送到观众所在的客户端接入的CDN,以使观众所在的客户端可以从其接入的CDN拉取到转码后的视频流。
本说明书实施例的方法可应用于CDN调度系统。在某些例子中,本说明书实施例还包括:从一CDN接收所述客户端请求获取指定码率的视频流的通知,并确定所述CDN的约定码率是否与所述指定码率匹配。也就是说,观众切换画质时,观众客户端向其连接的CDN发送获取指定码率的视频流的请求,该CDN将这一请求通知给CDN调度系统,CDN调度系统判断该CDN的约定码率是否与该指定码率匹配,是则可以直接调度该CDN完成转码操作。如此,可以在一定程度上提升效率。
本说明书实施例,基于各个CDN提供的转码码率确定出对应的约定码率,在客户端请求获取指定码率的视频流时,将约定码率与指定码率对应的CDN确定为目标CDN,再调度该目标CDN将原画按照约定码率进行转码,并将转码后的视频流发送给客户端和其他CDN。这样,充分利用了各家CDN的资源,对于单路流,转码操作由一家适配的CDN完成,其他家CDN可通过拉取转码流的方式,获取到转码资源,从而规避转码操作,进而达到大幅降低转码消耗的成本的目的。
为进一步地降低转码消耗的成本,本说明书实施例还包括步骤:根据所述视频流所在的频道的历史人气数据,从所有约定码率中确定客户端可以请求获取的码率。根据直播间的历史人气值来为客户端提供可选择的码率,比如说,一家平台接入有五家厂商CDN,这五家CDN的约定码率分别为1800k、1200k、800k、600k、200k,则当当前主播直播间的历史人气值较低,也就是历史观看人数较少的时候,则仅提供该直播间的观众客户端可以选择的“指定码率”为1200k和600k这两种约定码率,而当当前主播直播间的历史人气值较高时,则可以提供该直播间的观众客户端可选择的“指定码率”包括全部五种约定码率。可以理解的,这样可以减少部分约定码率所对应的观众人数极少的情况,平衡了观众的占用和需求之间的关系,在一定程度上也有利于节约平台的成本。
通过极大数据量的研究后发现,本说明书实施例的方法应用在中小型主播的直播频道时降低成本的效果更为显著。因此,在某些例子中,当客户端请求获取指定码率的视频流时,还包括步骤:确定所述视频流所在的频道的历史人气数据是否低于预设值,如果是,则执行将所述约定码率与所述指定码率匹配的CDN确定为目标CDN的步骤。这里的预设值可以是基于应用本说明书实施例方法的各直播间中历史人气数据与降低成本效果而确定。
此外,针对大型主播,本说明书实施例也提供了降低直播成本的方法,这一方法为:如果所述历史人气数据超过预设值,则通知与所述频道关联的CDN和客户端建立P2P网络,以及通知所述视频源按照所述指定码率进行转码,并将转码后的视频流发送到所述客户端以及其他的CDN。也就是说,当直播频道的历史人气数据超过预设值,就开启直播频道P2P进行调度,而转码的逻辑则保持原先的视频源转码方式。P2P是指对等网络,其可以定义为:网络的参与者共享他们所拥有的一部分硬件资源,这些共享资源通过网络提供服务和内容,能被其它对等节点直接访问而无需经过中间实体。开启直播频道P2P后,将这一频道的视频流进行切片并封装成P2P数据包,通过P2P网络将P2P数据包发送给客户端。由于在对等网络中,当有很多人下载同时下载同一个视频流的数据文件时,彼此是可以分享各自的文件分块的,因此,在当前观看这一直播频道的人数较多时,分享效果越好,对于直播平台来说就可以节省更多的带宽和流量,从而达到降低成本的效果。综上,通过采用P2P融合CDN视频传输的技术方案,针对各个直播频道实现最优成本的调度。
另外,主播推流的质量决定了整个直播频道观众的下行质量,比如,当主播开播时网络不稳定,会导致观众观看的直播画面出现卡顿,对直播效果造成不好的影响。因此,本说明书实施例还提供了在上行主播、下行观众两方面的调度方法。上行主播的调度方法包括:当所述视频源请求向CDN上传视频流时,获取所述视频源的目的地址,确定所述目的地址所属的地理位置区域;基于所述地理位置区域和各个CDN的覆盖点,通知所述视频源将所述视频流上传给指定的CDN。也就是说,在主播开播上行时,通过判断主播IP将主播固定到合适的CDN上进行直播,以获得较好的直播效果。当然,可以知悉的,在直播过程中,可以检测主播开播质量,当检测到质量差时,通过不断探测最优厂商CDN,无缝切换到适配的其他厂商CDN。
有些直播类型的开播码率比较高,为了保持直播频道稳定直播,平台一般会选择多家CDN分发流量。下行观众的调度方法旨在分发流量时使调度结果达到成本与质量最优,这一方法中,当视频源请求向CDN上传视频流时,先通过历史直播数据获取各个CDN的服务质量,这里的服务质量可以由CDN加载首帧平均时长和评价网络稳定性的指标确定;基于各个CDN的服务质量和服务价格计算各个CDN的权值;客户端进入所述视频流所在频道时,根据权值从各个CDN中确定第一CDN,调度第一CDN给客户端。如此,调度系统在客户端进入频道时会分配出合适的线路,使直播质量与成本达到最优。
为方便理解,接下来以一具体例子进行说明。
如图3所示,图3是本说明书实施例示出的一种直播系统的示意图。在此直播系统中,包括主播端301、CDN节点302、CDN节点303、CDN节点304、CDN调度系统305、观众端306。本说明书实施例中,CDN调度系统305的调度流程包括:
第一、开播阶段,主播端301请求向CDN上传视频流时,获取主播端301的IP地址,确定出主播端301的IP地址所属的地理位置区域,考量上述三个厂商CDN的覆盖点,通知主播端301将视频流上传到的指定的CDN;
这里,主播端301的IP地址属于海外开播,考量到CDN节点302的海外覆盖较好,因此,通知主播端301将视频流上传到CDN节点302,再由CDN节点302转推到CDN节点303和CDN节点304,此时直推和转推的视频流都是原画,码率为2000k;开播阶段的传输线路如图3中实线部分所示;
第二、由于主播端301直播的是游戏直播类型,其开播码率较高,因此通过历史直播数据反馈出上述三个CDN各自加载首帧平均时长和评价网络稳定性的指标等参数,再基于各个CDN的服务价格,计算各个CDN的权值,这样,客户端306在进入频道时,根据权值确定出调度给客户端306的CDN;
这里,根据权值确定出调度给客户端306的CDN为CDN节点303;
第三、获取各个CDN提供的转码码率,同时参考评价各个CDN的性价比参数确定出各个CDN对应的约定码率,所述评价各个CDN的性价比的参数包括:各个CDN的加载首帧平均时长、评价网络稳定性的指标和转码的价格;
这里,CDN节点302、CDN节点303、CDN节点304各自对应的约定码率分别为400k、600k、1200k;
第三、转码阶段,当观众要切换画质时,CDN调度系统305从CDN节点303接收到客户端306请求获取指定码率的视频流的通知,并确定CDN节点303的约定码率是否与该指定码率匹配,同时,将约定码率与该指定码率匹配的CDN确定为目标CDN,通知该目标CDN获取视频源推送的原始码率的视频流后,按照其约定码率进行转码,并将转码后的视频流发送到客户端306以及其他的CDN;
这里,客户端306的指定码率为1200k,因此,确定CDN节点304为目标CDN,通知CDN节点304获取CDN节点302推送的原画后,将原画转码成码率为1200k的视频流后,发送到CDN节点303,由客户端306进行拉取;转码阶段的传输线路如图3中虚线部分所示;
第四、上述第三部分的内容是在该直播频道的历史人气数据低于预设值的情况下进行的,当该直播频道的历史人气数据高于预设值时,则通知CDN节点302和客户端306建立P2P网络,以及通知主播端301按照客户端306指定码率进行转码,并将转码后的视频流推送到CDN节点302,由CDN节点302转推到CDN节点303和CDN节点304。
本说明书实施例,基于上述流程,提升了直播平台的直播质量,同时节省了大量的带宽及转码成本。
与前述方法的实施例相对应,本说明书还提供了CDN调度装置及其所应用的终端的实施例。
本说明书CDN调度装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在文件处理的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本说明书实施例CDN调度装置所在计算机设备的一种硬件结构图,除了图4所示的处理器510、内存530、网络接口520、以及非易失性存储器540之外,实施例中装置531所在的服务器或电子设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。
相应地,本说明书实施例还提供一种计算机存储介质,所述存储介质中存储有程序,所述程序被处理器执行时实现上述任一实施例中的方法。
如图5所示,图5是本说明书实施例示出的一种CDN调度装置的框图,所述装置包括:
确定模块51,用于获取各个CDN支持的转码码率,确定各个CDN对应的约定码率;
匹配模块52,用于当客户端请求获取指定码率的视频流时,将所述约定码率与所述指定码率匹配的CDN确定为目标CDN;
调度模块53,用于通知所述目标CDN将获取的视频源推送的原始码率的视频流按照所述约定码率进行转码,并将转码后的视频流发送到所述客户端以及其他的CDN。
本说明书实施例可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (10)
1.一种CDN调度方法,其特征在于,所述方法包括:
获取各个厂商的CDN支持的转码码率,确定各个CDN对应的约定码率;
当客户端请求获取指定码率的视频流时,将所述约定码率与所述指定码率匹配的CDN确定为目标CDN;
通知所述目标CDN将获取的视频源推送的原始码率的视频流按照所述约定码率进行转码,并将转码后的视频流发送到所述客户端和其他的CDN;
其中,所述约定码率基于各个CDN支持的转码码率和评价各个CDN的性价比参数确定。
2.根据权利要求1所述的方法,其特征在于,所述评价各个CDN的性价比的参数包括以下至少之一:各个CDN的加载首帧平均时长、评价网络稳定性的指标和转码的价格。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从一CDN接收所述客户端请求获取指定码率的视频流的通知,并确定所述CDN的约定码率是否与所述指定码率匹配。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述视频流所在的频道的历史人气数据,从所有约定码率中确定客户端可以请求获取的码率。
5.根据权利要求4所述的方法,其特征在于,当客户端请求获取指定码率的视频流时,还包括步骤:
确定所述视频流所在的频道的历史人气数据是否低于预设值,如果是,则执行将所述约定码率与所述指定码率匹配的CDN确定为目标CDN的步骤。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述视频源请求向CDN上传视频流时,获取所述视频源的目的地址,确定所述目的地址所属的地理位置区域;
基于所述地理位置区域和各个CDN的覆盖点,通知所述视频源将所述视频流上传给指定的CDN。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述视频源请求向CDN上传视频流时,获取各个CDN的服务质量,所述服务质量基于历史直播数据中的加载首帧平均时长和评价网络稳定性的指标确定;
基于各个CDN的服务质量和服务价格计算各个CDN的权值;
所述客户端进入所述视频流所在频道时,根据所述权值从各个CDN中确定第一CDN,调度所述第一CDN给所述客户端。
8.一种CDN调度装置,其特征在于,所述装置包括:
确定模块,用于获取各个厂商的CDN支持的转码码率,确定各个CDN对应的约定码率;
匹配模块,用于当客户端请求获取指定码率的视频流时,将所述约定码率与所述指定码率匹配的CDN确定为目标CDN;
调度模块,用于通知所述目标CDN将获取的视频源推送的原始码率的视频流按照所述约定码率进行转码,并将转码后的视频流发送到所述客户端和其他的CDN;
其中,所述约定码率基于各个CDN支持的转码码率和评价各个CDN的性价比参数确定。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1~7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现权利要求1~7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010307198.3A CN111510734B (zh) | 2020-04-17 | 2020-04-17 | 一种cdn调度方法、装置、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010307198.3A CN111510734B (zh) | 2020-04-17 | 2020-04-17 | 一种cdn调度方法、装置、存储介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111510734A CN111510734A (zh) | 2020-08-07 |
CN111510734B true CN111510734B (zh) | 2021-12-24 |
Family
ID=71877725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010307198.3A Active CN111510734B (zh) | 2020-04-17 | 2020-04-17 | 一种cdn调度方法、装置、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111510734B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112752111B (zh) * | 2020-12-24 | 2023-05-16 | 广州博冠信息科技有限公司 | 直播流处理方法及装置、计算机可读存储介质、电子设备 |
CN112788357B (zh) * | 2020-12-30 | 2022-01-25 | 北京达佳互联信息技术有限公司 | 网络直播方法、装置、服务器及计算机可读存储介质 |
CN112866413A (zh) * | 2021-02-19 | 2021-05-28 | 北京金山云网络技术有限公司 | 数据传输方法、装置、电子设备和计算机可读存储介质 |
CN113676754B (zh) * | 2021-08-18 | 2023-08-29 | 上海哔哩哔哩科技有限公司 | 直播视频转码方法及装置 |
CN114679593B (zh) * | 2022-02-09 | 2023-09-22 | 上海哔哩哔哩科技有限公司 | 直播转码处理方法、装置及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104349178A (zh) * | 2014-11-21 | 2015-02-11 | 赛特斯信息科技股份有限公司 | 实现按需实时转码和自适应码率流媒体播放的系统及方法 |
CN107948664A (zh) * | 2017-11-20 | 2018-04-20 | 广州虎牙信息科技有限公司 | 直播间视频播放控制方法、装置及终端 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9078020B2 (en) * | 2012-09-21 | 2015-07-07 | Hulu, LLC | Dynamic optimization of video content distribution |
CN106162233B (zh) * | 2016-07-08 | 2019-12-31 | 合一网络技术(北京)有限公司 | 码率推荐方法及装置 |
CN107801057A (zh) * | 2016-08-31 | 2018-03-13 | 法乐第(北京)网络科技有限公司 | 一种播放码率确定方法及装置 |
CN108270750A (zh) * | 2016-12-30 | 2018-07-10 | 北京国双科技有限公司 | Cdn切换方法、客户端及服务器 |
CN107911722B (zh) * | 2017-10-31 | 2020-06-16 | 贝壳找房(北京)科技有限公司 | 一种内容分发网络调度方法、装置、电子设备及计算机可读存储介质 |
CN109600642B (zh) * | 2018-12-17 | 2020-10-30 | 广州华多网络科技有限公司 | 一种cdn资源调度方法及装置 |
CN110401850B (zh) * | 2019-07-30 | 2021-10-22 | 网宿科技股份有限公司 | 一种透传自定义sei的方法和装置 |
CN110290402B (zh) * | 2019-07-31 | 2021-11-05 | 腾讯科技(深圳)有限公司 | 一种视频码率调整方法、装置、服务器及存储介质 |
-
2020
- 2020-04-17 CN CN202010307198.3A patent/CN111510734B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104349178A (zh) * | 2014-11-21 | 2015-02-11 | 赛特斯信息科技股份有限公司 | 实现按需实时转码和自适应码率流媒体播放的系统及方法 |
CN107948664A (zh) * | 2017-11-20 | 2018-04-20 | 广州虎牙信息科技有限公司 | 直播间视频播放控制方法、装置及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN111510734A (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111510734B (zh) | 一种cdn调度方法、装置、存储介质及设备 | |
US10757158B2 (en) | Feedback optimized video coding parameters | |
JP5580302B2 (ja) | ピアツーピアネットワークのための放送シーディング | |
US9332051B2 (en) | Media manifest file generation for adaptive streaming cost management | |
CA2913019C (en) | Methods, apparatus, and systems for providing media content over a communications network | |
CA2844648C (en) | Method and apparatus for adaptive transcoding of multimedia stream | |
JP4860640B2 (ja) | ストリームデータのネットワーク伝送システム及び方法 | |
US10516904B2 (en) | Controlling delivery of requested content based on delivery bandwidth limitations | |
US9712850B2 (en) | Dynamic maintenance and distribution of video content on content delivery networks | |
JP2009506627A (ja) | ダイナミックブロードキャストスケジューリングを使用したオンデマンドシステム及び方法 | |
KR20160086854A (ko) | 네트워크의 디바이스들에 의해 수행되는 지속적인 트래픽 세션들 사이에서 네트워크의 사용 가능한 대역폭을 분배하기 위한 방법 및 그 장치 | |
CN113727144A (zh) | 基于混合云的高清直播系统及流媒体方法 | |
EP1683365A1 (en) | Methods and devices for reducing total bandwith when streaming multiple media streams | |
US11343590B2 (en) | Event notification in a network environment | |
US10893315B2 (en) | Content presentation system and content presentation method, and program | |
CN108476333A (zh) | 媒体流的邻接流送 | |
KR101702426B1 (ko) | 다시점 비디오 서비스의 시점변경 지연을 줄이기 위한 다중 http 스레드 기반의 비디오 전송 시스템 및 방법 | |
US20140348492A1 (en) | Recording apparatus, delivery apparatus, recording method, program, and recording medium | |
US20150195589A1 (en) | Method of and apparatus for determining a composite video services stream | |
KR101780247B1 (ko) | 동적 적응 버퍼링 기반의 ott 데이터 처리 방법 | |
JP2002118553A (ja) | 放送システム及びその方法 | |
Zhao et al. | Enabling free-viewpoint television with P2P networks | |
US11736549B2 (en) | Distributed adaptive bitrate (ABR) asset delivery | |
JP6271072B1 (ja) | 端末装置、映像配信システムおよび映像配信方法 | |
KR101015098B1 (ko) | P2p 기반의 스트리밍 서비스 제공 시스템 및 방법 |
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 |