CN114024973B - 直播云转码的资源调度方法、装置、服务器及系统 - Google Patents
直播云转码的资源调度方法、装置、服务器及系统 Download PDFInfo
- Publication number
- CN114024973B CN114024973B CN202111284954.6A CN202111284954A CN114024973B CN 114024973 B CN114024973 B CN 114024973B CN 202111284954 A CN202111284954 A CN 202111284954A CN 114024973 B CN114024973 B CN 114024973B
- Authority
- CN
- China
- Prior art keywords
- target
- video
- transcoding
- electronic devices
- resource
- 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 70
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012384 transportation and delivery Methods 0.000 claims description 7
- 239000002699 waste material Substances 0.000 abstract description 13
- 230000002159 abnormal effect Effects 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000007726 management method Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000012550 audit Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- 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/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- 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/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/23805—Controlling the feeding rate to the network, e.g. by controlling the video pump
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提出一种直播云转码的资源调度方法、装置、服务器及系统,其中,方法包括:获取源视频转码至目标视频所需的目标资源量;从多个候选第一电子设备中选出与所述目标资源量匹配的目标第一电子设备;向所述目标第一电子设备下发转码指令,以使所述目标第一电子设备根据所述转码指令对所述源视频进行转码并得到所述目标视频。由此,实现了在对直播视频进行云转码时进行合理的任务分配与资源调度,避免了机器资源的浪费,以及机器资源不足以完成转码任务导致转码异常从而不能实时输出转码流等情况的发生。
Description
技术领域
本申请涉及互联网视频云转码技术领域,尤其涉及一种直播云转码的资源调度方法、装置、服务器及系统。
背景技术
在娱乐直播平台下,因全球各国家的网络基建不尽相同,当主播推流高清码流后,网络较差的地区的观众进入直播间观看直播时,如果拉取源流会出现卡顿等现象,因此,直播平台需要根据不同地区的网络,通过云转码平台将源流转码为不同的分辨率及码率,来满足各种网络条件的观众流畅观看直播视频。其中,云转码平台,是计算型云服务平台,需要依靠大量物理服务器来进行直播视频转码计算。
相关技术,在通过云转码平台对直播视频进行云转码的过程中,存在对各物理服务器的机器资源调度不合理的问题,比如某些物理服务器会因转码任务分配过少而出现机器资源浪费的问题,而某些物理服务器会因转码任务分配过多而出现机器资源不足以完成转码任务导致转码异常的问题等。
发明内容
本申请提出一种直播云转码的资源调度方法、装置、服务器及系统,用于解决相关技术中的在通过云转码平台对直播视频进行云转码的过程中,存在的对各物理服务器的机器资源调度不合理的技术问题。
本申请第一方面实施例提出了一种直播云转码的资源调度方法,应用于分布式调度服务器,所述方法包括:获取源视频转码至目标视频所需的目标资源量;从多个候选第一电子设备中选出与所述目标资源量匹配的目标第一电子设备;向所述目标第一电子设备下发转码指令,以使所述目标第一电子设备根据所述转码指令对所述源视频进行转码并得到所述目标视频。
在一种可能的实现方式中,所述从多个候选第一电子设备中选出与所述目标资源量匹配的目标第一电子设备,包括:确定各所述候选第一电子设备中的第一冗余资源量;将所述多个候选第一电子设备中的所述第一冗余资源量大于所述目标资源量、且所述第一冗余资源量最高的候选第一电子设备,确定为所述目标第一电子设备。
在另一种可能的实现方式中,所述确定各所述候选第一电子设备中的第一冗余资源量之前,还包括:接收多个第一电子设备上报的所述第一冗余资源量;根据多个所述第一电子设备上报的所述第一冗余资源量,对多个所述第一电子设备进行降序排序;将排列在前的预设数量的所述第一电子设备,确定为所述多个候选第一电子设备。
在另一种可能的实现方式中,所述获取源视频转码至目标视频所需的目标资源量,包括:向目标第二电子设备发送媒体嗅探请求,所述媒体嗅探请求中携带所述源视频的标识以及所述目标视频的目标视频参数信息;接收所述目标第二电子设备返回的媒体嗅探结果,所述媒体嗅探结果包括所述目标资源量,其中,所述目标资源量,是所述目标第二电子设备在根据所述源视频的标识从内容分发网络CDN获取所述标识对应的源视频后,根据所述源视频的原始视频参数信息与所述目标视频参数信息进行计算得到的。
在另一种可能的实现方式中,所述向目标第二电子设备发送媒体嗅探请求之前,还包括:接收多个第二电子设备上报的第二冗余资源量;将所述多个第二电子设备中的所述第二冗余资源量最高的第二电子设备,确定为所述目标第二电子设备。
在另一种可能的实现方式中,所述向目标第二电子设备发送媒体嗅探请求之前,还包括:接收针对所述源视频的转码请求,所述转码请求中携带所述源视频的标识以及所述目标视频的目标视频参数信息。
在另一种可能的实现方式中,所述方法还包括:接收视频录制或截图请求;向所述多个第一电子设备中的第一冗余资源量大于零的任一第一电子设备发送视频录制或截图指令,以使所述任一第一电子设备根据所述视频录制或截图指令进行视频录制或截图。
本申请第二方面实施例提出了一种直播云转码的资源调度装置,应用于分布式调度服务器,所述装置包括:获取模块,用于获取源视频转码至目标视频所需的目标资源量;选取模块,用于从多个候选第一电子设备中选出与所述目标资源量匹配的目标第一电子设备;第一发送模块,用于向所述目标第一电子设备下发转码指令,以使所述目标第一电子设备根据所述转码指令对所述源视频进行转码并得到所述目标视频。
在一种可能的实现方式中,所述选取模块,具体用于:确定各所述候选第一电子设备中的第一冗余资源量;将所述多个候选第一电子设备中的所述第一冗余资源量大于所述目标资源量、且所述第一冗余资源量最高的候选第一电子设备,确定为所述目标第一电子设备。
在另一种可能的实现方式中,所述装置还包括:第一接收模块,用于接收多个第一电子设备上报的所述第一冗余资源量;排序模块,用于根据多个所述第一电子设备上报的所述第一冗余资源量,对多个所述第一电子设备进行降序排序;第一确定模块,用于将排列在前的预设数量的所述第一电子设备,确定为所述多个候选第一电子设备。
在另一种可能的实现方式中,所述获取模块,具体用于:向目标第二电子设备发送媒体嗅探请求,所述媒体嗅探请求中携带所述源视频的标识以及所述目标视频的目标视频参数信息;接收所述目标第二电子设备返回的媒体嗅探结果,所述媒体嗅探结果包括所述目标资源量,其中,所述目标资源量,是所述目标第二电子设备在根据所述源视频的标识从内容分发网络CDN获取所述标识对应的源视频后,根据所述源视频的原始视频参数信息与所述目标视频参数信息进行计算得到的。
在另一种可能的实现方式中,所述装置还包括:第二接收模块,用于接收多个第二电子设备上报的第二冗余资源量;第二确定模块,用于将所述多个第二电子设备中的所述第二冗余资源量最高的第二电子设备,确定为所述目标第二电子设备。
在另一种可能的实现方式中,所述装置还包括:第三接收模块,用于接收针对所述源视频的转码请求,所述转码请求中携带所述源视频的标识以及所述目标视频的目标视频参数信息。
在另一种可能的实现方式中,所述装置还包括:第四接收模块,用于接收视频录制或截图请求;第二发送模块,用于向所述多个第一电子设备中的第一冗余资源量大于零的任一第一电子设备发送视频录制或截图指令,以使所述任一第一电子设备根据所述视频录制或截图指令进行视频录制或截图。
本申请第三方面实施例提出了一种分布式调度服务器,所述分布式调度服务器包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,执行如第一方面实施例所述的直播云转码的资源调度方法。
本申请第四方面实施例提出了一种直播云转码调度系统,其特征在于,包括如第五方式实施例所述的分布式调度服务器及多个第一电子设备。
在一种可能的实现方式中,所述第一电子设备用于:接收分布式调度服务器下发的转码指令;根据所述转码指令,对源视频进行转码并得到目标视频。
在另一种可能的实现方式中,所述转码指令中携带所述源视频的标识及所述目标视频的目标视频参数信息;其中,所述第一电子设备,具体用于:根据所述源视频的标识,从内容分发网络CDN获取所述标识对应的源视频;根据所述源视频的原始视频参数信息及所述目标视频参数信息,确定转码参数;根据所述转码参数对所述源视频进行转码,以得到对应所述目标视频参数信息的目标视频。
在另一种可能的实现方式中,所述第一电子设备,还用于:将所述目标视频上传至所述CDN。
在另一种可能的实现方式中,所述第一电子设备,还用于:向所述分布式调度服务器上报所述第一电子设备中的第一冗余资源量。
在另一种可能的实现方式中,所述第一电子设备,还用于:接收所述分布式调度服务器下发的视频录制或截图指令,其中,所述视频录制或截图指令中携带待处理视频的标识;根据所述待处理视频的标识,从CDN获取所述待处理视频的标识对应的视频;对所述待处理视频的标识对应的视频进行录制或截图,以得到处理后视频或图像;将所述处理后视频或图像上传至云存储空间。
在另一种可能的实现形式中,所述直播云转码调度系统,还包括至少一个第二电子设备,其中,所述第二电子设备用于:接收所述分布式调度服务器发送的媒体嗅探请求,所述媒体嗅探请求中携带源视频的标识以及目标视频的目标视频参数信息;根据所述源视频的标识从CDN获取所述标识对应的源视频;根据所述源视频的原始视频参数信息与所述目标视频参数信息,计算得到所述源视频转码至目标视频所需的目标资源量;向所述分布式调度服务器返回媒体嗅探结果,所述媒体嗅探结果包括所述目标资源量。
本申请第五方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请前述第一方面实施例提出的直播云转码的资源调度方法。
本申请第六方面实施例提出了一种计算机程序产品,该计算机程序产品包括计算机程序,计算机程序在被处理器执行时实现本申请上述第一方面实施例提出的直播云转码的资源调度方法。
本申请提供的技术方案具有如下有益效果:
通过获取源视频转码至目标视频所需的目标资源量,并从多个候选第一电子设备中选出与目标资源量匹配的目标第一电子设备,进而向目标第一电子设备下发转码指令,以使目标第一电子设备根据转码指令对源视频进行转码并得到目标视频,实现了在对直播视频进行云转码时进行合理的任务分配与资源调度,避免了机器资源的浪费,以及机器资源不足以完成转码任务导致转码异常从而不能实时输出转码流等情况的发生。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例一所提供的直播云转码的资源调度方法的流程示意图;
图2为本申请实施例二所提供的直播云转码的资源调度方法的流程示意图;
图3为本申请实施例三所提供的直播云转码的资源调度方法的流程示意图;
图4为本申请实施例四所提供的直播云转码的资源调度装置的结构示意图;
图5为本申请实施例四所提供的直播云转码的资源调度装置的另一结构示意图
图6为本申请实施例五所提供的直播云转码的资源调度系统的结构示意图;
图7为本申请实施例六所提供的直播云转码的资源调度系统的架构图;
图8为本申请实施例六所提供的分布式调度服务器、目标第一电子设备、目标第二电子设备及CDN之间的信令交互图;
图9为本申请实施例所提供的一种分布式调度服务器或电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
在娱乐直播平台下,因全球各国家的网络基建不尽相同,当主播推流高清码流后,网络较差的地区的观众进入直播间观看直播时,如果拉取源流会出现卡顿等现象,因此,直播平台需要根据不同地区的网络,通过云转码平台将源流转码为不同的分辨率及码率,来满足各种网络条件的观众流畅观看直播视频。其中,云转码平台,是计算型云服务平台,需要依靠大量物理服务器来进行直播视频转码计算。由于是实时流转码,需要保障输出的转码流的实时性,因此需要给转码任务分配更多的机器资源,来保障转码流的实时输出。
相关技术,在通过云转码平台对直播视频进行云转码的过程中,存在对各物理服务器的机器资源调度不合理的问题,比如某些物理服务器会因转码任务分配过少而出现机器资源浪费的问题,而某些物理服务器会因转码任务分配过多而出现机器资源不足以完成转码任务导致转码异常的问题等。
针对上述存在的问题,本申请提出一种直播云转码的资源调度方法、装置、分布式调度服务器、直播云转码的资源调度系统和存储介质,通过获取源视频转码至目标视频所需的目标资源量,并从多个候选第一电子设备中选出与目标资源量匹配的目标第一电子设备,进而向目标第一电子设备下发转码指令,以使目标第一电子设备根据转码指令对源视频进行转码并得到目标视频,实现了在对直播视频进行云转码时进行合理的任务分配与资源调度,避免了机器资源的浪费,以及因转码异常导致不能实时输出转码流的情况发生。
下面参考附图描述本申请实施例的直播云转码的资源调度方法、装置、分布式调度服务器、直播云转码的资源调度系统和存储介质。
图1为本申请实施例一所提供的直播云转码的资源调度方法的流程示意图。
需要说明的是,本申请实施例提供的直播云转码的资源调度方法,应用于分布式调度服务器,可以由直播云转码的资源调度装置执行,以下将直播云转码的资源调度装置简称为资源调度装置。其中,该资源调度装置,可以为分布式调度服务器,也可以被配置在分布式调度服务器中,以在对直播视频进行云转码时可以进行合理的任务分配与资源调度,避免机器资源的浪费以及因转码异常导致不能实时输出转码流的情况发生。本申请实施例以资源调度装置为分布式调度服务器为例进行说明。其中,分布式调度服务器可以为任一具有分布式调度能力的设备,本公开对此不作限制。
如图1所示,该直播云转码的资源调度方法可以包括以下步骤:
步骤101,获取源视频转码至目标视频所需的目标资源量。
其中,源视频,为待进行转码的视频,其可以为任意分辨率、码率或帧率的视频,本申请对此不作限制。比如,源视频可以为直播过程中主播推流的高清视频。
目标视频,为对源视频进行转码后得到的视频。其中,目标视频的分辨率、码率或帧率等参数可以根据需要确定,比如,可以根据直播间观众所在地区的网络确定。
目标资源量,为将源视频转码至目标视频所需的机器资源量。其中,机器资源可以包括设备中的CPU(Central Processing Unit,中央处理器)、MEM(memory,内存)、DISK(磁盘)、Network(网络)等资源。
在示例性实施例中,将源视频的分辨率、码率或帧率等参数信息称为原始视频参数信息,将目标视频的分辨率、码率、帧率等参数信息称为目标视频参数信息,可以根据原始视频参数信息及目标视频参数信息,计算得到从具有原始视频参数的源视频转码至具有目标视频参数的目标视频所需的目标资源量。
步骤102,从多个候选第一电子设备中选出与目标资源量匹配的目标第一电子设备。
其中,第一电子设备,可以理解为前述具有直播视频转码能力的物理服务器或者具有直播视频转码能力的其它任意设备,本申请对此不作限制。
候选第一电子设备,为当前具有冗余资源的第一电子设备,或者其中的冗余资源量大于预设第一资源阈值的第一电子设备,或者在所有第一电子设备中冗余资源量排在前预设名次的第一电子设备等,本公开对此不作限制。其中,冗余资源,指机器中未使用的剩余机器资源;冗余资源量,指剩余机器资源的量。其中,为了与下述实施例中的其它冗余资源量区分,本申请实施例中将第一电子设备、候选第一电子设备及目标第一电子设备中的冗余资源量称为第一冗余资源量。预设第一资源阈值,可以根据需要设置。
其中,目标第一电子设备,为待执行当前转码任务的第一电子设备。
在示例性实施例中,目标第一电子设备,可以为其中的第一冗余资源量大于目标资源量的任一候选第一电子设备。相应的,可以通过以下方式,从多个候选第一电子设备中选出与目标资源量匹配的目标第一电子设备:先确定各候选第一电子设备中的第一冗余资源量,再根据各候选第一电子设备中的第一冗余资源量,从各候选第一电子设备中选出第一冗余资源量大于目标资源量的候选第一电子设备,将选出的任一候选第一电子设备确定为目标第一电子设备。
在示例性实施例中,目标第一电子设备,可以为其中的第一冗余资源量大于目标资源量、且第一冗余资源量最高的候选第一电子设备。相应的,可以通过以下方式,从多个候选第一电子设备中选出与目标资源量匹配的目标第一电子设备:先确定各候选第一电子设备中的第一冗余资源量,再根据各候选第一电子设备中的第一冗余资源量,从各候选第一电子设备中选出第一冗余资源量大于目标资源量、且第一冗余资源量最高的候选第一电子设备,将选出的候选第一电子设备确定为目标第一电子设备。
需要说明的是,上述从多个候选第一电子设备中选出与目标资源量匹配的目标第一电子设备的方式,仅是示例性说明,不能理解为对本申请技术方案的限制,本领域技术人员在实际应用中,可以根据需要通过其它任意方式从多个候选第一电子设备中选出与目标资源量匹配的目标第一电子设备,本申请对此不作限制。
步骤103,向目标第一电子设备下发转码指令,以使目标第一电子设备根据转码指令对源视频进行转码并得到目标视频。
在示例性实施例中,确定目标第一电子设备后,即可向目标第一电子设备下发转码指令,以使目标第一电子设备根据转码指令对源视频进行转码并得到目标视频。
由于根据各候选第一电子设备中的第一冗余资源量以及源视频转码至目标视频所需的目标资源量,从多个候选第一电子设备中选出与目标资源量匹配的目标第一电子设备来执行转码任务,从而对于每个转码任务,都能从多个第一电子设备中选出合适的目标第一电子设备来执行该转码任务,避免了某个第一电子设备因转码分配任务过多而出现机器资源不足以完成转码任务,导致转码异常,从而不能实时输出转码流等情况的发生,且对于第一冗余资源量较高即机器资源使用率较低的第一电子设备,分布式调度服务器可以为其分配机器资源消耗较高的转码任务,从而也不会出现某个第一电子设备因转码任务分配过少而导致机器资源浪费的情况发生。
综上,本申请实施例的直播云转码的资源调度方法,通过获取源视频转码至目标视频所需的目标资源量,并从多个候选第一电子设备中选出与目标资源量匹配的目标第一电子设备,进而向目标第一电子设备下发转码指令,以使目标第一电子设备根据转码指令对源视频进行转码并得到目标视频,实现了在对直播视频进行云转码时进行合理的任务分配与资源调度,避免了机器资源的浪费,以及机器资源不足以完成转码任务导致转码异常从而不能实时输出转码流等情况的发生。
为了清楚说明上述实施例中是如何从多个候选第一电子设备中选出与目标资源量匹配的目标第一电子设备的,下面结合图2,对本申请提供的直播云转码的资源调度方法进一步说明。
图2为本申请实施例二所提供的直播云转码的资源调度方法的流程示意图。
如图2所示,该直播云转码的资源调度方法可以包括以下步骤:
步骤201,获取源视频转码至目标视频所需的目标资源量。
其中,步骤201的具体实现过程及原理,可以参考上述实施例的描述,此处不再赘述。
步骤202,确定各候选第一电子设备中的第一冗余资源量。
在示例性实施例中,可以先从第一电子设备中确定各候选第一电子设备,再确定各候选第一电子设备中的第一冗余资源量。
在示例性实施例中,候选第一电子设备,可以为所有第一电子设备中第一冗余资源量排在前预设名次的第一电子设备,相应的,在步骤202之前,可以通过以下方式确定各候选第一电子设备中的第一冗余资源量:
接收多个第一电子设备上报的第一冗余资源量;
根据多个第一电子设备上报的第一冗余资源量,对多个第一电子设备进行降序排序;
将排列在前的预设数量的第一电子设备,确定为多个候选第一电子设备。
具体的,多个第一电子设备可以根据各自的总资源量以及当前正在处理的转码任务所需的资源量,确定各自的第一冗余资源量,并将第一冗余资源量上报至分布式调度服务器,相应的,分布式调度服务器可以接收多个第一电子设备上报的第一冗余资源量。进一步的,分布式调度服务器可以根据多个第一电子设备上报的第一冗余资源量,对多个第一电子设备进行降序排序,并将排列在前的预设数量的第一电子设备,确定为多个候选第一电子设备。排列在前的预设数量的各第一电子设备上报的第一冗余资源量,即为各候选第一电子设备中的第一冗余资源量。
其中,预设数量,即为前述的预设名次,其可以根据需要任意设置,比如可以设置为3个,或者5个等,本申请对此不作限制。
步骤203,将多个候选第一电子设备中的第一冗余资源量大于目标资源量、且第一冗余资源量最高的候选第一电子设备,确定为目标第一电子设备。
举例来说,假设候选第一电子设备的数量为3,其中,候选第一电子设备A中的第一冗余资源量最高,候选第一电子设备B中的第一冗余资源量次之,候选第一电子设备C中的第一冗余资源量最低,且候选第一电子设备A和B中的第一冗余资源量高于目标资源量,候选第一电子设备C的第一冗余资源量低于目标资源量。则可以将3个候选第一电子设备中的第一冗余资源量大于目标资源量、且第一冗余资源量最高的候选第一电子设备A确定为目标第一电子设备。
通过将多个候选第一电子设备中的第一冗余资源量大于目标资源量、且第一冗余资源量最高的候选第一电子设备,确定为目标第一电子设备,从而使得可以利用机器资源使用率最低的第一电子设备来执行转码任务,提高了机器资源利用率。
步骤204,向目标第一电子设备下发转码指令,以使目标第一电子设备根据转码指令对源视频进行转码并得到目标视频。
在示例性实施例中,确定目标第一电子设备后,即可向目标第一电子设备下发转码指令,以使目标第一电子设备根据转码指令对源视频进行转码并得到目标视频。
综上,本申请实施例的直播云转码的资源调度方法,通过获取源视频转码至目标视频所需的目标资源量,确定各候选第一电子设备中的第一冗余资源量,将多个候选第一电子设备中的第一冗余资源量大于目标资源量、且第一冗余资源量最高的候选第一电子设备,确定为目标第一电子设备,向目标第一电子设备下发转码指令,以使目标第一电子设备根据转码指令对源视频进行转码并得到目标视频,实现了在对直播视频进行云转码时进行合理的任务分配与资源调度,避免了机器资源的浪费,以及机器资源不足以完成转码任务导致转码异常从而不能实时输出转码流等情况的发生。
为了清楚说明上述实施例中是如何获取源视频转码至目标视频所需的目标资源量的,下面结合图3,对本申请提供的直播云转码的资源调度方法进一步说明。
图3为本申请实施例三所提供的直播云转码的资源调度方法的流程示意图。
如图3所示,该直播云转码的资源调度方法可以包括以下步骤:
步骤301,接收针对源视频的转码请求,转码请求中携带源视频的标识以及目标视频的目标视频参数信息。
其中,源视频的标识,用于唯一标识源视频,其可以根据需要任意设置,本申请对此不作限制。比如,源视频的标识可以为源视频所在的网络地址,或者源视频的名称等。
目标视频参数信息,可以包括目标视频的分辨率、码率、帧率等与目标视频有关的任意参数信息。
在一种可能的应用场景中,直播间观众根据其所在地区的当前网络情况,在终端切换高低清观看模式时,可以自动触发转码请求,相应的,分布式调度服务器可以接收到针对源视频(直播间主播推流的高清视频)的转码请求,转码请求中携带源视频的标识以及目标视频的目标视频参数信息。或者,在另一种可能的应用场景中,视频审核平台的审核墙需要在直播间主播开播以后,实时观看当前主播推流的高清视频内容,但主播推流的高清视频分辨率和/或码率太大时,会导致视频无法正常播放,因此在主播推流的高清视频的审核期间,可以触发转码请求,相应的,分布式调度服务器可以接收到针对源视频(即直播间主播推流的高清视频))的转码请求,转码请求中携带源视频的标识以及目标视频的目标视频参数信息。
步骤302,向目标第二电子设备发送媒体嗅探请求,媒体嗅探请求中携带源视频的标识以及目标视频的目标视频参数信息。
其中,媒体嗅探请求,用于请求目标第二电子设备计算源视频转码至目标视频所需的目标资源量。
第二电子设备,为能够计算源视频转码至目标视频所需的目标资源量的任意设备。
目标第二电子设备,为待执行当前的目标资源量计算任务的第二电子设备。
在示例性实施例中,目标电子设备可以为其中的第二冗余资源大于预设第二资源阈值的任一第二电子设备。其中,为了与其它冗余资源量区分,本申请实施例中将第二电子设备及目标第二电子设备中的冗余资源量称为第二冗余资源量。预设第二资源阈值,可以根据需要设置。相应的,在步骤302之前,还可以通过以下方式确定目标第二电子设备:接收多个第二电子设备上报的第二冗余资源量;将多个第二电子设备中的第二冗余资源量最高的第二电子设备,确定为目标第二电子设备。
具体的,多个第二电子设备可以根据各自的总资源量以及当前正在处理的目标资源量计算任务所需的资源量,确定各自的第二冗余资源量,并将第二冗余资源量上报至分布式调度服务器,相应的,分布式调度服务器可以接收多个第二电子设备上报的第二冗余资源量。进一步的,分布式调度服务器可以从多个第二电子设备中选出其中的第二冗余资源量大于预设第二资源阈值的候选第二电子设备,并将选出的候选第二电子设备中的任一候选第二电子设备确定为目标第二电子设备。
在示例性实施例中,目标第二电子设备可以为其中的第二冗余资源最高的第二电子设备,相应的,在步骤302之前,还可以通过以下方式确定目标第二电子设备:接收多个第二电子设备上报的第二冗余资源量;将多个第二电子设备中的第二冗余资源量最高的第二电子设备,确定为目标第二电子设备。
具体的,多个第二电子设备可以根据各自的总资源量以及当前正在处理的目标资源量计算任务所需的资源量,确定各自的第二冗余资源量,并将第二冗余资源量上报至分布式调度服务器,相应的,分布式调度服务器可以接收多个第二电子设备上报的第二冗余资源量。进一步的,分布式调度服务器可以将多个第二电子设备中的第二冗余资源量最高的第二电子设备,确定为目标第二电子设备。
需要说明的是,上述从多个第二电子设备中选出目标第二电子设备的方式,仅是示例性说明,不能理解为对本申请技术方案的限制,本领域技术人员在实际应用中,可以根据需要通过其它任意方式从多个第二电子设备中选出目标第二电子设备,本申请对此不作限制。
在示例性实施例中,分布式调度服务器接收到针对源视频的转码请求,并确定目标第二电子设备后,可以向目标第二电子设备发送媒体嗅探请求,媒体嗅探请求中携带源视频的标识以及目标视频的目标视频参数信息,以使目标第二电子设备根据源视频的标识以及目标视频的目标视频参数信息,确定源视频转码至目标视频所需的目标资源量。
步骤303,接收目标第二电子设备返回的媒体嗅探结果,媒体嗅探结果包括目标资源量,其中,目标资源量,是目标第二电子设备在根据源视频的标识从内容分发网络CDN获取标识对应的源视频后,根据源视频的原始视频参数信息与目标视频参数信息进行计算得到的。
其中,CDN(Content Delivery Network,内容分发网络),为构建在网络上的内容分发网络。以直播场景为例,直播间主播的直播视频流(主播推流的高清视频)可以上传至CDN,直播间观众在观看直播时,可以从CDN拉取直播视频流观看。
在示例性实施例中,目标第二电子设备接收到分布式调度服务器发送的媒体嗅探请求后,可以根据媒体嗅探请求中携带的源视频的标识,从CDN获取源视频的标识对应的源视频,并根据获取的源视频确定源视频的原始视频参数信息,进而根据原始视频参数信息以及媒体嗅探请求中携带的目标视频参数信息,计算得到从源视频转码至目标视频所需的目标资源量。目标第二电子设备计算得到源视频转码至目标视频所需的目标资源量后,即可向分布式调度服务器返回媒体嗅探结果,媒体嗅探结果中包括目标资源量。相应的,分布式调度服务器可以接收目标第二电子设备返回的包括目标资源量的媒体嗅探结果。
其中,原始视频参数信息,可以包括源视频的分辨率、码率、帧率等与源视频有关的任意参数信息。
通过上述过程,实现了利用目标第二电子设备确定源视频转码至目标视频所需的目标资源量。
需要说明的是,在一种可能的实现形式中,在获取到目标第二电子设备返回的目标资源量后,还可以根据触发转码请求的用户的类型,对目标资源量进行调整。其中,用户的类型,可以根据用户对转码流的实时性的要求高低进行划分。比如,经常玩网络游戏的用户通常对转码流的实时性的要求较高,对于这类用户触发的转码请求,在确定源视频转码至目标视频所需的目标资源量后,可以对目标资源量进行上调,以保证利用更多的机器资源执行这类用户的转码任务,从而保证对这类用户实时输出转码后的目标视频流。
步骤304,从多个候选第一电子设备中选出与目标资源量匹配的目标第一电子设备。
其中,步骤304-305的具体实现过程及原理,可以参考上述实施例的描述,此处不再赘述。
步骤305,向目标第一电子设备下发转码指令,以使目标第一电子设备根据转码指令对源视频进行转码并得到目标视频。
值得注意的是,本申请实施例中的第一电子设备和第二电子设备,可以为单独的设备,或者,第一电子设备和第二电子设备也可以为同一设备,本申请对此不作限制。即,某个电子设备可以仅具有直播视频转码能力,此时该电子设备可以称为第一电子设备;某个电子设备也可以仅具有计算源视频转码至目标视频所需的目标资源量的能力,此时该电子设备可以称为第二电子设备;某个电子设备也可以同时具有直播视频转码能力以及计算源视频转码至目标视频所需的目标资源量的能力,此时该电子设备中部署有两个独立的模块,分别用于执行直播视频转码任务以及目标资源量计算任务,两个模块共用同一电子设备的机器资源,该电子设备既可以称为第一电子设备,也可以称为第二电子设备。
由于计算源视频转码至目标视频所需的目标资源量消耗的机器资源很少,进行直播视频的转码所消耗的机器资源较多,在示例性实施例中,可以将机器资源较少的设备部署为第二电子设备,将机器资源较多的设备部署为第一电子设备,从而进一步提高机器资源的利用率,降低直播云转码的成本。
在示例性实施例中,分布式调度服务器还可以根据接收到的视频录制或截图请求,对各第一电子设备中的机器资源进行调度。即,本申请实施例中的直播云转码的资源调度方法,还可以包括:
接收视频录制或截图请求;向多个第一电子设备中的第一冗余资源量大于零的任一第一电子设备发送视频录制或截图指令,以使任一第一电子设备根据视频录制或截图指令进行视频录制或截图。
其中,视频录制或截图请求,即视频录制请求或视频截图请求,其中,视频录制请求或视频截图请求中可以携带源视频的标识。
可以理解的是,视频录制任务或视频截图任务,仅消耗较少的机器资源,那么,在示例性实施例中,可以由多个第一电子设备中的第一冗余资源量大于零的任一第一电子设备执行视频录制任务或视频截图任务。相应的,以视频录制任务为例,分布式调度服务器接收到视频录制请求后,可以向多个第一电子设备中的第一冗余资源量大于零的任一第一电子设备发送视频录制指令,以使任一第一电子设备根据视频录制指令进行视频录制。以视频截图任务为例,分布式调度服务器接收到视频截图请求后,可以向多个第一电子设备中的第一冗余资源量大于零的任一第一电子设备发送视频截图指令,以使任一第一电子设备根据视频截图指令进行截图。
通过将视频录制任务或视频截图任务分配给多个第一电子设备中的第一冗余资源量大于零的任一第一电子设备,可以实现在合理调度机器资源执行转码任务的基础上,将第一电子设备中执行转码任务后剩余的机器资源,分配给其它视频录制任务或视频截图任务等资源消耗较少的任务,从而实现机器资源利用率的最大化,进而降低成本。
本申请实施例的直播云转码的资源调度方法,通过接收针对源视频的转码请求,向目标第二电子设备发送媒体嗅探请求,接收目标第二电子设备返回的媒体嗅探结果,从多个候选第一电子设备中选出与目标资源量匹配的目标第一电子设备,向目标第一电子设备下发转码指令,以使目标第一电子设备根据转码指令对源视频进行转码并得到目标视频,实现了在对直播视频进行云转码时进行合理的任务分配与资源调度,避免了机器资源的浪费,以及机器资源不足以完成转码任务导致转码异常从而不能实时输出转码流等情况的发生。
与上述图1至图3实施例提供的直播云转码的资源调度方法相对应,本申请还提供一种直播云转码的资源调度装置,以下简称资源调度装置,由于本申请实施例提供的资源调度装置与上述图1至图3实施例提供的直播云转码的资源调度方法相对应,因此在直播云转码的资源调度方法的实施方式也适用于本申请实施例提供的资源调度装置,在本申请实施例中不再详细描述。
图4为本申请实施例四所提供的直播云转码的资源调度装置的结构示意图。
如图4所示,该直播云转码的资源调度装置400应用于分布式调度服务器,该直播云转码的资源调度装置400可以包括:获取模块410、选取模块420以及第一发送模块430。
其中,获取模块410,用于获取源视频转码至目标视频所需的目标资源量;
选取模块420,用于从多个候选第一电子设备中选出与目标资源量匹配的目标第一电子设备;
第一发送模块430,用于向目标第一电子设备下发转码指令,以使目标第一电子设备根据转码指令对源视频进行转码并得到目标视频。
作为本申请实施例的一种可能的实现方式,选取模块420,具体用于:
确定各候选第一电子设备中的第一冗余资源量;
将多个候选第一电子设备中的第一冗余资源量大于目标资源量、且第一冗余资源量最高的候选第一电子设备,确定为目标第一电子设备。
作为本申请实施例的一种可能的实现方式,如图5所示,资源调度装置400,还包括:
第一接收模块510,用于接收多个第一电子设备上报的第一冗余资源量;
排序模块520,用于根据多个第一电子设备上报的第一冗余资源量,对多个第一电子设备进行降序排序;
第一确定模块530,用于将排列在前的预设数量的第一电子设备,确定为多个候选第一电子设备。
作为本申请实施例的一种可能的实现方式,获取模块410,具体用于:
向目标第二电子设备发送媒体嗅探请求,媒体嗅探请求中携带源视频的标识以及目标视频的目标视频参数信息;
接收目标第二电子设备返回的媒体嗅探结果,媒体嗅探结果包括目标资源量,其中,目标资源量,是目标第二电子设备在根据源视频的标识从内容分发网络CDN获取标识对应的源视频后,根据源视频的原始视频参数信息与目标视频参数信息进行计算得到的。
作为本申请实施例的一种可能的实现方式,如图5所示,资源调度装置400,还包括:
第二接收模块540,用于接收多个第二电子设备上报的第二冗余资源量;
第二确定模块550,用于将多个第二电子设备中的第二冗余资源量最高的第二电子设备,确定为目标第二电子设备。
作为本申请实施例的一种可能的实现方式,如图5所示,资源调度装置400,还包括:
第三接收模块560,用于接收针对源视频的转码请求,转码请求中携带源视频的标识以及目标视频的目标视频参数信息。
作为本申请实施例的一种可能的实现方式,资源调度装置400,还包括:
第四接收模块,用于接收视频录制或截图请求;
第二发送模块,用于向多个第一电子设备中的第一冗余资源量大于零的任一第一电子设备发送视频录制或截图指令,以使任一第一电子设备根据视频录制或截图指令进行视频录制或截图。
本申请实施例的直播云转码的资源调度装置,通过获取源视频转码至目标视频所需的目标资源量,并从多个候选第一电子设备中选出与目标资源量匹配的目标第一电子设备,进而向目标第一电子设备下发转码指令,以使目标第一电子设备根据转码指令对源视频进行转码并得到目标视频,实现了在对直播视频进行云转码时进行合理的任务分配与资源调度,避免了机器资源的浪费,以及机器资源不足以完成转码任务导致转码异常从而不能实时输出转码流等情况的发生。
为了实现上述实施例,本申请还提出一种分布式调度服务器,该分布式调度服务器可以包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,执行如本申请前述实施例第一方面实施例提出的直播云转码的资源调度方法。
其中,本申请实施例中的分布式调度服务器,可以为任一具有分布式调度能力的设备,本公开对此不作限制。
需要说明的是,前述对第一方面实施例提出的直播云转码的资源调度方法实施例的解释说明也适用于该实施例的分布式调度服务器,此处不再赘述。
本申请实施例的分布式调度服务器,通过获取源视频转码至目标视频所需的目标资源量,并从多个候选第一电子设备中选出与目标资源量匹配的目标第一电子设备,进而向目标第一电子设备下发转码指令,以使目标第一电子设备根据转码指令对源视频进行转码并得到目标视频,实现了在对直播视频进行云转码时进行合理的任务分配与资源调度,避免了机器资源的浪费,以及机器资源不足以完成转码任务导致转码异常从而不能实时输出转码流等情况的发生。
为了实现上述实施例,本申请还提出一种直播云转码的资源调度系统。
下面结合图6,对本申请实施例提供的直播云转码的资源调度系统进行说明。其中,图6为本申请实施例五所提供的直播云转码的资源调度系统的结构示意图。
其中,如图6所示,该直播云转码的资源调度系统600,可以包括如前述实施例所述的分布式调度服务器610及多个第一电子设备620。
其中,分布式调度服务器610可以执行前述实施例中的直播云转码的资源调度方法,具体的实现过程及原理,可以参考前述实施例的描述,此处不再赘述。
第一电子设备620,可以为前述实施例中的具有直播视频转码能力的物理服务器或者具有直播视频转码能力的其它任意设备,本申请对此不作限制。
可以理解的是,根据上述实施例可知,分布式调度服务器610可以获取源视频转码至目标视频所需的目标资源量,并从多个候选第一电子设备中选出与目标资源量匹配的目标第一电子设备,进而向目标第一电子设备下发转码指令,以使目标第一电子设备根据转码指令对源视频进行转码并得到目标视频。
其中,目标第一电子设备,可能是多个第一电子设备620中的任一第一电子设备。相应的,多个第一电子设备620中,每个第一电子设备均可以用于接收分布式调度服务器610下发的转码指令,并根据转码指令,对源视频进行转码并得到目标视频。
在示例性实施例中,转码指令中可以携带源视频的标识以及目标视频的目标视频参数信息,第一电子设备620可以通过以下方式,根据转码指令,对源视频进行转码并得到目标视频:根据源视频的标识,从内容分发网络CDN获取标识对应的源视频;根据源视频的原始视频参数信息及目标视频参数信息,确定转码参数;根据转码参数对源视频进行转码,以得到对应目标视频参数信息的目标视频。
其中,转码参数,为将具有原始视频参数信息的源视频转码至具有目标视频参数信息的目标视频时,所需调整的参数,比如可以包括编码线程数、量化曲线系数、自适应量化模式等。
具体的,以直播场景为例,直播间主播的直播视频流可以上传至CDN,相应的,第一电子设备620在接收到携带源视频的标识及目标视频的目标视频参数信息的转码指令时,可以根据源视频的标识,从CDN中获取标识对应的源视频,并根据源视频的原始视频参数信息以及目标视频的目标视频参数信息,确定转码参数,进而根据转码参数对源视频进行转码,以得到具有目标视频参数信息的目标视频。
可以理解的是,以直播场景为例,直播间观众在观看直播时,可以从CDN拉取直播视频流观看,相应的,在示例性实施例中,第一电子设备620在对源视频进行转码得到目标视频后,可以将目标视频上传至CDN,以使其它需要播放目标视频的设备能够从CDN获取目标视频进行播放。即,第一电子设备620还用于:将目标视频上传至CDN。
可以理解的是,根据上述实施例可知,分布式调度服务器610可以根据各第一电子设备620上报的第一冗余资源量,确定多个候选第一电子设备以及目标第一电子设备,相应的,在示例性实施例中,第一电子设备620还可以向分布式调度服务器610上报第一电子设备620中的第一冗余资源量。即,第一电子设备620还可以用于:向分布式调度服务器610上报第一电子设备620中的第一冗余资源量。
另外,根据上述实施例可知,分布式调度服务器610还可以向多个第一电子设备620中的第一冗余资源量大于零的任一第一电子设备620发送视频录制或截图指令,以使任一第一电子设备620可以根据视频录制或截图指令进行视频录制或截图。相应的,多个第一电子设备620中的每个第一电子设备620均可以用于:接收分布式调度服务器下发的视频录制或截图指令,其中,视频录制或截图指令中携带待处理视频的标识;根据待处理视频的标识,从CDN获取待处理视频的标识对应的视频;对待处理视频的标识对应的视频进行录制或截图,以得到处理后视频或图像;将处理后视频或图像上传至云存储空间。
另外,在示例性实施例中,第一电子设备中的第一冗余资源量不足以执行分布式调度服务器610下发的转码任务时,第一电子设备还可以将其执行的转码任务中机器资源消耗较高的转码任务返回分布式调度服务器610,以使分布式调度服务器610将机器资源消耗较高的转码任务重新下发至其它机器资源使用率较低的第一电子设备。
另外,根据上述实施例可知,分布式调度服务器610可以向目标第二电子设备发送媒体嗅探请求,以使目标第二电子设备根据媒体嗅探请求中携带的源视频的标识及目标视频的目标视频参数信息,确定源视频转码至目标视频所需的目标资源量。
相应的,在示例性实施例中,直播云转码的资源调度系统600还可以包括至少一个第二电子设备,其中,每个第二电子设备均具有目标资源量计算能力。
即,第二电子设备用于:
接收分布式调度服务器发送的媒体嗅探请求,媒体嗅探请求中携带源视频的标识以及目标视频的目标视频参数信息;根据源视频的标识从内容分发网络CDN获取标识对应的源视频;根据源视频的原始视频参数信息与目标视频参数信息,计算得到源视频转码至目标视频所需的目标资源量;向分布式调度服务器返回媒体嗅探结果,媒体嗅探结果包括目标资源量。
具体的,第二电子设备可以根据源视频的标识从CDN获取标识对应的源视频,并根据源视频的原始视频参数信息与目标视频参数信息,计算得到源视频转码至目标视频所需的目标资源量,进而向分布式调度服务器返回媒体嗅探结果,媒体嗅探结果包括目标资源量。
本申请实施例的直播云转码的资源调度系统,通过分布式调度服务器根据源视频转码至目标视频所需的目标资源量,从多个候选第一电子设备中选出与目标资源量匹配的目标第一电子设备,进而向目标第一电子设备下发转码指令,从而目标第一电子设备根据转码指令对源视频进行转码并得到目标视频,实现了在对直播视频进行云转码时进行合理的任务分配与资源调度,避免了机器资源的浪费,以及机器资源不足以完成转码任务导致转码异常从而不能实时输出转码流等情况的发生。
下面结合图7所示的直播云转码的资源调度系统的架构图及图8所示的分布式调度服务器、目标第一电子设备、目标第二电子设备及CDN之间的信令交互图,对本申请提出的直播云转码的资源调度系统进一步说明。
如图7所示,直播云转码的资源调度系统700可以包括分布式调度服务器710、多个第一电子设备及多个第二电子设备。其中,图7中仅以目标第一电子设备720和目标第二电子设备730为例进行示意。另外,图7中的分布式调度服务器710、目标第一电子设备720,与图6中的分布式调度服务器610和第一电子设备620具有相同的结构和功能。
其中,分布式调度服务器710可以包括接入模块711、任务管理模块712、节点调度模块713、数据库714、资源管理模块715。其中,接入模块711对外提供任务增加、删除、修改、查询接口;任务管理模块712主要负责任务下发及各第一电子设备中的任务管理;资源管理模块715用于获取各第一电子设备上报的第一冗余资源量及各第二电子设备上报的第二冗余资源量,并将各电子设备上报的冗余资源量汇总后上报至数据库714;数据库714可以用来存储各电子设备上报的冗余资源量,并将各电子设备上报的冗余资源量上报至节点调度模块713;节点调度模块713,可以根据数据库714中各第一电子设备上报的第一冗余资源量,采用上述实施例中确定多个候选第一电子设备的方式确定多个候选第一电子设备,以及根据各第二电子设备上报的第二冗余资源量,采用上述实施例中确定目标第二电子设备的方式确定目标第二电子设备。
每个第一电子设备可以将其中的第一冗余资源量上报至分布式调度服务器710的资源管理模块715;每个第二电子设备可以将其中的第二冗余资源量上报至分布式调度服务器710的资源管理模块715。
参考图7和图8可知,分布式调度服务器710可以通过接入模块711接收到针对源视频的转码请求(步骤801),转码请求中可以携带源视频的标识及目标视频的目标视频参数信息,并且接入模块711可以创建转码任务并发送至任务管理模块712(步骤802)。任务管理模块712获取转码任务后,可以从节点调度模块获取多个候选第一电子设备(步骤803),并向目标第二电子设备发送媒体嗅探请求,其中,媒体嗅探请求中携带源视频的标识及目标视频的目标视频参数信息(步骤804)。
目标第二电子设备720接收到媒体嗅探请求后,可以根据源视频的标识从CDN获取标识对应的源视频(步骤805),并根据源视频的原始视频参数信息及目标视频的目标视频参数信息,计算得到源视频转码至目标视频所需的目标资源量(步骤806),并向分布式调度服务器710的任务管理模块712返回媒体嗅探结果,媒体嗅探结果包括目标资源量(步骤807)。
任务管理模块712获取目标资源量后,可以根据目标资源量,从多个候选第一电子设备中选出与目标资源量匹配的目标第一电子设备(步骤808),并向目标第一电子设备下发转码指令,转码指令中携带源视频的标识及目标视频的目标视频参数信息(步骤809)。
目标第一电子设备接收到转码指令后,可以根据转码指令中携带的源视频的标识,从CDN获取标识对应的源视频(步骤810),进而根据源视频的原始参数信息及目标视频的目标视频参数信息,确定转码参数,并根据转码参数对源视频进行转码,得到目标视频(步骤811)。目标第一电子设备得到目标视频后,即可将目标视频上传至CDN(步骤812)。
由此,实现了在对直播视频进行云转码时进行合理的任务分配与资源调度,避免了机器资源的浪费,以及机器资源不足以完成转码任务导致转码异常从而不能实时输出转码流等情况的发生。
为了实现上述实施例,本申请还提出一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本申请前述第一方面实施例提出的直播云转码的资源调度方法。
为了实现上述实施例,本申请还提供一种计算机程序产品,该计算机程序产品包括计算机程序,计算机程序在被处理器执行时实现本申请上述第一方面实施例提出的直播云转码的资源调度方法。
图9为本申请实施例所提供的一种分布式调度服务器或电子设备的结构示意图。其中,该电子设备可以为前述实施例中的第一电子设备或第二电子设备。
如图9所示,该分布式调度服务器或电子设备可以包括:
存储器901、处理器902及存储在存储器901上并可在处理器902上运行的计算机程序。
处理器902执行所述程序时实现图1至图3任一所示实施例中提供的直播云转码的资源调度方法,或实现前述实施例中第一电子设备或第二电子设备执行的方法。
进一步地,分布式调度服务器或电子设备还可以包括:
通信接口903,用于存储器901和处理器902之间的通信。
存储器901,用于存放可在处理器902上运行的计算机程序。
存储器901可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器902,用于执行所述程序时实现图1至图3任一所示实施例所述的直播云转码的资源调度方法,或实现前述实施例中第一电子设备或第二电子设备执行的方法。
如果存储器901、处理器902和通信接口903独立实现,则通信接口903、存储器901和处理器902可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器901、处理器902及通信接口903,集成在一块芯片上实现,则存储器901、处理器902及通信接口903可以通过内部接口完成相互间的通信。
处理器902可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (16)
1.一种直播云转码的资源调度方法,其特征在于,应用于分布式调度服务器,所述方法包括:
接收视频审核平台发送的源视频转码请求和多个第二电子设备上报的第二冗余资源量,根据所述第二冗余资源量确定目标第二电子设备,向所述目标第二电子设备发送媒体嗅探请求,接收所述目标第二电子设备返回的媒体嗅探结果,所述媒体嗅探结果包括源视频转码至目标视频所需的目标资源量,其中,所述源视频转码请求和所述媒体嗅探请求中均携带源视频的标识和目标视频参数信息,所述目标资源量是所述目标第二电子设备在根据所述标识从内容分发网络CDN获取所述标识对应的源视频后,根据所述源视频的原始视频参数信息与所述目标视频参数信息进行计算得到的;
接收多个第一电子设备上报的第一冗余资源量,根据所述第一冗余资源量从多个第一电子设备中确定多个候选第一电子设备,从所述多个候选第一电子设备中选出与所述目标资源量匹配的目标第一电子设备,所述目标第一电子设备的机器资源不小于所述目标第二电子设备的机器资源;
向所述目标第一电子设备下发转码指令,以使所述目标第一电子设备根据所述转码指令对所述源视频进行转码并得到所述目标视频。
2.根据权利要求1所述的方法,其特征在于,从所述多个候选第一电子设备中选出与所述目标资源量匹配的目标第一电子设备,包括:
确定各所述候选第一电子设备中的第一冗余资源量;
将所述多个候选第一电子设备中的所述第一冗余资源量大于所述目标资源量、且所述第一冗余资源量最高的候选第一电子设备,确定为所述目标第一电子设备。
3.根据权利要求2所述的方法,其特征在于,根据所述第一冗余资源量从多个第一电子设备中确定多个候选第一电子设备,包括:
根据多个所述第一电子设备上报的所述第一冗余资源量,对多个所述第一电子设备进行降序排序;
将排列在前的预设数量的所述第一电子设备,确定为所述多个候选第一电子设备。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收视频录制或截图请求;
向所述多个第一电子设备中的第一冗余资源量大于零的任一第一电子设备发送视频录制或截图指令,以使所述任一第一电子设备根据所述视频录制或截图指令进行视频录制或截图。
5.一种直播云转码的资源调度装置,其特征在于,应用于分布式调度服务器,所述装置包括:
获取模块,用于接收视频审核平台发送的源视频转码请求和多个第二电子设备上报的第二冗余资源量,根据所述第二冗余资源量确定目标第二电子设备,向所述目标第二电子设备发送媒体嗅探请求,接收所述目标第二电子设备返回的媒体嗅探结果,所述媒体嗅探结果包括源视频转码至目标视频所需的目标资源量,其中,所述源视频转码请求和所述媒体嗅探请求中均携带源视频的标识和目标视频参数信息,所述目标资源量是所述目标第二电子设备在根据所述标识从内容分发网络CDN获取所述标识对应的源视频后,根据所述源视频的原始视频参数信息与所述目标视频参数信息进行计算得到的;
选取模块,用于接收多个第一电子设备上报的第一冗余资源量,根据所述第一冗余资源量从多个第一电子设备中确定多个候选第一电子设备,从所述多个候选第一电子设备中选出与所述目标资源量匹配的目标第一电子设备,所述目标第一电子设备的机器资源不小于所述目标第二电子设备的机器资源;
第一发送模块,用于向所述目标第一电子设备下发转码指令,以使所述目标第一电子设备根据所述转码指令对所述源视频进行转码并得到所述目标视频。
6.根据权利要求5所述的装置,其特征在于,从所述多个候选第一电子设备中选出与所述目标资源量匹配的目标第一电子设备,包括:
确定各所述候选第一电子设备中的第一冗余资源量;
将所述多个候选第一电子设备中的所述第一冗余资源量大于所述目标资源量、且所述第一冗余资源量最高的候选第一电子设备,确定为所述目标第一电子设备。
7.根据权利要求6所述的装置,其特征在于,根据所述第一冗余资源量从多个第一电子设备中确定多个候选第一电子设备,包括:
根据多个所述第一电子设备上报的所述第一冗余资源量,对多个所述第一电子设备进行降序排序;
将排列在前的预设数量的所述第一电子设备,确定为所述多个候选第一电子设备。
8.根据权利要求7所述的装置,其特征在于,还包括:
第四接收模块,用于接收视频录制或截图请求;
第二发送模块,用于向所述多个第一电子设备中的第一冗余资源量大于零的任一第一电子设备发送视频录制或截图指令,以使所述任一第一电子设备根据所述视频录制或截图指令进行视频录制或截图。
9.一种分布式调度服务器,其特征在于,所述分布式调度服务器包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,执行如权利要求1-4任一项所述的直播云转码的资源调度方法。
10.一种直播云转码的资源调度系统,其特征在于,包括如权利要求9所述的分布式调度服务器及多个第一电子设备。
11.根据权利要求10所述的资源调度系统,其特征在于,所述第一电子设备用于:
接收分布式调度服务器下发的转码指令;
根据所述转码指令,对源视频进行转码并得到目标视频。
12.根据权利要求11所述的资源调度系统,其特征在于,所述转码指令中携带所述源视频的标识及所述目标视频的目标视频参数信息;
其中,所述第一电子设备,具体用于:
根据所述源视频的标识,从内容分发网络CDN获取所述标识对应的源视频;
根据所述源视频的原始视频参数信息及所述目标视频参数信息,确定转码参数;
根据所述转码参数对所述源视频进行转码,以得到对应所述目标视频参数信息的目标视频。
13.根据权利要求12所述的资源调度系统,其特征在于,所述第一电子设备,还用于:
将所述目标视频上传至所述CDN。
14.根据权利要求10-13任一项所述的资源调度系统,其特征在于,所述第一电子设备,还用于:
向所述分布式调度服务器上报所述第一电子设备中的第一冗余资源量。
15.根据权利要求10-13任一项所述的资源调度系统,其特征在于,所述第一电子设备,还用于:
接收所述分布式调度服务器下发的视频录制或截图指令,其中,所述视频录制或截图指令中携带待处理视频的标识;
根据所述待处理视频的标识,从CDN获取所述待处理视频的标识对应的视频;
对所述待处理视频的标识对应的视频进行录制或截图,以得到处理后视频或图像;
将所述处理后视频或图像上传至云存储空间。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4任一项所述的直播云转码的资源调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111284954.6A CN114024973B (zh) | 2021-11-01 | 2021-11-01 | 直播云转码的资源调度方法、装置、服务器及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111284954.6A CN114024973B (zh) | 2021-11-01 | 2021-11-01 | 直播云转码的资源调度方法、装置、服务器及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114024973A CN114024973A (zh) | 2022-02-08 |
CN114024973B true CN114024973B (zh) | 2023-11-24 |
Family
ID=80059497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111284954.6A Active CN114024973B (zh) | 2021-11-01 | 2021-11-01 | 直播云转码的资源调度方法、装置、服务器及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114024973B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114679593B (zh) * | 2022-02-09 | 2023-09-22 | 上海哔哩哔哩科技有限公司 | 直播转码处理方法、装置及系统 |
CN114679604B (zh) * | 2022-04-11 | 2023-12-19 | 上海哔哩哔哩科技有限公司 | 资源处理方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104702969A (zh) * | 2013-12-09 | 2015-06-10 | 杭州海康威视数字技术股份有限公司 | 进行视音频数据被动转码的方法、系统及转码服务器 |
CN108366273A (zh) * | 2018-03-16 | 2018-08-03 | 中国传媒大学 | 分布式视频转码系统及分布式视频转码方法 |
CN109788315A (zh) * | 2019-01-31 | 2019-05-21 | 湖南快乐阳光互动娱乐传媒有限公司 | 视频转码方法、装置及系统 |
CN110769278A (zh) * | 2019-10-29 | 2020-02-07 | 鹏城实验室 | 一种分布式视频转码方法及系统 |
CN110830826A (zh) * | 2018-08-08 | 2020-02-21 | 视联动力信息技术股份有限公司 | 视频转码设备调度方法及系统 |
CN111031350A (zh) * | 2019-12-24 | 2020-04-17 | 北京奇艺世纪科技有限公司 | 转码资源调度方法、电子设备及计算机可读存储介质 |
CN111601118A (zh) * | 2020-05-13 | 2020-08-28 | 广州市百果园信息技术有限公司 | 直播视频的处理方法、系统、装置及终端 |
CN112422977A (zh) * | 2020-09-01 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 音视频转码任务的分配方法和分配装置 |
-
2021
- 2021-11-01 CN CN202111284954.6A patent/CN114024973B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104702969A (zh) * | 2013-12-09 | 2015-06-10 | 杭州海康威视数字技术股份有限公司 | 进行视音频数据被动转码的方法、系统及转码服务器 |
CN108366273A (zh) * | 2018-03-16 | 2018-08-03 | 中国传媒大学 | 分布式视频转码系统及分布式视频转码方法 |
CN110830826A (zh) * | 2018-08-08 | 2020-02-21 | 视联动力信息技术股份有限公司 | 视频转码设备调度方法及系统 |
CN109788315A (zh) * | 2019-01-31 | 2019-05-21 | 湖南快乐阳光互动娱乐传媒有限公司 | 视频转码方法、装置及系统 |
CN110769278A (zh) * | 2019-10-29 | 2020-02-07 | 鹏城实验室 | 一种分布式视频转码方法及系统 |
CN111031350A (zh) * | 2019-12-24 | 2020-04-17 | 北京奇艺世纪科技有限公司 | 转码资源调度方法、电子设备及计算机可读存储介质 |
CN111601118A (zh) * | 2020-05-13 | 2020-08-28 | 广州市百果园信息技术有限公司 | 直播视频的处理方法、系统、装置及终端 |
CN112422977A (zh) * | 2020-09-01 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 音视频转码任务的分配方法和分配装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114024973A (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10924783B2 (en) | Video coding method, system and server | |
CN114024973B (zh) | 直播云转码的资源调度方法、装置、服务器及系统 | |
CN111447447B (zh) | 直播编码方法、装置以及电子设备 | |
CN111464816B (zh) | 一种高速公路视频监控系统 | |
CN110460871B (zh) | 直播视频的生成方法、装置、系统及设备 | |
CN108810657B (zh) | 一种设置视频封面的方法和系统 | |
CN109462726B (zh) | 摄像头的控制方法和装置 | |
CN108965884B (zh) | 一种转码任务的分配方法及调度设备、转码设备 | |
US20170302982A1 (en) | Broadcast management services platform | |
CN102404567A (zh) | 一种网络监控视频流按需实时转码的系统和方法 | |
CN111355971B (zh) | 直播流传输方法、装置、cdn服务器及计算机可读介质 | |
CN112202755B (zh) | 一种服务器分配方法、装置、设备及介质 | |
US8694641B2 (en) | Image delivery management server and image delivery management system | |
CN110460879B (zh) | 一种视频请求调度方法、装置、服务器及存储介质 | |
CN112312135A (zh) | 一种视频发布方法、装置、计算机设备及存储介质 | |
CN111510743B (zh) | 转码资源的调度方法、装置、系统、设备和存储介质 | |
CN115086472B (zh) | 基于关键帧信息的手机app管理系统 | |
CN112752111B (zh) | 直播流处理方法及装置、计算机可读存储介质、电子设备 | |
US20210014547A1 (en) | System for distributing an audiovisual content | |
CN116389799A (zh) | 音视频码流的转码处理方法、装置、电子设备及存储介质 | |
Nguyen et al. | CADLAD: Device-aware bitrate ladder construction for HTTP adaptive streaming | |
US10165033B2 (en) | Live encoding for distribution of long tail media content | |
CN115129470A (zh) | 编解码资源分配方法、装置及电子设备 | |
WO2024174908A1 (zh) | 码率控制方法、装置、媒体服务器、终端设备及存储介质 | |
CN110868596A (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 |