一种电子设备中视频文件转码方法及电子设备技术

技术编号:18975296 阅读:42 留言:0更新日期:2018-09-19 04:45
本公开提供了电子设备中视频文件转码方法,包括:按照分割阈值将视频文件分割成至少一个子文件;根据所述电子设备当前运行情况,分配至少一个线程;利用所述至少一个线程对所述至少一个子文件进行转码。本公开能够考虑系统资源实时开销,动态地分配不同数量的线程来完成视频文件转码,从而加快了转码的效率,同时完善了转码与系统开销之间的平衡关系。本公开还提供了一种电子设备。

【技术实现步骤摘要】
一种电子设备中视频文件转码方法及电子设备
本公开提供一种电子设备中视频文件转码方法及电子设备,用于高效地对视频文件进行转码。
技术介绍
视频文件转码是指将视频文件格式进行转换,例如将MPEG格式的视频文件转成MP4格式的视频文件,以便适应播放器的解码需求。通常转码过程会占用大量的CPU资源,这会导致转码的时间长,同时,会增大电子设备的功耗,进而出现系统卡顿等影响用户体验的问题。现有技术中进行视频文件转码一般是通过排队转码,一次转码一个文件,这样就会导致多个文件需要转码的时,转码耗时长,且不能够有效的利用CPU资源来进行转码处理,这对系统资源是一个极大的浪费。
技术实现思路
本公开提供一种电子设备中视频文件转码方法,包括:按照分割阈值将视频文件分割成至少一个子文件;根据所述电子设备当前运行情况,分配至少一个线程;利用所述至少一个线程对所述至少一个子文件进行转码。可选地,根据所述电子设备当前运行情况,分配至少一个线程,包括:获取所述电子设备的处理器的资源开销值cpu、当前内存开销值mem及所述电子设备的温度tmp;计算Num=K/(cpu×mem×tmp),其中,K为所述电子设备的硬件性能参数;对Num进行四舍五入取整,得到需要分配的线程数量。可选地,所述根据所述电子设备当前运行情况,分配至少一个线程,包括:设定一时间阈值,以周期性地根据所述电子设备当前运行情况,分配至少一个线程。可选地,所述根据所述电子设备当前运行情况,分配至少一个线程,包括:获取前一周期执行转码操作的线程数量num1,当前周期所计算出的需要分配的线程数量num2;当num2<num1时,将num1个线程中的num1-num2个线程暂停,否则,保留前一周期所分配的num1个线程,并再分配num2-num1个线程。可选地,在对所述视频文件分割之前,方法还包括:获取视频文件的头部信息,并根据所述头部信息对该视频文件进行校验。本公开另一方面还提供一种电子设备,包括:处理器;存储器,其存储有计算机可执行程序,该程序在被所述处理器执行时,使得所述处理器执行:按照分割阈值将视频文件分割成至少一个子文件;根据所述电子设备当前运行情况,分配至少一个线程;利用所述至少一个线程对所述至少一个子文件进行转码。可选地,所述处理器根据所述电子设备当前运行情况,分配至少一个线程,包括:获取所述电子设备的处理器的资源开销值cpu、当前内存开销值mem及所述电子设备的温度tmp;计算Num=K/(cpu×mem×tmp),其中,K为所述电子设备的硬件性能参数;对Num进行四舍五入取整,得到需要分配的线程数量。可选地,所述处理器根据所述电子设备当前运行情况,分配至少一个线程,包括:设定一时间阈值,以周期性地根据所述电子设备当前运行情况,分配至少一个线程。可选地,所述处理器根据所述电子设备当前运行情况,分配至少一个线程,包括:获取前一周期执行转码操作的线程数量num1,当前周期所计算出的需要分配的线程数量num2;当num2<num1时,将num1个线程中的num1-num2个线程暂停,否则,保留前一周期所分配的num1个线程,并再分配num2-num1个线程。可选地,所述处理器在对所述视频文件分割之前,还执行:获取视频文件的头部信息,并根据所述头部信息对该视频文件进行校验。附图说明图1是本公开实施提供的电子设备中视频文件转码方法的流程图。图2是本公开实施例提供的电子设备中视频文件转码系统的框图。图3示意性示出了根据本公开的另一实施例的电子设备的框图。具体实施方式以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。图1是本公开实施提供的电子设备中视频文件转码方法的流程图。本公开实施例中的电子设备是指任意具有数据处理功能的设备,例如电脑、平板电脑、手机、电视、MP3、MP4、空调、冰箱、洗衣机、微波炉、打印机,传真机、一体机等等。本公开实施例中的视频文件可以包括但不限于MPEG、AVI、wma、rmvb、rm、flash、mp4、mid、3GP等等。如图1所示,方法包括:S0,获取视频文件的头部信息,并根据头部信息确定对该视频文件进行校验。通常情况下,转码操作只能对视频文件进行的,非视频文件一般是无法进行转码操作的。现有技术中校验文件是不是一个视频文件,是通过读取文件名来进行文件类型的判定,这种判定方法并不可靠。例如,可以将一个txt文本文件的后缀名改成avi,通过这种简单的文件重命名的方式就可以通过校验。本实施例的上述操作实质是对文件进行校验,判定文件是否是一个可进行转码的文件。该操作不只是简单地通过文件名来进行校验,通过读取文件的头部信息来对文件的类型进行识别。具体的,本实施例可采用open函数以只读的方式来打开一个文件,读取文件的头部信息,然后从头部信息中筛选出当前文件所述的类型信息,类型信息一般都记录有文件的格式,例如,doc格式的类型信息为208,207,mp3格式的类型信息为73,68,wma格式的类型信息为48,38。接着,将类型信息存储到内存变量type中,然后通过close函数来将刚刚打开的文件进行关闭以便释放文件资源占用。为了对文件的类型进行快速的判定,本实施例定义一个视频文件集合list,在该集合list中存储了当前可以识别的所有类型的视频文件,例如,rm、avi、rmvb、wmv、mp4等。接着,判定type是否在list集合列表中,具体的判定方法是通过调用集合list中的cont本文档来自技高网...

【技术保护点】
1.一种电子设备中视频文件转码方法,包括:按照分割阈值将视频文件分割成至少一个子文件;根据所述电子设备当前运行情况,分配至少一个线程;利用所述至少一个线程对所述至少一个子文件进行转码。

【技术特征摘要】
1.一种电子设备中视频文件转码方法,包括:按照分割阈值将视频文件分割成至少一个子文件;根据所述电子设备当前运行情况,分配至少一个线程;利用所述至少一个线程对所述至少一个子文件进行转码。2.根据权利要求1所述的电子设备中视频文件转码方法,所述根据所述电子设备当前运行情况,分配至少一个线程,包括:获取所述电子设备的处理器的资源开销值cpu、当前内存开销值mem及所述电子设备的温度tmp;计算Num=K/(cpu×mem×tmp),其中,K为所述电子设备的硬件性能参数;对Num进行四舍五入取整,得到需要分配的线程数量。3.根据权利要求2所述的电子设备中视频文件转码方法,所述根据所述电子设备当前运行情况,分配至少一个线程,包括:设定一时间阈值,以周期性地根据所述电子设备当前运行情况,分配至少一个线程。4.根据权利要求3所述的电子设备中视频文件转码方法,所述根据所述电子设备当前运行情况,分配至少一个线程,包括:获取前一周期执行转码操作的线程数量num1,当前周期所计算出的需要分配的线程数量num2;当num2<num1时,将num1个线程中的num1-num2个线程暂停,否则,保留前一周期所分配的num1个线程,并再分配num2-num1个线程。5.根据权利要求1-4任意一项所述的电子设备中视频文件转码方法,在对所述视频文件分割之前,方法还包括:获取视频文件的头部信息,并根据所述头部信息对该视频文件进行校验。6.一种电子...

【专利技术属性】
技术研发人员:张磊张文明陈少杰
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

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

1