转码资源的调度方法、装置、系统、设备和存储介质制造方法及图纸

技术编号:25193610 阅读:28 留言:0更新日期:2020-08-07 21:19
本发明专利技术实施例公开了一种转码资源的调度方法、装置、系统、设备和存储介质,该方法包括:接收源设备的转码请求;响应于转码请求,确定解码任务与编码任务,解码任务用于将原始视频数据解码为中间视频数据、编码任务用于将中间视频数据编码为目标视频数据;根据硬件编码器和/或软件转码器的资源负载状态,分配硬件解码器和/或软件转码器执行编码任务;根据硬件解码器和/或软件转码器的资源负载状态,分配硬件解码器或软件转码器执行解码任务。软件的编解码器件可以根据实际需求生成编码器、解码器进行转码,灵活性相对较高,配合硬件的编解码器件进行转码,能够充分地利用硬件、软件的资源,提高能够承载的实时视频转码能力。

【技术实现步骤摘要】
转码资源的调度方法、装置、系统、设备和存储介质
本专利技术实施例涉及视频转码的技术,尤其涉及一种转码资源的调度方法、装置、系统、设备和存储介质。
技术介绍
在直播、视频会议等网络实时传输视频数据的场景中,由于原始的视频数据进行转码的计算复杂度高,而且,每个用户的网络环境差别较大,不同的网络环境能支持视频数据传输的最大码率是不一样的,因此,为保证视频数据播放满足在大部分网络环境流畅无卡顿,同时有较优的视频质量,通常需要实时将原始的视频数据转码为多种不同画质的视频数据,根据用户的网络环境选择适配码率的视频数据,并传输给用户。为了平衡转码的负载及服务用户的及时性,实时的转码服务通常会根据实际情况发生变化,例如,对于观看用户较少的情况,通常转码数量较少(如一路)的、低画质的视频数据,在观看用户较多的情况下,再新增转码多路高画质或超高画质的视频数据。目前,每台计算设备为了提供实时超高画质视频转码服务,需要采用专用的硬件转码器件,例如,TeslaP4、P6、P40、P100,等等。但是,这些硬件转码器件中的解码器件与编码器件独立工作,使得专用硬件转码器件的解码器件与编码器件负载时常处于不均衡的状态,例如,若需要将多路(超)高画质的视频数据分别转码为低画质的视频数据,则会出现解码器负载较高,编码器的负载较低的问题;若将多路(超)高画质的视频数据分别转码为多路不同画质的视频数据(如一路超低画质的视频数据,一路低画质的视频数据、一路中画质的视频数据,一路高画质的视频数据)时,一次解码输出的画面可进行多次不同画质的编码,使得解码器件负载较低、编码器负载较高。硬件转码器件中的编码器、解码器负载不均衡,存在编码器无法提供编码服务但解码器可提供解码服务的情况,或者,存在解码器无法提供解码服务但编码器可提供编码服务的情况,导致视频数据转发其他计算设备进行转码的情况,使得转码资源使用率较低,存在浪费。
技术实现思路
本专利技术实施例提供一种转码资源的调度方法、装置、系统、设备和存储介质,以解决网络实时传输视频数据时、对视频数据进行转码的资源使用率较低,存在浪费的问题。第一方面,本专利技术实施例提供了一种转码资源的调度方法,包括:接收源设备的转码请求;响应于所述转码请求,确定解码任务与编码任务,所述解码任务用于将原始视频数据解码为中间视频数据、所述编码任务用于将所述中间视频数据编码为目标视频数据;根据硬件编码器和/或软件转码器的资源负载状态,分配所述硬件解码器和/或所述软件转码器执行所述编码任务;根据所述硬件解码器和/或所述软件转码器的资源负载状态,分配所述硬件解码器或所述软件转码器执行所述解码任务。第二方面,本专利技术实施例还提供了一种转码资源的调度装置,包括:转码请求接收模块,用于接收源设备的转码请求;编解码任务确定模块,用于响应于所述转码请求,确定解码任务与编码任务,所述解码任务用于将原始视频数据解码为中间视频数据、所述编码任务用于将所述中间视频数据编码为目标视频数据;编码任务分配模块,用于根据硬件编码器和/或软件转码器的资源负载状态,分配所述硬件解码器和/或所述软件转码器执行所述编码任务;解码任务分配模块,用于根据所述硬件解码器和/或所述软件转码器的资源负载状态,分配所述硬件解码器或所述软件转码器执行所述解码任务。第三方面,本专利技术实施例还提供了一种转码系统,包括转码控制中心、多个转码服务器,所述转码服务器配置有硬件解码器、硬件编码器和软件转码器中的至少一者;所述转码控制中心包括:转码请求接收模块,用于接收源设备的转码请求;编解码任务确定模块,用于响应于所述转码请求,确定解码任务与编码任务;编码任务分配模块,用于根据硬件编码器和/或软件转码器的资源负载状态,分配所述硬件解码器和/或所述软件转码器执行所述编码任务;解码任务分配模块,用于根据所述硬件解码器和/或所述软件转码器的资源负载状态,分配所述硬件解码器或所述软件转码器执行所述解码任务;所述转码服务器包括:原始视频数据接收模块,用于接收源设备发送的原始视频数据;解码模块,用于调用所述硬件解码器或所述软件转码器执行所述解码任务,以将所述原始视频数据解码为中间视频数据;编码模块,用于调用所述硬件解码器和/或所述软件转码器执行所述编码任务,以将所述中间视频数据编码为目标视频数据。第四方面,本专利技术实施例还提供了一种计算机设备,所述计算机设备包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的转码资源的调度方法。第五方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的转码资源的调度方法。在本实施例中,接收源设备的转码请求,响应于转码请求,确定解码任务与编码任务,解码任务用于将原始视频数据解码为中间视频数据、编码任务用于将中间视频数据编码为目标视频数据,根据硬件编码器和/或软件转码器的资源负载状态,分配硬件解码器和/或软件转码器执行编码任务,根据硬件解码器和/或软件转码器的资源负载状态,分配硬件解码器或软件转码器执行解码任务,通过同时提供硬件的编解码器件、软件的编解码器件,一方面,硬件的编解码器件可以实现高画质、超高画质等视频数据的编码,从而保证转码的质量,另一方面,软件的编解码器件可以根据实际需求生成编码器、解码器进行转码,灵活性相对较高,配合硬件的编解码器件进行转码,能够充分地利用硬件、软件的资源,从而提高实时能够承载的视频转码需求。附图说明图1为一种转码流程的示意图;图2为一种转码服务器的结构示意图;图3为本专利技术实施例一提供的一种转码资源的调度方法的流程图;图4为本专利技术实施例二提供的一种转码资源的调度装置的结构示意图;图5为本专利技术实施例三提供的一种转码系统的结构示意图;图6为本专利技术实施例四提供的一种计算机设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。如图1为一种转码流程的示意图。如图1所示,在转码的流程中,涉及的设备包括源设备101、转码控制中心102、多个转码服务器103。其中,源设备101为实时提供待转码的视源数据的设备,其中,该视频数据可以称之为原始视频数据,通常为编码之后的视频数据,编码的格式可以根据实际情况设置,例如,H.264、H.265,等等。在直播的场景中,该源设备101可以为主播用户所登录的设备,如个人电脑、移动终端(如手机、平板电脑等)等,也可以为CDN(ContentDeliveryNetwork,内容分发网络)节本文档来自技高网
...

【技术保护点】
1.一种转码资源的调度方法,其特征在于,包括:/n接收源设备的转码请求;/n响应于所述转码请求,确定解码任务与编码任务,所述解码任务用于将原始视频数据解码为中间视频数据、所述编码任务用于将所述中间视频数据编码为目标视频数据;/n根据硬件编码器和/或软件转码器的资源负载状态,分配所述硬件解码器和/或所述软件转码器执行所述编码任务;/n根据所述硬件解码器和/或所述软件转码器的资源负载状态,分配所述硬件解码器或所述软件转码器执行所述解码任务。/n

【技术特征摘要】
1.一种转码资源的调度方法,其特征在于,包括:
接收源设备的转码请求;
响应于所述转码请求,确定解码任务与编码任务,所述解码任务用于将原始视频数据解码为中间视频数据、所述编码任务用于将所述中间视频数据编码为目标视频数据;
根据硬件编码器和/或软件转码器的资源负载状态,分配所述硬件解码器和/或所述软件转码器执行所述编码任务;
根据所述硬件解码器和/或所述软件转码器的资源负载状态,分配所述硬件解码器或所述软件转码器执行所述解码任务。


2.根据权利要求1所述的方法,其特征在于,所述根据硬件编码器和/或软件转码器的资源负载状态,分配所述硬件解码器和/或所述软件转码器执行所述编码任务,包括:
将所述编码任务拆分为已规定使用硬件编码器的第一编码子任务、已规定使用软件转码器的第二编码子任务、允许使用硬件编码器或软件转码器的第三编码子任务;
将所述第三编码子任务拆分为第四编码子任务、第五编码子任务;
若所述硬件编码器的资源负载状态满足执行所述第一编码子任务与所述第四编码子任务,则分配所述硬件编码器执行所述第一编码子任务与所述第四编码子任务;
若所述软件转码器的资源负载状态满足执行所述第二编码子任务与所述第五编码子任务,则分配所述软件转码器执行所述第二编码子任务与所述第五编码子任务。


3.根据权利要求2所述的方法,其特征在于,所述将所述第三编码子任务拆分为第四编码子任务、第五编码子任务,包括:
按照视频质量对所述第三编码子任务规定编码的目标视频数据进行降序排序;
确定切分位置;
生成第四编码子任务,所述第四编码子任务用于对排序位于所述切分位置之前的目标视频数据进行编码;
生成第五编码子任务,所述第五编码子任务用于对排序位于所述切分位置之后的目标视频数据进行编码。


4.根据权利要求3所述的方法,其特征在于,所述确定切分位置,包括:
将指定的位置设置为初始的切分位置;
若所述硬件编码器的资源负载状态未满足执行所述第一编码子任务与所述第四编码子任务,则向前移动切分位置;
或者,
若所述软件转码器的资源负载状态未满足执行所述第二编码子任务与所述第五编码子任务,则向后移动切分位置。


5.根据权利要求2所述的方法,其特征在于,所述若所述硬件编码器的资源负载状态满足执行所述第一编码子任务与所述第四编码子任务,则分配所述硬件编码器执行所述第一编码子任务与所述第四编码子任务,包括:
查询所述硬件编码器已被占用的资源,作为第一硬件编码资源;
计算所述硬件编码器执行所述第一编码子任务时被占用的资源,作为第二硬件编码资源;
计算所述硬件编码器执行所述第四编码子任务时被占用的资源,作为第三硬件编码资源;
查询所述硬件编码器所有的资源,作为第四硬件编码资源;
若所述第一硬件编码资源、所述第二硬件编码资源与所述第三硬件编码资源之间的和值小于或等于所述第四硬件编码资源,则分配所述硬件编码器执行所述第一编码子任务与所述第四编码子任务。


6.根据权利要求2所述的方法,其特征在于,所述若所述软件转码器的资源负载状态满足执行所述第二编码子任务与所述第五编码子任务,则分配所述软件转码器执行所述第二编码子任务与所述第五编码子任务,包括:
查询所述软件转码器已被占用的资源,作为第一软件转码资源;
计算所述软件转码器执行所述第二编码子任务时被占用的资源,作为第二软件转码资源;
计算所述软件转码器执行所述第五编码子任务时被占用的资源,作为第三软件转码资源;
查询所述软件转码器所有的资源,作为第四软件转码资源;
若所述第一软件转码资源、所述第二软件转码资源与所述第三软件转码资源之间的和值小于或等于所述第四软件转码资源,则分配所述软件转码器执行所述第二编码子任务与所述第五编码子任务。


7.根据权利要求1-6任一项所述的方法,其特征在于,所述根据所述硬件解码器和/或所述软件转码器的资源负载状态,分配所述硬件解码器或所述软件转码器执行所述解码任务,包括:
确定所述解码任务已规定使用硬件解码器;
若所述硬件解码器的资源负载状态满足执行所述解码任务,则分配所述硬件解码器执行所述解码任务。


8.根据权利要求1-6任一项所述的方法,其特征在于,所述根据所述硬件解码器和/或所述软件转码器的资源负载状态,分配所述硬件解码器或所述软件转码器执行所述解码任务,包括:
确定所述解码任务允许使用硬件解码器或软件转码器;
若所述硬件解码器的资源负载状态在执行所述解码任务时为资源充裕状态,则分配所述硬件解码器执行所述解码任务;
若所述软件转码器分配所述编码任务之后的资源负载状态满足执行所述解码任务,则分配所述软件转码器执行所述解码任务;
若所述硬件解码器的资源负载状态满足执行所述解码任务,则分配所述硬件解码器执行所述解码任务。


9.根据权利要求8所述的方法,其特征在于,所述若所述硬件解码器的资源负载状态在...

【专利技术属性】
技术研发人员:徐飞
申请(专利权)人:广州市百果园信息技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1