音视频转码方法及装置制造方法及图纸

技术编号:25529165 阅读:52 留言:0更新日期:2020-09-04 17:17
本发明专利技术提供一种音视频转码方法及装置,该方法包括:启动任务管理线程和任务调节线程;任务管理线程:判断是否有新音视频转码任务加入,若有,加入任务,基于当前任务数量和当前流转码任务数量判断是否成功添加,若成功,确定使用CPU或GPU启动任务;任务调节线程:判断当前任务调节线程中是否有任务,若有,在达到任务调整时间时根据当前资源的使用情况确定调节参数;启动转码任务,检测任务是否完成,若完成,设置状态为可回收状态;若未完成,检测任务是否为文件转码任务,若不是,任务正常执行,若是,任务的每帧转码前根据调节参数控制任务的执行速度。该方案既能够有效保证流转码的画面效果又能够充分利用设备性能完成文件转码任务。

【技术实现步骤摘要】
音视频转码方法及装置
本专利技术涉及音视频转码
,特别涉及一种音视频转码方法及装置。
技术介绍
近年来,随着人民法院信息化建设的不断深入,音视频融合共享的需求越来越多,同时各级法院也在纷纷上马建立执行指挥中心,在客观上要求各个系统间的音视频信号能够互联互通。而在这些应用系统中,存在着各种各样的音视频源,这些音视频源可能来自不同的应用,有些来自数字法庭,有些来自视频监控,还有些来自视频会议;即使是相同的应用,也可能来自不同的厂家,这就导致音视频的规格,编码格式等各不相同,由于这些原因导致在法院不同厂家的音视频流格式不统一,不能统一管理播放的问题。
技术实现思路
本专利技术实施例提供了一种音视频转码方法及装置,解决了现有技术中音视频流格式不统一,不能统一管理播放的技术问题。本专利技术实施例提供了一种音视频转码方法,应用于法院的音视频转码场景下,该方法包括:启动音视频转码服务,所述音视频转码服务执行任务管理线程启动和任务调节线程启动;对于任务管理线程启动:判断是否有新音视频转码任务加入,如果有,将新音视频转码任务加入任务管理线程中,在新音视频转码任务加入后,基于当前任务数量和当前流转码任务数量判断新音视频转码任务是否成功添加,如果成功添加,根据CPU和GPU的使用率确定使用CPU或GPU启动新音视频转码任务;对于任务调节线程启动:判断当前任务调节线程中是否有音视频转码任务,如果没有,任务调节线程循环执行,如果有,获取当前资源的使用情况,判断是否达到任务调整时间,若达到,根据当前资源的使用情况确定调节参数;启动音视频转码任务,检测音视频转码任务是否完成,如果完成,设置音视频转码任务状态为可回收状态;如果未完成,检测音视频转码任务是否为文件转码任务,如果不是,音视频转码任务正常执行,如果是,音视频转码任务的每帧转码前根据调节参数控制音视频转码任务的执行速度。本专利技术实施例还提供了一种音视频转码装置,应用于法院的音视频转码场景下,该装置包括:音视频转码服务启动模块,用于启动音视频转码服务,所述音视频转码服务执行任务管理线程启动和任务调节线程启动;对于任务管理线程启动:判断是否有新音视频转码任务加入,如果有,将新音视频转码任务加入任务管理线程中,在新音视频转码任务加入后,基于当前任务数量和当前流转码任务数量判断新音视频转码任务是否成功添加,如果成功添加,根据CPU和GPU的使用率确定使用CPU或GPU启动新音视频转码任务;对于任务调节线程启动:判断当前任务调节线程中是否有音视频转码任务,如果没有,任务调节线程循环执行,如果有,获取当前资源的使用情况,判断是否达到任务调整时间,若达到,根据当前资源的使用情况确定调节参数;音视频转码任务启动模块,用于启动音视频转码任务,检测音视频转码任务是否完成,如果完成,设置音视频转码任务状态为可回收状态;如果未完成,检测音视频转码任务是否为文件转码任务,如果不是,音视频转码任务正常执行,如果是,音视频转码任务的每帧转码前根据调节参数控制音视频转码任务的执行速度。本专利技术实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述方法。本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述所述方法的计算机程序。在本专利技术实施例中,根据设备的性能资源(比如GPU\CPU),在保证流转码效果的基础上,动态的进行任务调度管理,调整文件转码任务的速度,充分的使用设备的计算性能。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种音视频转码方法流程图;图2是本专利技术实施例提供的一种音视频转码装置结构框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在本专利技术实施例中,提供了一种音视频转码方法,该方法应用于法院的音视频转码场景下,如图1所示,该方法包括:启动音视频转码服务,所述音视频转码服务执行任务管理线程启动和任务调节线程启动;对于任务管理线程启动:判断是否有新音视频转码任务加入,如果有,将新音视频转码任务加入任务管理线程中,在新音视频转码任务加入后,基于当前任务数量和当前流转码任务数量判断新音视频转码任务是否成功添加,如果成功添加,根据CPU和GPU的使用率确定使用CPU或GPU启动新音视频转码任务;对于任务调节线程启动:判断当前任务调节线程中是否有音视频转码任务,如果没有,任务调节线程循环执行,如果有,获取当前资源的使用情况,判断是否达到任务调整时间,若达到,根据当前资源的使用情况确定调节参数;启动音视频转码任务(即任务线程),检测音视频转码任务是否完成,如果完成,设置音视频转码任务状态为可回收状态;如果未完成,检测音视频转码任务是否为文件转码任务,如果不是,音视频转码任务正常执行,如果是,音视频转码任务的每帧转码前根据调节参数控制音视频转码任务的执行速度。由图1所示的流程可知,在本专利技术实施例中,对于任务管理线程启动,还包括:如果没有新音视频转码任务加入,判断任务管理线程中是否有原有音视频转码任务需要回收,若有,则回收原有音视频转码任务(即关闭可回收任务,从音视频转码任务中删除可回收的任务),若没有,则判断是否有新音视频转码任务加入。由图1所示的流程可知,在本专利技术实施例中,基于当前任务数量和当前流转码任务数量判断新音视频转码任务是否成功添加,包括:判断当前任务数量是否达到最大任务数量,如果达到,新音视频转码任务添加失败,如果没有达到,判断新音视频转码任务是否为流转码任务,如果是流转码任务,则判断当前流转码任务数量是否达到流转码任务最大数量,如果达到,新音视频转码任务添加失败,如果没有达到,检测CPU和GPU的使用率。根据目前法院业务的特点,文件转码任务较多,对实时性要求不高,设备可以根据最大任务限制,7*24小时运行,完成文件转码任务。在本专利技术实施例中,现在通常的硬件设备都是一个异构平台,既有逻辑计算能力较强的CPU处理器,也有在音视频处理上表现优异的GPU处理器。在一台设备上同时使用CPU设备和GPU设备来完成任务能够最大限度的充分利用设备性能资源。在同一台设备上同时使用CPU和GPU进行音视频转码,对于任务的调用和设备性能的充分使用变的尤为重要。由图1所示的流程可知,根据CPU和GPU的使用率确定使用CPU或G本文档来自技高网...

【技术保护点】
1.一种音视频转码方法,其特征在于,应用于法院的音视频转码场景下,包括:/n启动音视频转码服务,所述音视频转码服务执行任务管理线程启动和任务调节线程启动;/n对于任务管理线程启动:判断是否有新音视频转码任务加入,如果有,将新音视频转码任务加入任务管理线程中,在新音视频转码任务加入后,基于当前任务数量和当前流转码任务数量判断新音视频转码任务是否成功添加,如果成功添加,根据CPU和GPU的使用率确定使用CPU或GPU启动新音视频转码任务;/n对于任务调节线程启动:判断当前任务调节线程中是否有音视频转码任务,如果没有,任务调节线程循环执行,如果有,获取当前资源的使用情况,判断是否达到任务调整时间,若达到,根据当前资源的使用情况确定调节参数;/n启动音视频转码任务,检测音视频转码任务是否完成,如果完成,设置音视频转码任务状态为可回收状态;如果未完成,检测音视频转码任务是否为文件转码任务,如果不是,音视频转码任务正常执行,如果是,音视频转码任务的每帧转码前根据调节参数控制音视频转码任务的执行速度。/n

【技术特征摘要】
1.一种音视频转码方法,其特征在于,应用于法院的音视频转码场景下,包括:
启动音视频转码服务,所述音视频转码服务执行任务管理线程启动和任务调节线程启动;
对于任务管理线程启动:判断是否有新音视频转码任务加入,如果有,将新音视频转码任务加入任务管理线程中,在新音视频转码任务加入后,基于当前任务数量和当前流转码任务数量判断新音视频转码任务是否成功添加,如果成功添加,根据CPU和GPU的使用率确定使用CPU或GPU启动新音视频转码任务;
对于任务调节线程启动:判断当前任务调节线程中是否有音视频转码任务,如果没有,任务调节线程循环执行,如果有,获取当前资源的使用情况,判断是否达到任务调整时间,若达到,根据当前资源的使用情况确定调节参数;
启动音视频转码任务,检测音视频转码任务是否完成,如果完成,设置音视频转码任务状态为可回收状态;如果未完成,检测音视频转码任务是否为文件转码任务,如果不是,音视频转码任务正常执行,如果是,音视频转码任务的每帧转码前根据调节参数控制音视频转码任务的执行速度。


2.如权利要求1所述的音视频转码方法,其特征在于,对于任务管理线程启动,还包括:
如果没有新音视频转码任务加入,判断任务管理线程中是否有原有音视频转码任务需要回收,若有,则回收原有音视频转码任务,若没有,则判断是否有新音视频转码任务加入。


3.如权利要求1所述的音视频转码方法,其特征在于,基于当前任务数量和当前流转码任务数量判断新音视频转码任务是否成功添加,包括:
判断当前任务数量是否达到最大任务数量,如果达到,新音视频转码任务添加失败,如果没有达到,判断新音视频转码任务是否为流转码任务,如果是流转码任务,则判断当前流转码任务数量是否达到流转码任务最大数量,如果达到,新音视频转码任务添加失败,如果没有达到,检测CPU和GPU的使用率。


4.如权利要求1所述的音视频转码方法,其特征在于,根据CPU和GPU的使用率确定使用CPU或GPU启动新音视频转码任务,包括:
如果GPU的使用率低于CPU的使用率,使用GPU启动新音视频转码任务;
如果GPU的使用率高于CPU的使用率,使用CPU启动新音视频转码任务。


5.如权利要求1所述的音视频转码方法,其特征在于,所述当前资源的使用情况包括CPU、GPU、内存、网络和I/O操作的使用情况;
根据当前资源的使用情况确定调节参数,包括:
如果当前资源的使用情况超出限制阈值,按照指定步长减慢文件转码任务;如果当前资...

【专利技术属性】
技术研发人员:马子朋潘梦云单衍景
申请(专利权)人:北京华夏电通科技有限公司
类型:发明
国别省市:北京;11

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

1