CN112416568A - 音视频转码任务的时长预估方法和时长预估装置 - Google Patents

音视频转码任务的时长预估方法和时长预估装置 Download PDF

Info

Publication number
CN112416568A
CN112416568A CN202010902267.5A CN202010902267A CN112416568A CN 112416568 A CN112416568 A CN 112416568A CN 202010902267 A CN202010902267 A CN 202010902267A CN 112416568 A CN112416568 A CN 112416568A
Authority
CN
China
Prior art keywords
audio
video
parameter
parameters
historical
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.)
Pending
Application number
CN202010902267.5A
Other languages
English (en)
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.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
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 Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202010902267.5A priority Critical patent/CN112416568A/zh
Publication of CN112416568A publication Critical patent/CN112416568A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请提供一种音视频转码任务的时长预估方法和时长预估装置,所述方法包括:响应于音视频转码任务请求,获取待转码的源音视频文件;获取所述源音视频文件的第一音视频参数;根据所述第一音视频参数确定与所述源音视频文件对应的目标音视频文件的第二音视频参数;获取执行所述音视频转码任务所需要的资源参数;将所述第一音视频参数、所述第二音视频参数和所述资源参数输入时长预估模型,以确定将所述源音视频文件转码为所述目标音视频文件的预估时长。本申请可以有效提高任务处理效率,避免任务执行过程中产生不必要的资源浪费。

Description

音视频转码任务的时长预估方法和时长预估装置
技术领域
本申请涉及音视频处理技术领域,特别涉及一种音视频转码任务的时长预估方法和时长预估装置。
背景技术
音视频转码是指将已经压缩编码的音频和/或视频码流转换成另一个音频和/或视频码流,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。目前为了满足大量转码任务的需求,通常结合云计算技术在大规模服务器集群上批量执行音视频转码任务。目前在执行大量转码任务时,通常会预估当前转码任务需要的时间,用来合理调度分配不同的任务。
目前常见的时长预估方法是基于当前任务的转码进度估算总时长。但实际上,视频不同区间的转码速度并不一致,因此转码总时长和当前的转码进度并不是线性相关。在进行云转码时,需要轮训式地获取任务当前转码进度,获取进度本身会占用一定量的计算资源,并且由于网络传输等原因不一定能实时获取到当前任务的转码进度。另外,基于转码进度预估时长的方法并不能在任务被调度前获取到转码时长,无法为任务的调度提供判断依据。
另一种常见的时长预估方法是基于历史经验估计当前转码任务的耗时。这种方式在样本数有限且变化较少时有一定的准确性,但实际转码过程中,源音视频的数据多样性远超作为参考的历史数据,源音视频及目标音视频参数的变化、转码硬件资源的变动都会增大估算的偏差。
因此,如何提供一种更加准确的转码任务的时长预估方案,成为领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种快速、准确地估算音视频转码任务的处理时长的技术方案,以解决现有技术中存在的上述问题,为音视频转码任务的分配处理提供依据。
为实现上述目的,本申请提供一种音视频转码任务的时长预估方法,包括:
响应于音视频转码任务请求,获取待转码的源音视频文件;
获取所述源音视频文件的第一音视频参数;
根据所述第一音视频参数确定与所述源音视频文件对应的目标音视频文件的第二音视频参数;
获取执行所述音视频转码任务所需要的资源参数;
将所述第一音视频参数、所述第二音视频参数和所述资源参数输入时长预估模型,以确定将所述源音视频文件转码为所述目标音视频文件的预估时长。
根据本申请提供的时长预估方法,所述音视频转码任务请求中包括业务类型,所述根据所述第一音视频参数确定与所述源音视频文件对应的目标音视频文件的第二音视频参数的步骤包括:
根据所述第一音视频参数和所述业务类型确定所述第二音视频参数。
根据本申请提供的时长预估方法,所述根据所述第一音视频参数和业务类型确定与所述源音视频文件对应的目标音视频文件相关的第二音视频参数的步骤包括:
根据业务类型确定第二音视频参数的候选范围;
根据所述第一音视频参数从所述候选范围中确定目标参数。
根据本申请提供的时长预估方法,所述获取执行所述音视频转码任务所需要的资源参数的步骤包括:
基于所述第一音视频参数和/或所述第二音视频参数,确定所述音视频转码任务所需要的资源参数;或者
通过将所述第一音视频参数和所述第二音视频参数输入资源分配模型,以输出所述音视频转码任务所需要的资源参数;
其中所述资源参数包括CPU核数、内存容量或磁盘容量中的至少任一项。
根据本申请提供的时长预估方法,所述时长预估模型通过以下步骤训练得到:
获取样本数据,所述样本数据包括执行历史音视频转码任务时确定的第一历史参数、第二历史参数、历史资源参数和历史执行时长;其中,所述第一历史参数包括所述历史音视频转码任务对应的历史源音视频文件的音视频参数,所述第二历史参数包括所述历史音视频转码任务对应的历史目标音视频文件的音视频参数,所述历史资源参数包括执行所述历史音视频转码任务实际占用的CPU核数、内存容量或磁盘容量中的至少任一项,所述历史执行时长包括执行所述历史音视频转码任务的实际时长;
将所述第一历史参数、所述第二历史参数和所述历史资源参数作为输入数据,将所述历史执行时长作为输出数据训练神经网络模型,基于优化算法确定所述神经网络模型中的转码参数。
根据本申请提供的时长预估方法,所述方法还包括:
将所述当前音视频转码任务中确定的所述第一音视频参数、所述第二音视频参数、所述资源参数和执行所述当前音视频转码任务时实际的执行时长加入所述样本数据中;
当满足触发条件时,根据新加入的所述样本数据训练所述时长预估模型,以重新确定所述时长预估模型中的转码参数。
根据本申请提供的时长预估方法,所述将所述第一音视频参数、所述第二音视频参数和所述资源参数输入时长预估模型,以确定将所述源音视频文件转码为所述目标音视频文件的预估时长的步骤之后,还包括:根据所述资源参数将所述音视频转码任务分配至对应的计算节点;
获取所述音视频转码任务在所述计算节点中的实际处理时长;
当所述实际处理时长大于所述预估时长时,停止执行所述音视频转码任务以释放所述计算节点中的计算资源。
为实现上述目的,本申请还提供一种音视频转码任务的时长预估装置,包括:
请求模块,适用于响应于音视频转码任务请求,获取待转码的源音视频文件;
第一参数模块,适用于获取所述源音视频文件的第一音视频参数;
第二参数模块,适用于根据所述第一音视频参数确定与所述源音视频文件对应的目标音视频文件的第二音视频参数;
资源参数模块,适用于获取执行所述音视频转码任务所需要的资源参数;
时长预估模块,适用于将所述第一音视频参数、所述第二音视频参数和所述资源参数输入时长预估模型,以确定将所述源音视频文件转码为所述目标音视频文件的预估时长。
为实现上述目的,本申请还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
为实现上述目的,本申请还提供计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本申请提供的音视频转码任务的时长预估方法和时长预估装置,与大数据机器学习技术相结合,提供了一种准确预估音视频转码任务处理时长的方案。一方面,本申请通过向训练好的时长预估模型输入源音视频文件的第一音视频参数、目标音视频文件的第二音视频参数以及将源音视频文件转码为目标音视频文件的资源参数,可以输出音视频转码任务对应的预估时长。通过按照确定的预估时长衡量任务执行情况,对于实际执行时长超出预估时长的情况及时停止任务释放计算资源,可以避免不必要的资源浪费,提高任务处理效率。另一方面,本申请将历史执行的音视频转码任务不断加入样本数据库,根据新增的样本数据定期矫正时长预估模型,可以进一步提高时长预估模型的准确性。
附图说明
图1为本申请的音视频转码任务的时长预估方法实施例一的流程图;
图2为本申请实施例一中训练时长预估模型的示意性流程图;
图3为本申请的音视频转码任务的时长预估装置实施例一的程序模块示意图;
图4为本申请实施例一的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供的音视频转码任务的时长预估方法和时长预估装置,与大数据机器学习技术相结合,提供了一种准确预估音视频转码任务处理时长的方案。一方面,本申请通过向训练好的时长预估模型输入源音视频文件的第一音视频参数、目标音视频文件的第二音视频参数以及将源音视频文件转码为目标音视频文件的资源参数,可以输出音视频转码任务对应的预估时长。通过按照确定的预估时长衡量任务执行情况,对于实际执行时长超出预估时长的情况及时停止任务释放计算资源,可以避免不必要的资源浪费,提高任务处理效率。另一方面,本申请将历史执行的音视频转码任务不断加入样本数据库,根据新增的样本数据定期矫正时长预估模型,可以进一步提高时长预估模型的准确性。
实施例一
请参阅图1,本实施例提出一种音视频转码任务的时长预估方法,包括以下步骤:
S100:响应于当前音视频转码任务请求,获取待转码的源音视频文件。
本实施例中的当前音视频转码任务请求,可以是基于用户实时发起的请求,也可以是基于系统自动定时发起的请求。例如,当用户将自己拍摄的音视频文件上传到本申请的视频播放平台中时发起当前音视频转码任务请求,用于将自己拍摄的音视频文件的格式转化为适合本申请的视频播放平台的格式。或者是系统根据预设的定时任务批量处理已存储的与本申请的视频播放平台的格式不同的音视频文件,例如每天零点零分系统自动发起当前音视频转码任务请求。
其中,当前音视频转码任务请求中可以包含待转码的源音视频文件本身,或者是待转码的源音视频文件的存储位置。因此本步骤可以根据当前音视频转码任务请求直接或者间接获取待转码的源音视频文件。
S200:获取所述源音视频文件的第一音视频参数。
可以通过对源音视频文件解码的方式获取第一音视频参数。第一音视频参数用于表征源音视频文件的格式信息,具体的,可以包括与源音视频文件相关的第一播放时长、第一编码格式、第一视频帧率、第一视频分辨率、第一视频码率、第一音频采样率、第一音频位宽或第一音频通道数中的至少任一项。
S300:根据所述第一音视频参数确定与所述源音视频文件对应的目标音视频文件的第二音视频参数。
目标音视频文件指的是将源音视频文件转码之后得到的、符合本申请的视频播放平台的视频文件。第二音视频参数用于表征目标音视频文件的格式信息,具体的,可以包括与目标音视频文件相关的第二编码格式、第二视频帧率、第二视频分辨率、第二视频码率、第二音频采样率、第二音频位宽或第二音频通道数中的至少任一项。
可以理解,第二音视频参数是与本申请的视频播放平台的播放器相适应的,通常不同的播放器对应不同的音视频参数,当然也有一些播放器具有良好的兼容性,可以同时适应多种音视频参数。因此,本申请中的第二音视频参数可以和第一音视频参数相同,也可以和第一音视频参数不同。进一步,可以是第二音视频参数中的个别参数和第一音视频参数中的个别参数不同,也可以第二音视频参数中的所有参数和第一音视频参数中的所有参数均不同。例如第一编码格式为MPEG格式,第二编码格式为H.26X格式;第一视频分辨率为1080P,第二视频分辨率为720P等。
在默认设置的情况下,可以认为业务类型是唯一的,此时可以直接根据第一音视频参数确定第二音视频参数参数。在另外的一些示例中也可以包含不同的业务类型,此时不同的业务类型对应的参数也不相同。在视频播放平台的播放器确定的基础上,本实施例还可以根据第一音视频参数以及不同的业务类型来设置不同的第二音视频参数范围。其中,本申请中的业务类型可以直接包含在音视频转码任务请求中,具体可以包括例如用户投稿音视频业务和平台自制音视频业务。由于用户自己录制音视频时采用的设备型号比较多样,因此用户投稿音视频业务对于最终生成的目标音视频文件的分辨率可能要求较低,例如将第二视频分辨率的候选范围定在360P到1080P之间。另一方面,本申请对于平台自制音视频业务的要求就更高一些,例如将第二视频分辨率的候选范围定在720P到4K之间。这样,在获得业务类型的基础上,就已经确定了第二音视频参数的候选范围。
进一步,本实施例会根据所述第一音视频参数从所述候选范围中确定目标参数。这样做的目的是为了保证第二音视频参数和第一音视频参数之间的差距不会太大,避免第二音视频参数选取过高二造成不必要的资源浪费。例如已知用户投稿的某源音视频文件的第一视频分辨率为360P,对应目标音视频文件的第二视频分辨率的候选范围在360P到1080P之间。这种情况下可以从候选范围中选择与第一视频分辨率最接近的数值作为第二视频分辨率,即选择360P作为第二视频分辨率,这样既可以保证源音视频文件的播放质量不受影响,又可以最大限度节省计算资源,避免资源浪费。
S400:获取执行所述音视频转码任务所需要的资源参数。
本实施例中的资源参数指的是执行音视频转码任务时所需要的计算资源的具体数值。资源参数的内容可以包括CPU核数、内存容量以及磁盘容量。可以理解,CPU核数越多、内存容量越大,处理速度就越快;磁盘容量越大,可以容纳的音视频文件的播放时长就越长。总之,CPU核数、内存容量以及磁盘容量与第一音视频参数和第二音视频参数之间存在一定的对应关系。
本实施例中的资源参数可以基于第一音视频参数和/或第二音视频参数,根据经验函数确定。例如,建立资源参数与第一音视频参数和/或第二音视频参数的线性函数关系,根据该线性函数关系确定资源参数中的具体数值。假设用F表示资源参数,用M表示第一音视频参数,N表示第二音视频参数,可以设置线型函数关系为:F=aM+bN,其中a和b可以是经验参数。对于资源参数F中的不同内容,对应地可以从第一音视频参数M和第二音视频参数N中选取不同的内容。例如在计算内存容量s时,可以根据第一音视频参数M中的第一播放时长t和第二音视频参数N中的第二视频分辨率r来计算:F(s)=at+br。上式中分别从第一音视频参数M和第二音视频参数N中选取了一个参数,当然根据实际需要,还可以从第一音视频参数M和第二音视频参数N中分别选取多个参数,式中的a和b也可以选择不同的经验参数。总之,只要是基于预设的函数关系,根据第一音视频参数M和第二音视频参数N确定资源参数的方法均在本申请的保护范围之内。
另外,本实施例还可以通过将第一音视频参数和第二音视频参数输入资源分配模型的方式,输出执行音视频转码任务所需要的资源参数。本实施例中的资源分配模型,可以是基于机器学习技术,通过对现有的神经网络模型进行训练而得到的。训练好的资源分配模型针对输入的第一因视频参数和第二音视频参数,可以直接输出对应的资源参数。
S500:将所述第一音视频参数、所述第二音视频参数和所述资源参数输入时长预估模型,以确定将所述源音视频文件转码为所述目标音视频文件的预估时长。
本申请进一步基于大数据机器学习技术训练得到时长预估模型。该时长预估模型根据输入的第一音视频参数、第二音视频参数和资源参数,可以直接输出执行该音视频转码任务所需的预估时长。可以理解,对于不同的第一音视频参数和第二音视频参数,利用具备不同资源参数的计算节点执行该转码任务,所需要的处理时长必不相同。本申请基于神经网络模型构造时长预估模型,可以更加合理地体现预估时长与第一音视频参数、第二音视频参数和资源参数之间的非线性关系,使得预估时长更加准确。
S600:根据所述资源参数,将所述视频转码任务分配到满足所述资源参数的硬件节点。
本实施例中的硬件节点可以是大规模服务器集群中的某台计算机。可以理解,不同计算机的资源配置不同,处理音视频转码任务时的效率也各不相同。通过使音视频转码任务所需的资源参数与硬件节点的资源配置相适应,既可以保证音视频转码任务顺利进行,又可以避免资源浪费。
S700:获取所述音视频转码任务在所述计算节点中的实际处理时长。
本实施例中的实际处理时长指的是在已分配的计算节点中执行上述音视频转码任务实际经过的时长。可以理解,时长预估模型输出的预估时长是理想情况下执行音视频转码任务所需的时长。但是在任务的实际执行过程中可能会遇到任务量大、网络质量不好或者计算节点出现故障等难以预料的状况,导致实际处理时长与预估时长不符。因此为了及时掌握任务的执行状况,本步骤需要获取执行音视频转码任务的实际处理时长。
S800:当所述实际处理时长大于所述预估时长时,停止执行所述音视频转码任务以释放所述计算节点中的计算资源。
本实施例将时长预估模型输出的预估时长作为衡量任务是否顺利执行的参考标准。如果音视频转码任务的实际处理时长大于所述预估时长,则很可能在任务执行过程中出现了故障,顺利完成任务的概率较小。这种情况下可以停止当前音视频转码任务以释放计算资源,等待下一次重新执行。
通过上述步骤,本实施例可以准确获得视频转码任务的预估时长,并根据预估时长判断任务处理状态,在需要时及时停止任务释放计算资源,这样既可以保证音视频转码任务的顺利执行,又能够有效避免资源浪费,从而提高音视频转码任务的处理效率和计算资源的利用率。
图2示出了本申请实施例一中训练时长预估模型的示意性流程图。如图2所示,本申请中的时长预估模型通过以下步骤训练得到:
S210:获取样本数据,所述样本数据包括执行历史音视频转码任务时确定的第一历史参数、第二历史参数、历史资源参数和历史执行时长。
历史音视频转码任务指的是大规模服务器集群中已完成的音视频转码任务。对于历史音视频转码任务,可以直接获得其在执行过程中的各个实际参数值。其中,第一历史参数包括所述历史音视频转码任务对应的历史源音视频文件的音视频参数,例如播放时长、编码格式、视频帧率、视频分辨率、视频码率、音频采样率、音频位宽或音频通道数中的至少任一项,第二历史参数包括所述历史音视频转码任务对应的历史目标音视频文件的音视频参数,例如播放时长、编码格式、视频帧率、视频分辨率、视频码率、音频采样率、音频位宽或音频通道数中的至少任一项,历史资源参数包括执行所述历史音视频转码任务实际占用的CPU核数、内存容量或磁盘容量中的至少任一项,历史执行时长包括执行历史音视频转码任务的实际时长。
S220:将所述第一历史参数、所述第二历史参数和所述历史资源参数作为输入数据,将所述历史执行时长作为输出数据训练神经网络模型,基于优化算法确定所述神经网络模型中的转码参数。
本实施例中的神经网络模型可以是现有的任意模型,例如径向基神经网络模型、支撑矢量机模型、小波神经网络模型等,本申请对此不做限制。时长预估模型在训练过程中,将第一历史参数、第二历史参数和历史资源参数作为输入数据,将历史执行时长作为输出数据。可以通过反向传播算法或梯度下降算法等优化算法调整神经网络模型中的转码参数,以使神经网络模型在训练数据集上的损失函数达到较小值。上述转码参数可以是神经网络模型中每个神经元对应的权重值。
通过上述步骤,可以得到比较准确的时长预估模型。该时长预估模型根据输入的与源音视频文件对应的第一音视频参数、与目标音视频文件对应的第二音视频参数以及将源音视频参数转码为目标音视频参数所占用的资源参数,可以直接输出完成该音视频转码任务所需的总时长,从而为转码任务的合理分配调度提供数据支撑。
随着处理的转码任务不断增多,本申请会不断根据执行完成的音视频转码任务增加样本数据,例如将上述当前音视频转码任务确定的所述第一音视频参数、所述第二音视频参数、执行所述当前音视频转码任务时实际占用的资源参数以及执行所述当前音视频转码任务的实际处理时长加入所述样本数据中。当满足触发条件时,根据新加入的所述样本数据训练所述时长预估模型,以重新确定所述时长预估模型中的转码参数。该触发条件可以以时间为基准或者以任务量为基准,例如每隔两个月触发一次训练,或者每当新增音视频转码任务达到两百万条触发一次训练。
请继续参阅图3,示出了一种音视频转码任务的时长预估装置,在本实施例中,音视频转码任务的时长预估装置30可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请,并可实现上述音视频转码任务的时长预估方法。本申请所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述音视频转码任务的时长预估装置30在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
请求模块31,适用于响应于音视频转码任务请求,获取待转码的源音视频文件;
第一参数模块32,适用于获取所述源音视频文件的第一音视频参数;
第二参数模块33,适用于根据所述第一音视频参数确定与所述源音视频文件对应的目标音视频文件的第二音视频参数;
资源参数模块34,适用于获取执行所述音视频转码任务所需要的资源参数;
时长预估模块35,适用于将所述第一音视频参数、所述第二音视频参数和所述资源参数输入时长预估模型,以确定将所述源音视频文件转码为所述目标音视频文件的预估时长。
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备40至少包括但不限于:可通过系统总线相互通信连接的存储器41、处理器42,如图4所示。需要指出的是,图4仅示出了具有组件41-42的计算机设备40,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器41(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器41可以是计算机设备40的内部存储单元,例如该计算机设备40的硬盘或内存。在另一些实施例中,存储器41也可以是计算机设备40的外部存储设备,例如该计算机设备40上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器41还可以既包括计算机设备40的内部存储单元也包括其外部存储设备。本实施例中,存储器41通常用于存储安装于计算机设备40的操作系统和各类应用软件,例如实施例一的音视频转码任务的时长预估装置30的程序代码等。此外,存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制计算机设备40的总体操作。本实施例中,处理器42用于运行存储器41中存储的程序代码或者处理数据,例如运行音视频转码任务的时长预估装置40,以实现实施例一的音视频转码任务的时长预估方法。
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储音视频转码任务的转码装置40,被处理器执行时实现实施例一的音视频转码任务的时长预估方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
流程图中或在此以其它方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
本技术领域的普通技术人员可以理解,实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种音视频转码任务的时长预估方法,其特征在于,包括:
响应于音视频转码任务请求,获取待转码的源音视频文件;
获取所述源音视频文件的第一音视频参数;
根据所述第一音视频参数确定与所述源音视频文件对应的目标音视频文件的第二音视频参数;
获取执行所述音视频转码任务所需要的资源参数;
将所述第一音视频参数、所述第二音视频参数和所述资源参数输入时长预估模型,以确定将所述源音视频文件转码为所述目标音视频文件的预估时长。
2.根据权利要求1所述的时长预估方法,其特征在于,所述音视频转码任务请求中包括业务类型,所述根据所述第一音视频参数确定与所述源音视频文件对应的目标音视频文件的第二音视频参数的步骤包括:
根据所述第一音视频参数和所述业务类型确定所述第二音视频参数。
3.根据权利要求2所述的时长预估方法,其特征在于,所述根据所述第一音视频参数和业务类型确定与所述源音视频文件对应的目标音视频文件相关的第二音视频参数的步骤包括:
根据业务类型确定第二音视频参数的候选范围;
根据所述第一音视频参数从所述候选范围中确定目标参数。
4.根据权利要求2所述的时长预估方法,其特征在于,获取执行所述音视频转码任务所需要的资源参数的步骤包括:
基于所述第一音视频参数和/或所述第二音视频参数,确定所述音视频转码任务所需要的资源参数;或者
通过将所述第一音视频参数和所述第二音视频参数输入资源分配模型,以输出所述音视频转码任务所需要的资源参数;
其中所述资源参数包括CPU核数、内存容量或磁盘容量中的至少任一项。
5.根据权利要求4所述的时长预估方法,其特征在于,所述时长预估模型通过以下步骤训练得到:
获取样本数据,所述样本数据包括执行历史音视频转码任务时确定的第一历史参数、第二历史参数、历史资源参数和历史执行时长;其中,所述第一历史参数包括所述历史音视频转码任务对应的历史源音视频文件的音视频参数,所述第二历史参数包括所述历史音视频转码任务对应的历史目标音视频文件的音视频参数,所述历史资源参数包括执行所述历史音视频转码任务实际占用的CPU核数、内存容量或磁盘容量中的至少任一项,所述历史执行时长包括执行所述历史音视频转码任务的实际时长;
将所述第一历史参数、所述第二历史参数和所述历史资源参数作为输入数据,将所述历史执行时长作为输出数据训练神经网络模型,基于优化算法确定所述神经网络模型中的转码参数。
6.根据权利要求5所述的时长预估方法,其特征在于,所述方法还包括:
将所述当前音视频转码任务中确定的所述第一音视频参数、所述第二音视频参数、所述资源参数和执行所述当前音视频转码任务时实际的执行时长加入所述样本数据中;
当满足触发条件时,根据新加入的所述样本数据训练所述时长预估模型,以重新确定所述时长预估模型中的权重参数。
7.根据权利要求5所述的时长预估方法,其特征在于,所述将所述第一音视频参数、所述第二音视频参数和所述资源参数输入时长预估模型,以确定将所述源音视频文件转码为所述目标音视频文件的预估时长的步骤之后,还包括:根据所述资源参数将所述音视频转码任务分配至对应的计算节点;
获取所述音视频转码任务在所述计算节点中的实际处理时长;
当所述实际处理时长大于所述预估时长时,停止执行所述音视频转码任务以释放所述计算节点中的计算资源。
8.一种音视频转码任务的时长预估装置,其特征在于,包括:
请求模块,适用于响应于音视频转码任务请求,获取待转码的源音视频文件;
第一参数模块,适用于获取所述源音视频文件的第一音视频参数;
第二参数模块,适用于根据所述第一音视频参数确定与所述源音视频文件对应的目标音视频文件的第二音视频参数;
资源参数模块,适用于获取执行所述音视频转码任务所需要的资源参数;
时长预估模块,适用于将所述第一音视频参数、所述第二音视频参数和所述资源参数输入时长预估模型,以确定将所述源音视频文件转码为所述目标音视频文件的预估时长。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
CN202010902267.5A 2020-09-01 2020-09-01 音视频转码任务的时长预估方法和时长预估装置 Pending CN112416568A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010902267.5A CN112416568A (zh) 2020-09-01 2020-09-01 音视频转码任务的时长预估方法和时长预估装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010902267.5A CN112416568A (zh) 2020-09-01 2020-09-01 音视频转码任务的时长预估方法和时长预估装置

Publications (1)

Publication Number Publication Date
CN112416568A true CN112416568A (zh) 2021-02-26

Family

ID=74855036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010902267.5A Pending CN112416568A (zh) 2020-09-01 2020-09-01 音视频转码任务的时长预估方法和时长预估装置

Country Status (1)

Country Link
CN (1) CN112416568A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113360270A (zh) * 2021-06-30 2021-09-07 杭州数梦工场科技有限公司 一种数据清洗任务处理方法及装置
CN114697299A (zh) * 2022-04-21 2022-07-01 湖南快乐阳光互动娱乐传媒有限公司 一种音视频转码优先级确定方法、系统、装置及存储介质
CN114697299B (zh) * 2022-04-21 2024-05-10 湖南快乐阳光互动娱乐传媒有限公司 一种音视频转码优先级确定方法、系统、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102055964A (zh) * 2009-11-11 2011-05-11 腾讯科技(深圳)有限公司 一种多媒体文件转码方法和转码器
CN105306964A (zh) * 2015-10-23 2016-02-03 北京理工大学 一种视频流转码故障快速恢复系统及恢复方法
CN110351571A (zh) * 2019-07-05 2019-10-18 清华大学 基于深度强化学习的直播视频云转码资源分配与调度方法
CN110740348A (zh) * 2018-07-19 2020-01-31 视联动力信息技术股份有限公司 视频转码方法和装置
CN111475298A (zh) * 2020-04-03 2020-07-31 北京字节跳动网络技术有限公司 任务处理方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102055964A (zh) * 2009-11-11 2011-05-11 腾讯科技(深圳)有限公司 一种多媒体文件转码方法和转码器
CN105306964A (zh) * 2015-10-23 2016-02-03 北京理工大学 一种视频流转码故障快速恢复系统及恢复方法
CN110740348A (zh) * 2018-07-19 2020-01-31 视联动力信息技术股份有限公司 视频转码方法和装置
CN110351571A (zh) * 2019-07-05 2019-10-18 清华大学 基于深度强化学习的直播视频云转码资源分配与调度方法
CN111475298A (zh) * 2020-04-03 2020-07-31 北京字节跳动网络技术有限公司 任务处理方法、装置、设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113360270A (zh) * 2021-06-30 2021-09-07 杭州数梦工场科技有限公司 一种数据清洗任务处理方法及装置
CN113360270B (zh) * 2021-06-30 2024-02-27 杭州数梦工场科技有限公司 一种数据清洗任务处理方法及装置
CN114697299A (zh) * 2022-04-21 2022-07-01 湖南快乐阳光互动娱乐传媒有限公司 一种音视频转码优先级确定方法、系统、装置及存储介质
CN114697299B (zh) * 2022-04-21 2024-05-10 湖南快乐阳光互动娱乐传媒有限公司 一种音视频转码优先级确定方法、系统、装置及存储介质

Similar Documents

Publication Publication Date Title
CN112422977A (zh) 音视频转码任务的分配方法和分配装置
US10783002B1 (en) Cost determination of a service call
CN111966289B (zh) 基于Kafka集群的分区优化方法和系统
US11579933B2 (en) Method for establishing system resource prediction and resource management model through multi-layer correlations
WO2017166643A1 (zh) 一种任务资源的量化方法和装置
CN111143039B (zh) 一种虚拟机的调度方法、装置及计算机存储介质
US20180101404A1 (en) Resource and latency estimation-based scheduling
CN103108020A (zh) 服务协作设备、服务协作方法和计算机可读记录介质
CN114490078A (zh) 一种微服务的动态缩扩容方法、装置及设备
CN110096339B (zh) 一种基于系统负载实现的扩缩容配置推荐系统及方法
CN108512817B (zh) 多视频转码调度方法及装置
CN110602207A (zh) 基于离网预测推送信息的方法、装置、服务器和存储介质
CN112416568A (zh) 音视频转码任务的时长预估方法和时长预估装置
US10503548B2 (en) Resource and latency estimation-based scheduling in a distributed computing environment
CN110347546B (zh) 监控任务动态调整方法、装置、介质及电子设备
US11016751B2 (en) Automatic upgrade on total run count data on availability of new software
CN114090201A (zh) 资源调度方法、装置、设备及存储介质
CN111510715B (zh) 视频处理方法、系统、计算机设备及存储介质
CN113392131A (zh) 数据处理方法、装置及计算机设备
CN114253663A (zh) 一种虚拟机资源的调度方法和装置
CN105824809B (zh) 一种etl调度的实现方法及装置
CN113129049B (zh) 用于模型训练和应用的文件配置方法和系统
CN111274230B (zh) 数据迁移的管理方法、装置、设备及存储介质
CN115373841A (zh) 垂直弹性伸缩配置数据的处理方法、装置及计算设备
CN117632438A (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