一种视频转码方法、装置及电子设备与流程

专利2022-06-29  66


本发明涉及视频转码领域,具体而言,涉及一种视频转码方法。



背景技术:

视频转码技术为将视频信号从一种格式转换为另一种格式,在监控系统中有较为广泛的应用。首先,用于传统的监控系统和新兴的监控系统对接时,提供码流转换;其次,还用于将原有监控系统的视频格式转换为对接协议。上级域为新监控系统协议标准的平台,中间域与上级域通过监控系统协议进行对接,要求中间域提供给上级域新的码流类型。但是下级域的码流由于系统较老,无法进行升级支持,所以需要通过转码服务器进行码流转换。而且,移动终端上开展监控也渐渐普及,由于移动终端网络的带宽限制以及移动终端的播放限制,也要求将原有的高分辨率,高码率,标准帧率的视频数据,进行视频转码,转换为适合移动终端网络的码流。基于这两方面的原因,视频转码的需求在现有的监控业务中较为迫切。

目前市面上的视频转码技术为,通过cpu进行解码,进行图像预处理后,再使用gpu进行编码,这样可以最大限度的将系统的资源利用起来。每一路转码任务单独启动一个转码通道来处理,各路转码任务之间互不干扰,每一路转码任务都需要消耗大量的内存,因此整体gpu的性能消耗未达到瓶颈,但是系统资源(内存)等达到瓶颈,从而导致对并发的转码路数带来了限制。



技术实现要素:

本发明实施例的目的在于提供一种视频转码方法,以使视频转码通道复用,解决了并发视频转码路数有限的问题。

为了实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明实施例提出一种视频转码方法,应用于一服务器,包括:获取至少一个待转码任务以及所述待转码任务的第一转码类型;依据所述待转码任务的历史转码时间预估所述待转码任务所需的第一转码时间;获取当前转码任务的第二转码类型以及所述当前转码任务占用的转码通道的通道遗留时间;当所述第一转码类型与所述第二转码类型相同以及所述通道遗留时间大于所述第一转码时间时,则所述待转码任务与所述当前转码任务同时通过所述转码通道进行转码。

第二方面,本发明实施例还提出一种视频转码装置,应用于一服务器,包括:转码任务获取模块;转码时间预估模块;通道遗留时间获取模块;判断模块;转码模块;其中,转码任务获取模块用于获取至少一个待转码任务以及所述待转码任务的第一转码类型,所述转码任务获取模块还用于获取当前转码任务的第二转码类型;转码时间预估模块用于依据所述待转码任务的历史转码时间预估所述待转码任务所需的第一转码时间;通道遗留时间获取模块用于获取所述当前转码任务占用的转码通道的通道遗留时间;判断模块用于判断所述第一转码类型与所述第二转码类型是否相同,所述判断模块,还用于判断所述通道遗留时间是否大于所述第一转码时间;转码模块用于对所述待转码任务以及当前转码任务进行转码。

第三方面,本发明实施例还提出一种电子设备,所述电子设备包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行时上述的视频转码方法的步骤。

本发明实施例所提供的一种视频转码方法,应用于一服务器,包括:获取至少一个待转码任务以及待转码任务的第一转码类型;依据待转码任务的历史转码时间预估待转码任务所需的第一转码时间;获取当前转码任务的第二转码类型以及当前转码任务占用的转码通道的通道遗留时间;当第一转码类型与第二转码类型相同以及通道遗留时间大于第一转码时间时,则待转码任务与当前转码任务同时通过转码通道进行转码。由于当待转码任务与当前转码任务的转码任务相同以及通道遗留时间大于待转码任务的转码时间时,待转码任务与当前转码任务可以同时通过该转码通道进行转码,因此节约了内存资源,有效的避免了并发的转码路数带来的限制。

本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例所提供的一种视频转码方法的应用环境示意图。

图2示出了本发明实施例所提供的转码服务器的视频转码流程图。

图3示出了本发明实施例所提供的一种视频转码方法的转码通道方框示意图。

图4示出了本发明实施例所提供的一种视频转码方法的流程示意图。

图5示出了本发明实施例所提供的另一种视频转码方法的流程图

图6示出了本发明实施例所提供的一种视频转码方法的一种转码通道示意图。

图7示出了本发明实施例所提供的一种视频转码方法的转码通道复用示意图。

图8示出了本发明实施例所提供的种视频转码装置的功能模块图。

图9示出了本发明实施例所提供的电子设备的示意图。

图标:100-转码服务器;200-下级域视频管理服务器;300-中间域视频管理服务器;400-上级域视频管理服务器;500-移动终端;12-当前转码转码任务所占用的转码通道;14-通道遗留时间;10-转码通道;631-获取模块;632-计算模块;633-判断模块;634-处理模块;600-电子设备;610-处理器;620-存储器;630-视频转码装置;640-总线。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

请参照图1,为本发明实施例所提供的一种视频转码方法的应用环境示意图。其中包括:下级域视频管理服务器200、中间域视频管理服务器300、上级域视频管理服务器400、转码服务器100(transcodeserver,ts)以及移动终端500,其中下级域视频管理服务器200、中间域视频管理服务器300以及上级域视频管理服务器400依次通信连接,转码服务器100与下级域视频管理服务器200、中间域视频管理服务器300、上级域视频管理服务器400以及移动终端500均通信连接。

下级域视频管理服务器用于管理下级域监控系统的所有视频数据,以及还用于将该视频数据直接发送至中间域视频管理服务器或者转码服务器。

中间域视频管理服务器用于管理中间域监控系统的所有视频数据,以及还用于将该视频数据直接发送至上级域视频管理服务器或者转码服务器。

上级域视频管理服务器用于管理上级域监控系统的所有视频数据,以及还用于接收来自转码服务器或者中间域视频管理服务器发送的视频数据。

转码服务器用于接收来自下级域视频管理服务器或者中间域视频管理服务器的视频数据,并将该视频数据进行转码,请参照图2,为本发明实施例所提供的转码服务器的视频转码流程图。该视频转码的步骤包括收包、解码、抽帧、分辨率、编码以及发包六个步骤,收包即接收来自下级域视频管理服务器或者中间域视频管理服务器的视频数据包,解码即对该视频数据包进行解码,抽帧即对视频中需要转码的帧筛选出来进行图像处理,分辨率即对抽帧步骤中筛选出来的视频帧的分辨率进行转换,编码即对转换分辨率后的视频数据重新进行编码。最后将转码完成后的视频数据下发至上级域视频管理服务器或者移动终端。

需要说明的是,视频转码即改变视频的码流参数,该码流参数包括帧率、码率以及分辨率。

在一种可能的实施例中,例如针对转码后的视频将要发送至移动终端的情况,视频流的帧率、分辨率等不需要达到原有的程度。例如原有的视频的分辨率为720*576,25帧/秒,而在移动终端查看时,仅需要352*288的分辨率,10帧/秒即可,也即转码服务器改变视频原来的分辨率以及帧率。

移动终端用于接收来自转码服务器转码后的视频数据。

需要说明的是,在图1中,转码服务器与终端之间以及服务器与服务器之间建立的网络,其还包括构建该网络所必需的其他的节点,例如,网络接入设备、基站、网关等,图中不进行一一介绍,可以想见的是,本领域技术人员可以在不作出任何创造性劳动的条件下,将本发明实施例提供的技术方案适用于其他的架构中,以期实现本发明实施例公开的技术方案相同或类似的技术效果。

请参照图3,为本发明实施例所提供的一种视频转码方法的转码通道方框示意图。chl1为第一个转码通道,chl2为第二个转码通道,以此类推,chln为第n个转码通道。每一个转码通道都包括cpu解码模块、图像处理模块以及gpu编码模块,cpu解码模块用于对接收到的视频图像进行解码,图像处理模块用于处理cpu解码出来的图像,比如改变原视频的分辨率大小等,gpu编码模块用于对图像处理模块处理后的图像进行压缩、编码等操作。

需要说明的是,转码通道的数量由转码服务器的cpu资源、gpu资源以及内存资源共同决定,假设转码服务器的cpu资源为ct,gpu资源为gt,内存资源为mt。每一路转码通道转码最大消耗时,耗费的cpu资源为c1,gpu资源为g1,内存资源为m1,则最大的固定转码通道数量资源为n=min(ct/c1,gt/g1,mt/m1)。对应的转码通道按照chl1,chl2,…chln进行排序。

需要说明的是,转码通道可以是在同一台转码服务器上,也可以处于任意一台集群的转码服务器上,各个转码通道由同一台转码服务器统一管理。

请参照图4,为本发明实施例所提供的一种视频转码方法的流程示意图。方法包括如下步骤:

步骤301,获取至少一个待转码任务及待转码任务的第一转码类型。

步骤302,依据待转码任务的历史转码时间预估待转码任务所需的第一转码时间。

步骤303,获取当前转码任务的第二转码类型以及当前转码任务占用的转码通道的通道遗留时间。

步骤304,当第一转码类型与所述第二转码类型相同以及通道遗留时间大于第一转码时间时,则待转码任务与当前转码任务同时通过转码通道进行转码。

在本实施例中,首先获得待转码任务的第一转码类型以及当前转码任务的第二转码类型,然后依据待转码任务的历史转码时间预估待转码任务所需的第一转码时间,并且预估当前转码任务占用的转码通道的通道遗留时间,当第一转码类型与所述第二转码类型相同以及通道遗留时间大于第一转码时间时,则待转码任务与当前转码任务同时通过转码通道进行转码,从而达到转码通道复用的目的,节省了系统资源。

在图4的基础上,下面给出一种完整方案可能的实现方式,具体请参照图5,为本发明实施例所提供的另一种视频转码方法的流程图。

步骤301,获取至少一个待转码任务以及该待转码任务的第一转码类型。

待转码任务即等待被转码的视频,第一转码类型包括转码前码流参数以及转码后码流参数,码流参数包括帧率、码率以及分辨率。

需要说明的是,获得待转码任务之后,会对该待转码任务进行码流预处理,码流预处理包括依据待转码任务的大小对该待转码任务进行分组,每一组包括完整的帧数,还包括对该待转码任务的当前码流参数以及转码后的码流参数进行记录并保存。

步骤302,依据待转码任务的历史转码时间预估该待转码任务所需的第一转码时间。

第一转码时间为待转码任务转码完成所需要的时间。

首先获得多个与待转码任务的转码类型相同的历史转码任务所需要的转码时间,然后计算出该转码时间的平均值,依据该平均值预估该待转码任务所需要的第一转码时间其中ti为历史转码任务所需要的转码时间,n为历史转码任务的转码次数。

步骤303,获取当前转码任务的第二转码类型以及当前转码任务占用的转码通道的通道遗留时间。

当前转码任务即正在通过转码通道进行转码的转码任务,当前转码任务的转码前码流参数以及转码后码流参数即为第二转码类型,也就是获得当前转码任务的转码前帧率、码率、分辨率以及转码后的帧率、码率、分辨率。

转码通道的通道遗留时间计算公式为其中,t为一个转码通道的可用时间,即转码通道的一个转码周期时长,一般一个转码周期定位为1秒,t由转码服务器决定,为一个已知数;为当前转码任务占用多个转码通道的转码运行时间的平均值,即其中,n为当前转码任务占用的转码通道的个数。

步骤304-1,判断通道遗留时间是否大于第一转码时间。

如果通道遗留时间大于第一转码时间,则执行步骤304-2,否则执行步骤305。

判断通道遗留时间t1是否大于第一转码时间t,如果第一转码类型与第二转码类型相同的同时t1>t,则复用该转码通道。

步骤304-2,判断第一转码类型与第二转码类型是否相同。

判断第一转码类型与第二转码类型是否相同,即判断待转码任务与当前转码任务转码前帧率、码率、分辨率以及转码后的帧率、码率、分辨率是否相同。

需要说明的是,码率的相同不是绝对的,而是相对的,以转码前的码率来说,只要待转码任务与当前转码任务转码前的码率之差在一定的范围内,例如码率之差在1mb-2mb之间,就可以判断待转码任务与当前转码任务转码前的码率为相同的,此处的码率之差1mb-2mb仅为举例说明,具体数值因具体情况而定。但是帧率以及分辨率的相同是绝对的,只有当待转码任务与当前转码任务转码前帧率以及分辨率的数值相同,才能算相同。

需要说明的是,步骤304-1与步骤304-2不分先后顺序,在一种可能的实施例中,也可以先执行步骤304-2,再执行步骤304-1。

步骤304-3,待转码任务与当前转码任务同时通过转码通道进行转码。

当第一转码类型与第二转码类型相同以及通道遗留时间大于第一转码时间时,则待转码任务与当前转码任务同时通过转码通道进行转码,即复用该转码通道。

请结合参照图6及图7,图6为本发明实施例所提供的一种视频转码方法的另一种转码通道示意图,图7为本发明实施例所提供的一种视频转码方法的转码通道复用示意图。

请参照图6,在转码任务1中,t11 t12为转码通道10完整的转码周期时长,t11为当前转码转码任务所占用的转码通道10的时长,即运行时间,t12为当前转码转码任务所占用的转码通道10的空闲时间,即通道遗留时间t12。在转码任务2中,t21 t22为转码通道10完整的转码周期时长,t21为当前转码转码任务所占用的转码通道10的时长,即运行时间,t22为当前转码转码任务所占用的转码通道10的空闲时间,即通道遗留时间t22。在转码任务m中,其原理也是如此,在此不再赘述。其中,转码任务1、转码任务2以及转码任务m并发执行,转码通道10、转码通道10以及转码通道m之间互不干扰。

请参照图7,在原来的转码通道10的通道遗留时间t12中调度了新的转码任务t31,在原来的转码通道10的通道遗留时间t22中调度了新的转码任务t41以及t51。可以看到,在优化调度转码任务后,增加了转码通道10的使用占空比,数量不变的转码通道10能够同时进行更多的转码任务了,达到增加并发转码任务的要求。

步骤305,判断是否有空闲转码通道。

判断是否有空闲转码通道,空闲转码通道即没有进行任何转码任务的转码通道,如果有则执行步骤306,否则执行步骤307。

需要说明的是,并不是当步骤304-1与步骤304-2二者都为否时,才会跳转到步骤305;当步骤304-1与步骤304-2的其中一个为否时也会跳转到步骤305。

步骤306,待转码任务通过空闲转码通道进行转码。

需要说明的是,待转码任务通过空闲转码通道进行转码之前还需要对空闲转码通道进行初始化,初始化包括调用待转码任务转码所需要的线程,做好待转码任务转码所需要的系统资源申请,系统资源包括cpu资源、gpu资源以及内存资源等。

步骤307,待转码任务通过独占转码通道进行转码。

当没有空闲转码通道时,则待转码任务通过使用频率较小的独占转码通道进行转码。

独占转码通道表征第三转码类型的转码任务所独占的转码通道,第三转码类型表征该转码类型的转码任务比较少,不能与其他通道复用,所以只能独占固定的转码通道,因为该转码类型的转码任务比较少,所以该独占转码通道使用频率较小。

需要说明的是,待转码任务通过独占转码通道进行转码之前还需要对独占转码通道进行重置,改变该独占转码通道运行转码的转码类型,将独占转码通道的初始化转码类型重置为第一转码类型,即释放原来的转码任务所需要的系统资源,重新申请待转码任务所需要的系统资源。

步骤308,记录并保存待转码任务的转码完成的转码时间。

待转码任务的转码完成所需要的转码时间,可以使用加权算数平均值来计算。假设一个待转码任务被均分为组k,每一个组占一个转码通道,每组待转码任务转码时长的平均值分别为每组待转码任务出现的频次分别为f1,f2,f3…fk,则该待转码任务转码完成所需要的转码时间的加权平均值为该时间包括转码通道的切换时间。

综上,本发明实施例所提供的一种视频转码方法,应用于一服务器,包括:获取至少一个待转码任务以及待转码任务的第一转码类型;依据待转码任务的历史转码时间预估待转码任务所需的第一转码时间;获取当前转码任务的第二转码类型以及当前转码任务占用的转码通道的通道遗留时间;当第一转码类型与第二转码类型相同以及通道遗留时间大于第一转码时间时,则待转码任务与当前转码任务同时通过转码通道进行转码。由于当待转码任务与当前转码任务的转码任务相同以及通道遗留时间大于待转码任务的转码时间时,待转码任务与当前转码任务可以同时通过该转码通道进行转码,因此节约了内存资源,有效的避免了并发的转码路数带来的限制。

请参照图8,图8为本发明实施例所提供的一种视频转码装置的功能模块图。需要说明的是,本实施例所提供的视频转码装置,其基本原理及产生的技术效果和上述相同,为简要描述,本部分未提及之处,可参考上述中相应内容。

请参照图8,视频转码装置630包括:获取模块631、计算模块632、判断模块633以及处理模块635;获取模块631、计算模块632、判断模块633以及处理模块635依次电连接。

其中,获取模块631用于获取至少一个待转码任务以及所述待转码任务的第一转码类型。

获取模块631还用于获取当前转码任务的第二转码类型以及所述当前转码任务占用的转码通道的通道遗留时间。

可以理解地,在一种可能的实施例中,转码任务获取模块631可用于执行步骤301以及步骤303。

其中,计算模块632用于依据所述待转码任务的历史转码时间预估所述待转码任务所需的第一转码时间。

可以理解地,在一种可能的实施例中,计算模块632可用于执行步骤302。

其中,判断模块633用于判断所述第一转码类型与所述第二转码类型是否相同以及还用于判断所述通道遗留时间是否大于所述第一转码时间。

判断模块633还用于当所述第一转码类型与所述第二转码类型不同或所述通道遗留时间小于等于所述第一转码时间时,判断是否有空闲转码通道。

可以理解地,在一种可能的实施例中,通道遗留时间获取模块可用于执行步骤304-1、步骤304-2以及步骤305。

其中,处理模块634用于当所述第一转码类型与所述第二转码类型相同以及所述通道遗留时间大于所述第一转码时间时,将所述待转码任务与所述当前转码任务同时通过所述转码通道进行转码。

处理模块634还用于当所述第一转码类型与所述第二转码类型不同或所述通道遗留时间小于等于所述第一转码时间,且有空闲转码通道时,将所述待转码任务通过所述空闲转码通道进行转码。

处理模块634还用于当所述第一转码类型与所述第二转码类型不同或所述通道遗留时间小于等于所述第一转码时间,且没有空闲转码通道时,将所述待转码任务通过独占转码通道进行转码,所述独占转码通道表征第三转码类型的转码任务所独占的转码通道。

处理模块634还用于将所述独占转码通道的初始化转码类型重置为所述第一转码类型。

处理模块634还用于记录并保存所述待转码任务的转码完成的转码时间。

可以理解地,在一种可能的实施例中,处理模块634可用于执行步骤304-3、步骤306、步骤307以及步骤308。

本发明实施例还提供了一种电子设备600。请参照图9,图9为本发明实施例所提供的电子设备600的示意图,该电子设备600包含处理器610、存储器620、视频转码装置630以及总线640。

该处理器610及存储器620可以通过一条或多条总线640进行连接,当电子设备600运行时,所述处理器610与所述存储器620之间通过总线640通信;

该处理器610,用于读/写存储器620中存储的数据或程序,执行相应地功能。

该存储器620,用于存储的数据或程序,即存储有所述处理器610可执行的机器可读指令。

需要说明的是,该电子设备600还可以包含用以实现其他功能的器件,例如,射频电路、电源电路等,该电子设备600可以为:单台服务器或者集群服务器,此处不予限定。

本领域内的技术人员应明白,本发明实施例可提供为方法、装置、设备或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、装置、设备和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的可选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。


技术特征:

1.一种视频转码方法,应用于一服务器,其特征在于,包括:

获取至少一个待转码任务以及所述待转码任务的第一转码类型;

依据所述待转码任务的历史转码时间预估所述待转码任务所需的第一转码时间;

获取当前转码任务的第二转码类型以及所述当前转码任务占用的转码通道的通道遗留时间;

当所述第一转码类型与所述第二转码类型相同以及所述通道遗留时间大于所述第一转码时间时,则所述待转码任务与所述当前转码任务同时通过所述转码通道进行转码。

2.如权利要求1所述的视频转码方法,其特征在于,包括:

当所述第一转码类型与所述第二转码类型不同或所述通道遗留时间小于等于所述第一转码时间时,则判断是否有空闲转码通道;

如果有,则所述待转码任务通过所述空闲转码通道进行转码;

如果没有,则所述待转码任务通过独占转码通道进行转码,所述独占转码通道表征第三转码类型的转码任务所独占的转码通道。

3.如权利要求2所述的视频转码方法,其特征在于,所述待转码任务通过所述独占转码通道进行转码之前的步骤,包括:

将所述独占转码通道的初始化转码类型重置为所述第一转码类型。

4.如权利要求3所述的视频转码方法,其特征在于,还包括:

记录并保存所述待转码任务的转码完成的转码时间。

5.如权利要求1所述的视频转码方法,其特征在于,

所述转码通道的通道遗留时间为

其中,t为所述转码通道的可用时间;为多个所述当前转码任务占用所述转码通道的转码运行时间的平均值,所述的表达式为:

其中,n为所述转码通道的转码次数。

6.一种视频转码装置,应用于一服务器,其特征在于,包括:

获取模块,用于获取至少一个待转码任务以及所述待转码任务的第一转码类型;

计算模块,用于依据所述待转码任务的历史转码时间预估所述待转码任务所需的第一转码时间;

所述获取模块,还用于获取当前转码任务的第二转码类型以及所述当前转码任务占用的转码通道的通道遗留时间;

判断模块,用于判断所述第一转码类型与所述第二转码类型是否相同以及还用于判断所述通道遗留时间是否大于所述第一转码时间;

处理模块,用于当所述第一转码类型与所述第二转码类型相同以及所述通道遗留时间大于所述第一转码时间时,将所述待转码任务与所述当前转码任务同时通过所述转码通道进行转码。

7.如权利要求6所述的视频转码装置,其特征在于,包括:

所述判断模块,还用于当所述第一转码类型与所述第二转码类型不同或所述通道遗留时间小于等于所述第一转码时间时,判断是否有空闲转码通道;

所述处理模块,还用于当所述第一转码类型与所述第二转码类型不同或所述通道遗留时间小于等于所述第一转码时间,且有空闲转码通道时,将所述待转码任务通过所述空闲转码通道进行转码;

所述处理模块,还用于当所述第一转码类型与所述第二转码类型不同或所述通道遗留时间小于等于所述第一转码时间,且没有空闲转码通道时,将所述待转码任务通过独占转码通道进行转码,所述独占转码通道表征第三转码类型的转码任务所独占的转码通道。

8.如权利要求7所述的视频转码装置,其特征在于,包括:

所述处理模块,还用于将所述独占转码通道的初始化转码类型重置为所述第一转码类型。

9.如权利要求7所述的视频转码装置,其特征在于,包括:

所述处理模块,还用于记录并保存所述待转码任务的转码完成的转码时间。

10.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如权利要求1至5任一所述的视频转码方法的步骤。

技术总结
本发明实施例提出一种视频转码方法,涉及视频转码领域,包括:获取至少一个待转码任务以及待转码任务的第一转码类型;依据待转码任务的历史转码时间预估待转码任务所需的第一转码时间;获取当前转码任务的第二转码类型以及转码通道的通道遗留时间;当第一转码类型与第二转码类型相同以及通道遗留时间大于第一转码时间时,则待转码任务与当前转码任务同时通过转码通道进行转码。由于当待转码任务与当前转码任务的转码任务相同以及通道遗留时间大于待转码任务的转码时间时,待转码任务与当前转码任务可以同时通过该转码通道进行转码,因此节约了内存资源,有效的避免了并发的转码路数带来的限制。

技术研发人员:金琦峰
受保护的技术使用者:浙江宇视科技有限公司
技术研发日:2018.11.29
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-53473.html

最新回复(0)