CN117834966A - 用于播放器的解码器加载方法、装置、设备及存储介质 - Google Patents

用于播放器的解码器加载方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117834966A
CN117834966A CN202211203852.1A CN202211203852A CN117834966A CN 117834966 A CN117834966 A CN 117834966A CN 202211203852 A CN202211203852 A CN 202211203852A CN 117834966 A CN117834966 A CN 117834966A
Authority
CN
China
Prior art keywords
decoder
target
decoding format
format type
candidate
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
CN202211203852.1A
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.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software 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 Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN202211203852.1A priority Critical patent/CN117834966A/zh
Publication of CN117834966A publication Critical patent/CN117834966A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开提出一种用于播放器的解码器加载方法、装置、设备及存储介质,该方法包括确定与播放器的待播放视频对应的目标解码格式类型;获取与目标解码格式类型对应的目标解码器,其中,目标解码器是已初始化的解码器;将目标解码器加载至播放器之中。通过本公开能够有效提升视频的起播速度,提升视频的起播效果。

Description

用于播放器的解码器加载方法、装置、设备及存储介质
技术领域
本公开涉及电子设备技术领域,尤其涉及一种用于播放器的解码器加载方法、装置、设备及存储介质。
背景技术
视频播放器是指能播放以数字信号形式存储的视频或音频文件的软件。
相关技术中,视频播放器从启动到播放视频的过程中,通常会加载并初始化解码器,解码器(decoder),是一种能将数字视音频数据流解码还原成模拟视音频信号的硬件/软件设备,该解码器可以用于对视频数据包进行解码并输出。
这种方式下,由于解码器在启动时需要做硬件初始化,耗时一般较长,会对视频的起播速度有较大的影响,导致视频的起播效果不佳。
发明内容
本公开旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本公开的一个目的在于提出一种用于播放器的解码器加载方法、装置、电子设备、存储介质及计算机程序产品,能够有效提升视频的起播速度,提升视频的起播效果。
为达到上述目的,本公开第一方面实施例提出的用于播放器的解码器加载方法,包括:确定与播放器的待播放视频对应的目标解码格式类型;获取与目标解码格式类型对应的目标解码器,其中,目标解码器是已初始化的解码器;将目标解码器加载至播放器之中。
在本公开的一些实施例中,获取与目标解码格式类型对应的目标解码器,包括:
确定解码器池中的多个候选解码器,其中,候选解码器是已初始化的解码器,每个候选解码器对应一个候选解码格式类型;
如果多个候选解码格式类型中存在与目标解码格式类型相同的候选解码格式类型,则将相同的候选解码格式类型所对应候选解码器作为目标解码器。
在本公开的一些实施例中,获取与目标解码格式类型对应的目标解码器,还包括:
如果多个候选解码格式类型中不存在与目标解码格式类型相同的候选解码格式类型,则启动与目标解码格式类型匹配的初始解码器;
对初始解码器进行初始化处理,并将初始化后的解码器作为目标解码器。
在本公开的一些实施例中,在对初始解码器进行初始化处理,并将初始化后的解码器作为目标解码器之后,还包括:
对初始化后的解码器和目标解码格式类型进行关联;
将关联所得初始化后的解码器和目标解码格式类型添加至解码器池中。
在本公开的一些实施例中,方法还包括:
确定多个初始解码格式类型;
如果初始解码格式类型满足预设条件,则将初始解码格式类型作为候选解码格式类型;
根据候选解码格式类型,以及与候选解码格式类型对应的候选解码器构建解码器池。
在本公开的一些实施例中,每种初始解码格式类型具有对应的使用频次;方法还包括:
如果与初始解码格式类型对应的使用频次大于或等于频次阈值,则确定初始解码格式类型满足预设条件。
在本公开的一些实施例中,方法还包括:
基于加载目标解码器的播放器对待播放视频进行播放;
如果检测待播放视频播放完成,则释放目标解码器的解码资源,其中,解码资源是目标解码器在对待播放视频的数据包进行解码识别时所使用的资源。
在本公开的一些实施例中,方法还包括:
将目标解码器重新添加至解码器池中。
本公开第一方面实施例提出的用于播放器的解码器加载方法,通过确定与播放器的待播放视频对应的目标解码格式类型,并获取与目标解码格式类型对应的目标解码器,其中,目标解码器是已初始化的解码器,以及将目标解码器加载至播放器之中,能够有效提升视频的起播速度,提升视频的起播效果。
为达到上述目的,本公开第二方面实施例提出的用于播放器的解码器加载装置,包括:确定模块,用于确定与播放器的待播放视频对应的目标解码格式类型;获取模块,用于获取与目标解码格式类型对应的目标解码器,其中,目标解码器是已初始化的解码器;加载模块,用于将目标解码器加载至播放器之中。
在本公开的一些实施例中,获取模块,具体用于:
确定解码器池中的多个候选解码器,其中,候选解码器是已初始化的解码器,每个候选解码器对应一个候选解码格式类型;
如果多个候选解码格式类型中存在与目标解码格式类型相同的候选解码格式类型,则将相同的候选解码格式类型所对应候选解码器作为目标解码器。
在本公开的一些实施例中,获取模块,具体用于:
如果多个候选解码格式类型中不存在与目标解码格式类型相同的候选解码格式类型,则启动与目标解码格式类型匹配的初始解码器;
对初始解码器进行初始化处理,并将初始化后的解码器作为目标解码器。
在本公开的一些实施例中,装置还包括:
关联模块,用于在对初始解码器进行初始化处理,并将初始化后的解码器作为目标解码器之后,对初始化后的解码器和目标解码格式类型进行关联;
第一添加模块,用于将关联所得初始化后的解码器和目标解码格式类型添加至解码器池中。
在本公开的一些实施例中,装置还包括:
构建模块,用于确定多个初始解码格式类型,并在初始解码格式类型满足预设条件时,将初始解码格式类型作为候选解码格式类型,以及根据候选解码格式类型,以及与候选解码格式类型对应的候选解码器构建解码器池。
在本公开的一些实施例中,每种初始解码格式类型具有对应的使用频次;其中,构建模块,还用于:
如果与初始解码格式类型对应的使用频次大于或等于频次阈值,则确定初始解码格式类型满足预设条件。
在本公开的一些实施例中,装置还包括:
处理模块,用于基于加载目标解码器的播放器对待播放视频进行播放;
释放模块,用于在检测待播放视频播放完成时,释放目标解码器的解码资源,其中,解码资源是目标解码器在对待播放视频的数据包进行解码识别时所使用的资源。
在本公开的一些实施例中,装置还包括:
第二添加模块,用于将目标解码器重新添加至解码器池中。
本公开第二方面实施例提出的用于播放器的解码器加载装置,通过确定与播放器的待播放视频对应的目标解码格式类型,并获取与目标解码格式类型对应的目标解码器,其中,目标解码器是已初始化的解码器,以及将目标解码器加载至播放器之中,能够有效提升视频的起播速度,提升视频的起播效果。
本公开第三方面实施例提出的电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如本公开第一方面实施例提出的用于播放器的解码器加载方法。
本公开第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开第一方面实施例提出的用于播放器的解码器加载方法。
本公开第五方面实施例提出了一种计算机程序产品,当计算机程序产品中的指令由处理器执行时,执行如本公开第一方面实施例提出的用于播放器的解码器加载方法。
本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本公开一实施例提出的用于播放器的解码器加载方法的流程示意图;
图2是本公开另一实施例提出的用于播放器的解码器加载方法的流程示意图;
图3是本公开另一实施例提出的用于播放器的解码器加载方法的流程示意图;
图4是本公开一实施例提出的用于播放器的解码器加载装置的结构示意图;
图5是本公开另一实施例提出的用于播放器的解码器加载装置的结构示意图;
图6示出了适于用来实现本公开实施方式的示例性电子设备的框图。
具体实施方式
下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本公开,而不能理解为对本公开的限制。相反,本公开的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在本公开的描述中,术语“多个”指两个或两个以上。
在本公开的描述中,术语“待播放视频”指当前待由播放器对其进行播放的视频。
在本公开的描述中,术语“目标解码格式类型”指对待播放视频的视频数据包进行解码处理得到的解码格式类型。
在本公开的描述中,术语“目标解码器”指与目标解码格式类型适配的解码器。
在本公开的描述中,术语“候选解码器”指已经启动并且初始化的若干个解码器。
在本公开的描述中,术语“候选解码格式类型”指每种候选解码器对应支持解码的解码格式类型。
在本公开的描述中,术语“使用频次”指相应初始解码格式类型被解析使用的频次。
在本公开的描述中,术语“初始解码器”指与目标解码格式类型相匹配的而未经初始化的解码器。
在本公开的描述中,术语“初始解码格式类型”指任意一种解码格式类型。
在本公开的描述中,术语“解码资源”指解码器在对待播放视频的数据包进行解码识别时所使用的资源。
图1是本公开一实施例提出的用于播放器的解码器加载方法的流程示意图。
本实施例以用于播放器的解码器加载方法被配置为用于播放器的解码器加载装置中来举例说明,本实施例中用于播放器的解码器加载方法可以被配置在用于播放器的解码器加载装置中,用于播放器的解码器加载装置可以设置在服务器中,或者也可以设置在电子设备中,本公开实施例对此不作限制。
本实施例以用于播放器的解码器加载方法被配置在电子设备中为例。其中,电子设备例如智能手机、平板电脑、个人数字助理、电子书等具有各种操作系统的硬件设备。
需要说明的是,本公开实施例的执行主体,在硬件上可以例如为服务器或者电子设备中的中央处理器(Central Processing Unit,CPU),在软件上可以例如为服务器或者电子设备中的相关的后台服务,对此不作限制。
如图1所示,该用于播放器的解码器加载方法,包括:
S101:确定与播放器的待播放视频对应的目标解码格式类型。
其中,当前待由播放器对其进行播放的视频,可以被称为待播放视频。
举例而言,可以从电子设备所接入网络,或者电子设备的本地磁盘文件中读取视频,并将该视频作为待播放视频。
本公开实施例中在获取待播放视频之后,可以对待播放视频的视频数据包进行解码处理,得到视频的封装格式类型和解码格式类型,该解码格式类型可以被用于加载对应的音视频“解码器”(decoder),也即是说,一种解码器可以支持对相应解码格式类型的待播放视频进行播放,本公开实施例中可以将对待播放视频的视频数据包进行解码处理得到的解码格式类型,称为目标解码格式类型,而后可以基于目标解码格式类型加载适配的解码器。
S102:获取与目标解码格式类型对应的目标解码器,其中,目标解码器是已初始化的解码器。
上述在确定与播放器的待播放视频对应的目标解码格式类型之后,可以获取与目标解码格式类型对应的目标解码器。
相关技术中,通常是获取相应的解码器后再启动并初始化解码器,而本公开实施例中是获取已经启动并初始化完毕且与目标解码格式类型相匹配的解码器,作为与目标解码格式类型对应的目标解码器,由于在播放待播放视频的过程中,节约了初始化解码器所需的时间消耗,从而能够有效提升视频的起播速度,提升视频的起播效果。
上述的目标解码器是已初始化的解码器,也即是说,可以预先对若干个解码器进行启动并初始化,而后,在实际播放待播放视频的过程中,直接获取与目标解码格式类型对应已初始化的解码器作为目标解码器,并触发后续的解码器加载的过程。
S103:将目标解码器加载至播放器之中。
上述在获取与目标解码格式类型对应已初始化的解码器作为目标解码器之后,可以将目标解码器加载至播放器之中,而后,基于所加载播放器对视频数据包进行解码并输出,从而实现对待播放视频的播放。
本实施例中,通过确定与播放器的待播放视频对应的目标解码格式类型,并获取与目标解码格式类型对应的目标解码器,其中,目标解码器是已初始化的解码器,以及将目标解码器加载至播放器之中,能够有效提升视频的起播速度,提升视频的起播效果。
图2是本公开另一实施例提出的用于播放器的解码器加载方法的流程示意图。
如图2所示,该用于播放器的解码器加载方法,包括:
S201:确定与播放器的待播放视频对应的目标解码格式类型。
针对S201的描述说明可以具体参见上述实施例,在此不再赘述。
S202:确定解码器池中的多个候选解码器,其中,候选解码器是已初始化的解码器,每个候选解码器对应一个候选解码格式类型。
本公开实施例中支持预先构建一个解码池,该解码池中可以包括已经启动并且初始化的若干个解码器,该解码器可以被称为候选解码器,每种候选解码器可以具有对应的解码格式类型,解码池中每种候选解码器对应支持解码的解码格式类型,可以被称为候选解码格式类型。
本公开实施例中所预先构建的解码器池,可以用于支持在线播放待播放视频时,向播放器提供与待播放视频的目标解码格式类型相适配的候选解码器。
可选地,一些实施例中,可以确定多个初始解码格式类型,并在初始解码格式类型满足预设条件时,将初始解码格式类型作为候选解码格式类型,以及根据候选解码格式类型,以及与候选解码格式类型对应的候选解码器构建解码器池,实现预先构建解码器池,以支持在线播放待播放视频时,向播放器提供与待播放视频的目标解码格式类型相适配的候选解码器(即目标解码器),保证目标解码器的获取效率,进一步提升视频的起播速度。
其中,预设条件,可以是确定初始解码格式类型能够被适用于构建解码器池的门限条件,对此不做限制。
举例而言,可以确定20个初始解码格式类型,并对每个初始解码格式类型被解析使用的情况进行分析,以及基于分析所得结果确定初始解码格式类型是否满足预设条件,比如,分析初始解码格式类型是否被经常使用,如果是,则可以确定该初始解码格式类型满足预设条件,或者,还可以分析初始解码格式类型被解析的复杂度,如果该初始解码格式类型被解析的复杂度较低,也可以确定该初始解码格式类型满足预设条件,当然,还可以基于其他任意可能的方式来设置预设条件,
举例而言,在确定初始解码格式类型能够被适用于构建解码器池,并将初始解码格式类型作为候选解码格式类型后,可以确定与候选解码格式类型对应的候选解码器,并对每个候选解码器进行启动并初始化处理(例如,可以获取一些初始化所需的配置文件、脚本文件等,运行相应的脚本文件以基于配置文件对候选解码器进行初始化),而后将初始化处理所得的候选解码器与候选解码格式类型关联保存至解码器池中。
可选地,一些实施例中,每种初始解码格式类型具有对应的使用频次,在确定初始解码格式类型是否满足预设条件时,还可以在确定与初始解码格式类型对应的使用频次大于或等于频次阈值时,确定初始解码格式类型满足预设条件,实现基于初始解码格式类型是否被经常解析使用的情况,来确定初始解码格式类型是否适用于构建解码器池,如果与初始解码格式类型对应的使用频次大于或等于频次阈值时,表示该初始解码格式类型被解析使用的频次较高,当基于被解析使用的频次较高的初始解码格式类型来构建解码器池时,能够提升成功从解码器池中获取到目标解码器的概率,提升解码器池中候选解码器的覆盖面,提升用于播放器的解码器加载方法的适用范围。
另一些实施例中,还可以从第一数量的初始解码格式类型中选择第二数量的初始解码格式类型作为候选解码格式类型时,比如,可以根据使用频次对第一数量的初始解码格式类型进行排序处理,并从排序所得初始解码格式类型中,确定排序在前的第二数量的初始解码格式类型作为候选解码格式类型。
其中,使用频次可以用于描述相应初始解码格式类型被解析使用的频次,如果使用频次较高,可以表示播放器较大概率会播放相应初始解码格式类型的视频,如果使用频次较低,可以表示播放器较小概率会播放相应初始解码格式类型的视频,对此不做限制。
其中,该使用频次,可以是预先对线上统计数据排名来确定的,比如可以统计线上对多个视频进行播放时,所使用的各种初始解码格式类型的使用信息,并对该使用信息进行量化处理得到使用频次,对此不做限制。
S203:如果多个候选解码格式类型中存在与目标解码格式类型相同的候选解码格式类型,则将相同的候选解码格式类型所对应候选解码器作为目标解码器。
上述在确定与播放器的待播放视频对应的目标解码格式类型,并确定解码器池中的多个候选解码器,其中,候选解码器是已初始化的解码器,每个候选解码器对应一个候选解码格式类型,而后,可以搜索判断多个候选解码格式类型中是否存在与目标解码格式类型相同的候选解码格式类型,在多个候选解码格式类型中存在与目标解码格式类型相同的候选解码格式类型的情况下,可以将相同的候选解码格式类型所对应候选解码器作为目标解码器,而后直接将该目标解码器加载至播放器中。
S204:如果多个候选解码格式类型中不存在与目标解码格式类型相同的候选解码格式类型,则启动与目标解码格式类型匹配的初始解码器。
其中,与目标解码格式类型相匹配的而未经初始化的解码器,可以被称为初始解码器。
上述在多个候选解码格式类型中不存在与目标解码格式类型相同的候选解码格式类型的情况下,可以启动与目标解码格式类型匹配的初始解码器,以此保证待播放视频可以被顺利播放,提升方法的连贯性和完整性。
S205:对初始解码器进行初始化处理,并将初始化后的解码器作为目标解码器。
S206:对初始化后的解码器和目标解码格式类型进行关联。
举例而言,由于初始化后的解码器是对初始解码器进行初始化得到的,而初始解码器是基于目标解码格式类型所确定,从而可以对初始化后的解码器和目标解码格式类型进行关联,例如,可以基于目标解码格式类型对初始化后的解码器进行打标签等,对此不做限制。
S207:将关联所得初始化后的解码器和目标解码格式类型添加至解码器池中。
上述在多个候选解码格式类型中不存在与目标解码格式类型相同的候选解码格式类型的情况下,并启动与目标解码格式类型匹配的初始解码器,还可以对初始解码器进行初始化处理,并将初始化后的解码器作为目标解码器,而后,对初始化后的解码器和目标解码格式类型进行关联,并基于关联所得初始化后的解码器和目标解码格式类型对已经构建的解码器池进行完善补充。
本实施例中,能够有效提升视频的起播速度,提升视频的起播效果。实现预先构建的解码器池,以支持在线播放待播放视频时,向播放器提供与待播放视频的目标解码格式类型相适配的候选解码器(即目标解码器),保证目标解码器的获取效率,进一步提升视频的起播速度。提升成功从解码器池中获取到目标解码器的概率,提升解码器池中候选解码器的覆盖面,提升用于播放器的解码器加载方法的适用范围。在解码器池中多个候选解码格式类型中存在与目标解码格式类型相同的候选解码格式类型的情况下,可以将相同的候选解码格式类型所对应候选解码器作为目标解码器,而后直接将该目标解码器加载至播放器中。在解码器池中多个候选解码格式类型中不存在与目标解码格式类型相同的候选解码格式类型的情况下,可以启动与目标解码格式类型匹配的初始解码器,以此保证待播放视频可以被顺利播放,提升方法的连贯性和完整性。在对初始解码器进行初始化处理,并将初始化后的解码器作为目标解码器,而后,对初始化后的解码器和目标解码格式类型进行关联,并基于关联所得初始化后的解码器和目标解码格式类型对已经构建的解码器池进行完善补充,从而实现对解码器池的动态更新,提升解码器池的使用效果。
图3是本公开另一实施例提出的用于播放器的解码器加载方法的流程示意图。
如图3所示,该用于播放器的解码器加载方法,包括:
S301:确定与播放器的待播放视频对应的目标解码格式类型。
S302:获取与目标解码格式类型对应的目标解码器,其中,目标解码器是已初始化的解码器。
S303:将目标解码器加载至播放器之中。
针对S302的描述说明可以具体参见上述实施例,在此不再赘述。
S304:基于加载目标解码器的播放器对待播放视频进行播放。
本公开实施例中将目标解码器加载至播放器之中,可以理解为将目标解码器插入播放器,该播放器可以使用解码器的解码资源对待播放视频的数据包进行解码识别,以对待播放视频进行播放,即基于加载目标解码器的播放器对待播放视频进行播放时,存在一个解码资源被占用的过程,则本公开实施例中还支持对解码资源进行及时地释放。
S305:如果检测待播放视频播放完成,则释放目标解码器的解码资源,其中,解码资源是目标解码器在对待播放视频的数据包进行解码识别时所使用的资源。
其中,解码资源,是指解码器在对待播放视频的数据包进行解码识别时所使用的资源,比如解码所需运算资源、配置资源等等,对此不做限制。
上述在基于加载目标解码器的播放器对待播放视频进行播放的过程中,还可以动态地检测是否播放完毕待播放视频,如果检测待播放视频播放完成,则释放目标解码器的解码资源,可以实现及时地对目标解码器的解码资源进行释放,以支持目标解码器的复用。
S306:将目标解码器重新添加至解码器池中。
上述在释放目标解码器的解码资源之后,还可以将目标解码器重新添加至解码器池中,从而便于下次播放视频时对目标解码器的复用,提升目标解码器的使用率。
本实施例中,在基于加载目标解码器的播放器对待播放视频进行播放的过程中,由于是获取已经启动并初始化完毕,且与待播放视频的目标解码格式类型相匹配的目标解码器,由于在播放待播放视频的过程中,播放器可以直接加载该目标解码器,而不需要再次对该目标解码器进行启动并初始化处理,从而节约初始化解码器所需的时间消耗,有效提升视频的起播速度,提升视频的起播效果。还可以动态地检测是否播放完毕待播放视频,如果检测待播放视频播放完成,则释放目标解码器的解码资源,可以实现及时地对目标解码器的解码资源进行释放,以支持目标解码器的复用,提升目标解码器的使用率。
图4是本公开一实施例提出的用于播放器的解码器加载装置的结构示意图。
如图4所示,该用于播放器的解码器加载装置40,包括:
确定模块401,用于确定与播放器的待播放视频对应的目标解码格式类型。
获取模块402,用于获取与目标解码格式类型对应的目标解码器,其中,目标解码器是已初始化的解码器。
加载模块403,用于将目标解码器加载至播放器之中。
在本公开的一些实施例中,获取模块402,具体用于:
确定解码器池中的多个候选解码器,其中,候选解码器是已初始化的解码器,每个候选解码器对应一个候选解码格式类型;
如果多个候选解码格式类型中存在与目标解码格式类型相同的候选解码格式类型,则将相同的候选解码格式类型所对应候选解码器作为目标解码器。
在本公开的一些实施例中,获取模块402,具体用于:
如果多个候选解码格式类型中不存在与目标解码格式类型相同的候选解码格式类型,则启动与目标解码格式类型匹配的初始解码器;
对初始解码器进行初始化处理,并将初始化后的解码器作为目标解码器。
在本公开的一些实施例中,如图5所示,图5是本公开另一实施例提出的用于播放器的解码器加载装置的结构示意图,装置40还包括:
关联模块404,用于在对初始解码器进行初始化处理,并将初始化后的解码器作为目标解码器之后,对初始化后的解码器和目标解码格式类型进行关联。
第一添加模块405,用于将关联所得初始化后的解码器和目标解码格式类型添加至解码器池中。
在本公开的一些实施例中,如图5所示,装置40还包括:
构建模块406,用于确定多个初始解码格式类型,并在初始解码格式类型满足预设条件时,将初始解码格式类型作为候选解码格式类型,以及根据候选解码格式类型,以及与候选解码格式类型对应的候选解码器构建解码器池。
在本公开的一些实施例中,每种初始解码格式类型具有对应的使用频次;
如图5所示,其中,构建模块406,还用于:
如果与初始解码格式类型对应的使用频次大于或等于频次阈值,则确定初始解码格式类型满足预设条件。
在本公开的一些实施例中,如图5所示,装置40还包括:
处理模块407,用于基于加载目标解码器的播放器对待播放视频进行播放;
释放模块408,用于在检测待播放视频播放完成时,释放目标解码器的解码资源,其中,解码资源是目标解码器在对待播放视频的数据包进行解码识别时所使用的资源。
在本公开的一些实施例中,如图5所示,装置40还包括:
第二添加模块409,用于将目标解码器重新添加至解码器池中。
需要说明的是,前述对用于播放器的解码器加载方法的解释说明也适用于本实施例的用于播放器的解码器加载装置,此处不再赘述。
本实施例中,通过确定与播放器的待播放视频对应的目标解码格式类型,并获取与目标解码格式类型对应的目标解码器,其中,目标解码器是已初始化的解码器,以及将目标解码器加载至播放器之中,能够有效提升视频的起播速度,提升视频的起播效果。
图6示出了适于用来实现本公开实施方式的示例性电子设备的框图。图6显示的电子设备12仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
电子设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。电子设备12可以进一步包括其他可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。
尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read OnlyMemory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本公开所描述的实施例中的功能和/或方法。
电子设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得人体能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子设备12的其他模块通信。应当明白,尽管图中未示出,可以结合电子设备12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及用于播放器的解码器加载方法,例如实现前述实施例中提及的用于播放器的解码器加载方法。
为了实现上述实施例,本公开还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开前述实施例提出的用于播放器的解码器加载方法。
为了实现上述实施例,本公开还提出一种计算机程序产品,当计算机程序产品中的指令处理器执行时,执行如本公开前述实施例提出的用于播放器的解码器加载方法。
需要说明的是,在本公开的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本公开的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (19)

1.一种用于播放器的解码器加载方法,其特征在于,包括:
确定与所述播放器的待播放视频对应的目标解码格式类型;
获取与所述目标解码格式类型对应的目标解码器,其中,所述目标解码器是已初始化的解码器;
将所述目标解码器加载至所述播放器之中。
2.如权利要求1所述的方法,其特征在于,所述获取与所述目标解码格式类型对应的目标解码器,包括:
确定解码器池中的多个候选解码器,其中,所述候选解码器是已初始化的解码器,每个所述候选解码器对应一个候选解码格式类型;
如果多个所述候选解码格式类型中存在与所述目标解码格式类型相同的候选解码格式类型,则将所述相同的候选解码格式类型所对应候选解码器作为所述目标解码器。
3.如权利要求2所述的方法,其特征在于,所述获取与所述目标解码格式类型对应的目标解码器,还包括:
如果多个所述候选解码格式类型中不存在与所述目标解码格式类型相同的候选解码格式类型,则启动与所述目标解码格式类型匹配的初始解码器;
对所述初始解码器进行初始化处理,并将初始化后的解码器作为所述目标解码器。
4.如权利要求3所述的方法,其特征在于,在所述对所述初始解码器进行初始化处理,并将初始化后的解码器作为所述目标解码器之后,还包括:
对所述初始化后的解码器和所述目标解码格式类型进行关联;
将关联所得所述初始化后的解码器和所述目标解码格式类型添加至所述解码器池中。
5.如权利要求2所述的方法,其特征在于,所述方法还包括:
确定多个初始解码格式类型;
如果所述初始解码格式类型满足预设条件,则将所述初始解码格式类型作为所述候选解码格式类型;
根据所述候选解码格式类型,以及与所述候选解码格式类型对应的候选解码器构建所述解码器池。
6.如权利要求5所述的方法,其特征在于,每种所述初始解码格式类型具有对应的使用频次;所述方法还包括:
如果与所述初始解码格式类型对应的使用频次大于或等于频次阈值,则确定所述初始解码格式类型满足所述预设条件。
7.如权利要求2-6任一项所述的方法,其特征在于,所述方法还包括:
基于加载所述目标解码器的所述播放器对所述待播放视频进行播放;
如果检测所述待播放视频播放完成,则释放所述目标解码器的解码资源,其中,所述解码资源是所述目标解码器在对所述待播放视频的数据包进行解码识别时所使用的资源。
8.如权利要求7所述的方法,其特征在于,所述方法还包括:
将所述目标解码器重新添加至所述解码器池中。
9.一种用于播放器的解码器加载装置,其特征在于,包括:
确定模块,用于确定与所述播放器的待播放视频对应的目标解码格式类型;
获取模块,用于获取与所述目标解码格式类型对应的目标解码器,其中,所述目标解码器是已初始化的解码器;
加载模块,用于将所述目标解码器加载至所述播放器之中。
10.如权利要求9所述的装置,其特征在于,所述获取模块,具体用于:
确定解码器池中的多个候选解码器,其中,所述候选解码器是已初始化的解码器,每个所述候选解码器对应一个候选解码格式类型;
如果多个所述候选解码格式类型中存在与所述目标解码格式类型相同的候选解码格式类型,则将所述相同的候选解码格式类型所对应候选解码器作为所述目标解码器。
11.如权利要求10所述的装置,其特征在于,所述获取模块,具体用于:
如果多个所述候选解码格式类型中不存在与所述目标解码格式类型相同的候选解码格式类型,则启动与所述目标解码格式类型匹配的初始解码器;
对所述初始解码器进行初始化处理,并将初始化后的解码器作为所述目标解码器。
12.如权利要求11所述的装置,其特征在于,所述装置还包括:
关联模块,用于在所述对所述初始解码器进行初始化处理,并将初始化后的解码器作为所述目标解码器之后,对所述初始化后的解码器和所述目标解码格式类型进行关联;
第一添加模块,用于将关联所得所述初始化后的解码器和所述目标解码格式类型添加至所述解码器池中。
13.如权利要求10所述的装置,其特征在于,所述装置还包括:
构建模块,用于确定多个初始解码格式类型,并在所述初始解码格式类型满足预设条件时,将所述初始解码格式类型作为所述候选解码格式类型,以及根据所述候选解码格式类型,以及与所述候选解码格式类型对应的候选解码器构建所述解码器池。
14.如权利要求13所述的装置,其特征在于,每种所述初始解码格式类型具有对应的使用频次;其中,所述构建模块,还用于:
如果与所述初始解码格式类型对应的使用频次大于或等于频次阈值,则确定所述初始解码格式类型满足所述预设条件。
15.如权利要求10-14任一项所述的装置,其特征在于,所述装置还包括:
处理模块,用于基于加载所述目标解码器的所述播放器对所述待播放视频进行播放;
释放模块,用于在检测所述待播放视频播放完成时,释放所述目标解码器的解码资源,其中,所述解码资源是所述目标解码器在对所述待播放视频的数据包进行解码识别时所使用的资源。
16.如权利要求15所述的装置,其特征在于,所述装置还包括:
第二添加模块,用于将所述目标解码器重新添加至所述解码器池中。
17.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,其中,所述计算机指令用于使所述计算机执行权利要求1-8中任一项所述的方法。
19.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-8中任一项所述方法的步骤。
CN202211203852.1A 2022-09-29 2022-09-29 用于播放器的解码器加载方法、装置、设备及存储介质 Pending CN117834966A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211203852.1A CN117834966A (zh) 2022-09-29 2022-09-29 用于播放器的解码器加载方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211203852.1A CN117834966A (zh) 2022-09-29 2022-09-29 用于播放器的解码器加载方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN117834966A true CN117834966A (zh) 2024-04-05

Family

ID=90523418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211203852.1A Pending CN117834966A (zh) 2022-09-29 2022-09-29 用于播放器的解码器加载方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117834966A (zh)

Similar Documents

Publication Publication Date Title
KR101034080B1 (ko) 균일한 비디오 디코딩 및 디스플레이
RU2451989C2 (ru) Поддержка нескольких операционных систем в мультимедийных устройствах
EP3202472B1 (en) Method for selecting a display capturing mode
US7613861B2 (en) System and method of obtaining error data within an information handling system
US20170060712A1 (en) Member Replacement in an Array of Information Storage Devices
US11128879B2 (en) Hybrid decoding
US20080201571A1 (en) System and method for managing boot images in a retail store environment
US20160314002A1 (en) Caching unified extensible firmware interface (uefi) and/or other firmware instructions in a non-volatile memory of an information handling system (ihs)
JP2007035010A (ja) 高速データアクセスメモリよりオペレーションシステムコアプログラムをロードしてコンピュータプログラムをインスタント起動実行する方法
CN109710753B (zh) 基于个性化主题的快捷信息生成方法、装置和电子设备
US20120290801A1 (en) Controlling storing of data
US20110018883A1 (en) Hybrid remote sessions
JP2019509547A (ja) Gpuリソース再構築方法、ユーザー・デバイス、システム及び記憶媒体
US20090037522A1 (en) System and Method for Simulating Network Functionality for Demonstration Devices
CN104601535A (zh) 视频处理方法和系统
US7995901B2 (en) Facilitating video clip identification from a video sequence
US20100017588A1 (en) System, method, and computer program product for providing an extended capability to a system
CN108235126B (zh) 在视频中插入推荐信息的方法和装置
CN117834966A (zh) 用于播放器的解码器加载方法、装置、设备及存储介质
US9298502B2 (en) Pausing virtual machines using API signaling
KR101067397B1 (ko) 오디오 프로세싱 오브젝트에 의한 액세스 위반에 대한 복구를 수행하기 위한 컴퓨팅 시스템 동작 방법, 컴퓨터-판독가능 매체 및 컴퓨팅 시스템
US20160314758A1 (en) UEFI Virtual Video Controller
CN109584891B (zh) 嵌入式环境下的音频解码方法、装置、设备及介质
CN117676232A (zh) 视频的恢复播放方法、装置、电子设备及存储介质
CN109977669B (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