CN112823519B - 视频解码方法、装置、电子设备、计算机可读存储介质 - Google Patents
视频解码方法、装置、电子设备、计算机可读存储介质 Download PDFInfo
- Publication number
- CN112823519B CN112823519B CN201880098443.5A CN201880098443A CN112823519B CN 112823519 B CN112823519 B CN 112823519B CN 201880098443 A CN201880098443 A CN 201880098443A CN 112823519 B CN112823519 B CN 112823519B
- Authority
- CN
- China
- Prior art keywords
- decoding
- identifier
- video
- file
- analysis
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 100
- 238000004458 analytical method Methods 0.000 claims abstract description 280
- 238000012545 processing Methods 0.000 claims description 127
- 238000006243 chemical reaction Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 239000004606 Fillers/Extenders Substances 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/24—Systems for the transmission of television signals using pulse code modulation
- H04N7/52—Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种视频解码方法包括:获取待处理视频文件及对应的第一文件格式和第二文件格式;从第一文件格式对应的解析标识集合中获取目标解析标识,通过目标解析标识对应的解析器对待处理视频文件进行解析得到音视频流;从第二文件格式对应的解码标识集合中获取目标解码标识,通过目标解码标识对应的解码器对音视频流进行解码。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种视频解码方法、装置、电子设备、计算机可读存储介质。
背景技术
电子设备可以展示图片、播放音乐,还可以播放视频等。一般地,在生成待处理视频文件的时候,采用的编码方式不同,会生成不同格式的待处理视频文件。对编码后的待处理视频文件进行播放的之前,需要先对待处理视频文件进行解码。因此,在对不同格式的待处理视频文件进行播放的时候,所采用的解码方式也不同。
发明内容
本申请实施例提供一种视频解码方法、装置、电子设备、计算机可读存储介质。
一种视频解码方法,包括:
获取待处理视频文件,并获取所述待处理视频文件对应的第一文件格式和第二文件格式,所述第一文件格式用于表示所述待处理视频文件的格式,所述第二文件格式用于表示所述待处理视频文件中的音视频流的格式;
获取所述第一文件格式对应的解析标识集合;
从所述解析标识集合中获取解析性能最强的目标解析标识,并通过所述目标解析标识对应的解析器对所述待处理视频文件进行解析处理,得到音视频流,其中,所述解析性能用于表示解析标识对应的解析器的性能;
获取所述第二文件格式对应的解码标识集合;及
从所述解码标识集合中获取解码性能最强的目标解码标识,并通过所述目标解码标识对应的解码器对所述音视频流进行解码处理,得到解码后的音视频流,其中,所述解码性能用于表示解码标识对应的解码器的性能。
一种视频解码装置,包括:
文件获取模块,用于获取待处理视频文件,并获取所述待处理视频文件对应的第一文件格式和第二文件格式,所述第一文件格式用于表示所述待处理视频文件的格式,所述第二文件格式用于表示所述待处理视频文件中的音视频流的格式;
解析集合获取模块,用于获取所述第一文件格式对应的解析标识集合;
解析处理模块,用于从所述解析标识集合中获取解析性能最强的目标解析标识,并通过所述目标解析标识对应的解析器对所述待处理视频文件进行解析处理,得到音视频流,其中,所述解析性能用于表示解析标识对应的解析器的性能;
解码集合获取模块,用于获取所述第二文件格式对应的解码标识集合;及
解码处理模块,用于从所述解码标识集合中获取解码性能最强的目标解码标识,并通过所述目标解码标识对应的解码器对所述音视频流进行解码处理,得到解码后的音视频流,其中,所述解码性能用于表示解码标识对应的解码器的性能。
一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述视频解码方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述视频解码方法的步骤。
上述视频解码方法、装置、电子设备、计算机可读存储介质,在获取到待处理视频文件及对应的第一文件格式和第二文件格式之后,可以根据第一文件格式获取对应的解析标识集合,并从解析标识集合中获取解析性能最强的目标解析标识,通过目标解析标识对应的解析器对待处理视频文件进行解析处理,得到音视频流。然后根据第二文件格式获取对应的解码标识集合,并从解码标识集合中获取解码性能最强的目标解码标识。最后通过目标解码标识对应的解码器对音视频流进行解码处理,得到解码后的音视频流。这样可以根据待处理视频文件的格式精准地选择解析器和解码器,提高了视频文件的解码效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中视频解码方法的流程图;
图2为另一个实施例中视频解码方法的流程图;
图3为一个实施例中对待处理视频文件进行解码的示意图;
图4为又一个实施例中视频解码方法的流程图;
图5为又一个实施例中视频解码方法的流程图;
图6为又一个实施例中视频解码方法的流程图;
图7为一个实施例中视频解码装置的结构示意图;
图8为与本申请实施例提供的电子设备相关的手机的部分结构的框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一文件格式称为第二文件格式,且类似地,可将第二文件格式称为第一文件格式。第一文件格式和第二文件格式两者都是文件格式,但其不是同一文件格式。
图1为一个实施例中视频解码方法的流程图。如图1所示,该视频解码方法包括步骤102至步骤110。其中:
步骤102,获取待处理视频文件,并获取待处理视频文件对应的第一文件格式和第二文件格式,第一文件格式用于表示待处理视频文件的格式,第二文件格式用于表示待处理视频文件中的音视频流的格式。
在一个实施例中,电子设备可以对视频文件进行编码,编码的方式多种多样,不同编码方式对视频文件进行编码后的文件格式不同。例如,常见的视频编码格式有WMV(Windows Media Video,媒体视频格式)、MPEG(Moving Pictures Experts Group,动态图象专家组)、MP4(Moving Picture Experts Group 4,动态图象专家组4)FFMPEG(FastForward Moving Pictures Experts Group,快进动态图象专家组)。
具体的,编码的主要作用是将视频像素数据和音频数据压缩成为码流,从而降低视频文件的数据量。音视频流即为将视频像素数据和音频数据压缩成为的码流,具体可以包括音频流和视频流。电子设备获取的可以是存储在本地的视频文件,也可以是接收的其他电子设备发送的视频文件,在此不做限定。例如,用户可以启动终端中的第三方应用程序,通过第三方应用程序发起视频文件的获取指令,然后终端可以根据该获取指令向服务器发起获取视频文件的获取请求,服务器在接收到获取请求之后,将对应的视频文件发送给终端。
获取到待处理视频文件之后,可以读取待处理视频文件的文件字节,在读取视频文件开头部分的字节之后,就可以根据读取的字节就得到视频文件的文件格式。其中,待处理视频文件的文件格式包括第一文件格式和第二文件格式,第一文件格式用于表示待处理视频文件的格式,第二文件格式用于表示待处理视频文件中的音视频流的格式。
例如,第一文件格式可以是待处理视频文件的文件ID,第二文件格式可以包括音频流的Mimetype(Multipurpose Internet Mail Extensions Type,多用途互联网邮件扩展类型)、视频流的Chumktype(文件封装类型)、音频流的Codec ID(CodecIdentification,编解码器标识)、音频流的Mimetype、音频流的Codec ID以及音频流的Chumktype等中的一种或多种。
步骤104,获取第一文件格式对应的解析标识集合。
在本申请提供的实施例中,电子设备中可以存储解析标识集合,并预先建立解析标识集合与第一文件格式的对应关系。在获取到第一文件格式之后,根据上述解析标识集合与第一文件格式的对应关系就可以获取第一文件格式对应的解析标识集合。
具体的,解析标识集合中包含至少一个解析标识,该解析标识用于标示对视频文件进行解析的解析器。解析标识集合中包含的解析标识所对应的解析器,可用于将对应的第一文件格式的视频文件进行解析。
例如,待处理视频文件的第一文件格式为待处理视频文件的文件ID,若待处理视频文件的文件ID为″video/mp4″,能够解析文件ID为″video/mp4″的视频文件的解析器有MPEG4Extractor解析器、ffmpeg解析器、MP4解析器。电子设备中存储的″video/mp4″对应的解析标识集合就可以包括MPEG4Extractor解析器、ffmpeg解析器、MP4解析器对应的解析标识。
步骤106,从解析标识集合中获取解析性能最强的目标解析标识通过目标解析标识对应的解析器对待处理视频文件进行解析处理,得到音视频流,其中,解析性能用于表示解析标识对应的解析器的性能。
获取到解析标识集合之后,可以从解析标识集合中获取解析性能最强的目标解析标识。解析性能用于表示解析标识对应的解析器的性能,具体的,解析性能可以是根据解析器解析视频文件的稳定性、速度、兼容性、出错率中的一种或多种得到的,不限于此。
在一个实施例中,解析标识集合中包含的解析标识可以带有解析性能标记,根据解析性能标记可以判断对应的解析器的解析性能的强弱,从而筛选出解析性能最强的目标解析标识。还可以根据解析性能的强弱对解析标识进行排序,解析标识在解析标识集合中的排序越靠前,对第一文件格式的视频文件的解析性能越强,根据排序就可以筛选出解析性能最强的目标解析标识。可以理解的是,还可以是根据其他方式筛选目标解析标识,在此不做限定。
在获取到目标解析标识之后,可以通过目标解析标识对应的解析器对待处理视频文件进行解析处理。在对待处理视频文件进行解析处理后,可以获取到待处理视频文件的属性信息以及音视频流等。例如,通过解析处理获取视频文件中的音视频流,还可以得到视频流的播放时长、视频图像的尺寸、音频流的音频格式等属性信息。
可以理解的是,电子设备可以采用自身集成的解析器对视频文件进行解析,也可以调用第三方解析平台的API(Application Programming Interface,应用程序编程接口)对视频文件进行解析,在此不做限定。
在本申请提供的实施例中,上述解析标识集合中可以包含按照解析性能排序的至少一个解析标识,获取目标解析标识的步骤具体可以包括:根据第二文件格式获取解析标识集合中包含的解析标识的第一排列顺序,按照第一排列顺序从解析标识集合中获取目标解析标识。
步骤108,获取第二文件格式对应的解码标识集合。
电子设备中可以存储解码标识集合,并预先建立解码标识集合与第二文件格式的对应关系。在获取到第二文件格式之后,根据上述解码标识集合与第二文件格式的对应关系就可以获取第二文件格式对应的解码标识集合。具体的,解码标识集合中包含顺序排列的至少一个解码标识,该解码标识用于标示对视频文件进行解码的解码器。解码标识集合中包含的解码标识所对应的解码器,可用于将对应的第二文件格式的视频文件进行解码。
例如,第二文件格式为视频流的Minetype,若视频流的Minetype为“video/ave”,而能够对Minetype为“video/avc”的视频流进行解码的解码器有高通AVC(Advanced VideoCoding,高级视频编码)硬解码器、谷歌AVC软解码器、ffmpeg AVC解码器。那么Minetype为“video/avc”时对应的解码标识集合中包含的即为高通AVC硬解码器、谷歌AVC软解码器、ffmpeg AVC解码器对应的解码标识。
步骤110,从解码标识集合中获取解码性能最强的目标解码标识,并通过目标解码标识对应的解码器对音视频流进行解码处理,得到解码后的音视频流,其中,解码性能用于表示解码标识对应的解码器的性能。
获取到解码标识集合之后,可以从解码标识集合中获取目标解码标识。解码性能用于表示解码标识对应的解码器的性能,具体可以是根据解码器解码的稳定性、速度、兼容性、出错率中的一种或多种得到的,不限于此。
在一个实施例中,解码标识集合中包含的解码标识可以带有解码性能标记,根据解码性能标记可以判断对应的解码器的解码性能的强弱,从而筛选出解码性能最强的目标解码标识。还可以根据解码性能的强弱对解码标识进行排序,解码标识在解码标识集合中的排序越靠前,对音视频流的解码性能越强,根据排序就可以筛选出解码性能最强的目标解码标识。可以理解的是,还可以是根据其他方式筛选目标解码标识,在此不做限定。
具体的,上述解码标识集合中包含按照解码性能排序的至少一个解码标识,获取目标解码标识的步骤具体可以包括:获取解码标识集合中包含的解码标识的第二排列顺序,按照第二排列顺序从解码标识集合中获取目标解码标识。
在获取到目标解码标识之后,可以通过目标解码标识对应的解码器对音视频流进行解码处理。在对音视频流进行解码处理后,得到的解码后的音视频流就可以在电子设备中进行播放。具体的,音视频流中包括音频流和视频流,通过目标解码标识对应的解码器分别对音频流和视频流进行解码处理,得到的解码后的音频流和解码后的视频流可以通过电子设备进行播放。
上述实施例提供的视频解码方法,在获取到待处理视频文件及对应的第一文件格式和第二文件格式之后,可以根据第一文件格式获取对应的解析标识集合,并从解析标识集合中获取解析性能最强的目标解析标识,通过目标解析标识对应的解析器对待处理视频文件进行解析处理,得到音视频流。然后根据第二文件格式获取对应的解码标识集合,并从解码标识集合中获取解码性能最强的目标解码标识。最后通过目标解码标识对应的解码器对音视频流进行解码处理,得到解码后的音视频流。这样可以根据待处理视频文件的格式精准地选择解析器和解码器,提高了视频文件的解码效率。
图2为另一个实施例中视频解码方法的流程图。如图2所示,该视频解码方法包括步骤202至步骤220。其中:
步骤202,向服务器发送文件获取请求。
在一个实施例中,上述电子设备可以是终端,终端在需要播放待处理视频文件时,可以向服务器发送获取待处理视频文件的请求。例如,终端上可以显示待处理视频文件的播放链接,当用户点击终端上显示的播放链接时,终端就向服务器发送文件获取请求,获取待处理视频文件进行播放。
终端向服务器发送的文件获取请求中可以包含发起该文件获取请求的终端标识、待处理视频文件的文件标识、请求发起时刻、接收请求的服务器标识等信息,在此不做限定。
步骤204,接收服务器根据文件获取请求返回的待处理视频文件,以及待处理视频文件对应的第一文件格式和第二文件格式。
服务器在接收到文件获取请求之后,可以根据文件获取请求中包含的文件标识查找对应的待处理视频文件,并对获取的待处理视频文件进行初步解析,得到待处理视频文件的第一文件格式和第二文件格式。获取到待处理视频文件及对应的第一文件格式和第二文件格式之后,可以根据文件获取请求中包含的终端标识查找对应的终端,并将待处理视频文件及对应的第一文件格式和第二文件格式发送刚给终端标识对应的终端。
步骤206,获取第一文件格式对应的解析标识集合。
不同格式的视频文件,解析时采用的解析器不同,因此不同第一文件格式对应的解析标识集合不同。解析标识集合可以是预先设置好的,在电子设备运行的过程中还可以对解析标识集合中包含的解析标识进行调整,在此不做限定。例如,统计解析标识集合中的解析标识对应的解析器对视频文件进行解析时出错的次数,根据出错的次数来调整解析标识的排序,如果出错的次数超过阈值,则将该解析标识移除该解析标识集合。
步骤208,根据第二文件格式获取解析标识集合中包含的解析标识的第一排列顺序,按照第一排列排序从解析标识集合中获取第一目标解析标识,并通过第一目标解析标识对应的解析器对待处理视频文件进行第一解析处理。
在一个实施例中,解析标识集合中包含的解析器可以对第一文件格式的视频文件进行解析,但是不同解析器对不同第二文件格式的视频文件的解析效果不同。因此,可以预先根据第二文件格式对解析标识集合中的解析标识进行排序,根据排序判断对应的解析器的解析性能强弱。例如,按照解析性能由强到弱的顺序对解析标识进行排序,解析标识集合中排序越靠前的解析标识,对应的解析器对待处理视频文件的解析性能越强。
预先定义好第二文件格式与第一排列顺序的对应关系,根据第二文件格式与第一排列顺序对应关系可以获取第二文件格式对应的第一排列顺序。如果终端中不存在待处理视频文件的第二文件格式所对应的第一排列顺序,则可以采用默认的第一排列顺序获取目标解析标识。
具体的,音视频流中包含音频流和视频流,则第二文件格式就可以包含音频流格式和视频流格式。那么第一排列顺序既可以是根据音频流格式建立的,也可以是根据视频流格式建立的,还可以是根据音频流格式和视频流格式共同建立的。上述获取第一排序顺序的步骤可以包括:可以根据音频流格式和/或视频流格式获取解析标识集合中包含的解析标识的第一排列顺序。
例如,MPEG4Extractor解析器不支持音频流Chunk type为“.mp3”和“ms02”的MP4视频文件的解析,也不支持视频流Chunk type为“mjpeg”或“sorenso”的MP4视频文件的解析。因此在解析上述第二文件格式的MP4视频文件时,就会选择对这类MP4视频文件兼容较好的ffmpeg解析器解析,而不是选择MPEG4Extractor解析器。
因此,在获取到解析标识集合之后,可以按照第一排列顺序从解析标识集合中获取第一目标解析标识,并根据第一目标解析标识对应的解析器对待处理视频文件进行第一解析处理。例如,解析标识集合中的解析标识可以按照解析性能由弱到强的顺序进行排列,则可以首先获取解析标识集合中排序末位的解析标识作为第一目标解析标识,然后通过第一目标解析标识对应的解析器对待处理视频文件进行第一解析处理。
步骤210,当第一解析处理报错时,获取第一解析处理过程中得到的第一报错数据,根据第一报错数据从解析标识集合中获取第二目标解析标识。
在通过第一目标解析标识对应的解析器对待处理视频文件进行第一解析处理时,若第一解析处理未报错,则可以直接根据第一解析处理得到音视频流;若第一解析处理报错,则说明该第一目标解析标识对应的解析器无法对待处理视频文件进行解析。在第一目标解析处理报错时,还可以得到第一解析处理的第一报错数据。通过该第一报错数据可以获取第一解析处理出错的原因。
当根据第一目标解析标识对应的解析器进行第一解析处理报错的时候,可以根据第一报错数据得到出错的原因,从而根据第一报错数据从解析标识集合中精准地第二目标解析标识,然后根据获取的第二目标解析标识对应的解析器对待处理视频文件进行第二解析处理。
例如,第一报错数据可以表示为“无法对Codec ID为‘V_MS/VFW/FOURC’的视频流进行解析”,根据第一报错数据就可以知道解析处理是因为无法对上述格式的视频流进行解析才出错的,然后就可以针对性地去选择可以对上述格式的视频流进行解析的解析器。
步骤212,通过第二目标解析标识对应的解析器对待处理视频文件进行第二解析处理,得到音视频流。
在选取到第二目标解析标识之后,就可以通过第二目标解析标识对应的解析器对待处理视频文件进行第二解析处理,得到音视频流。具体的,待处理视频文件可以是有若干个字节的数据构成的,比如包含表示待处理视频的属性的数据、音视频流的数据、以及表示音视频流的属性的数据等。
在对待处理视频文件进行解析的过程中,就可以通过读取待处理视频文件中包含的若干个字节的数据,并对读取的数据进行解析,得到待处理视频的属性、音视频流的属性以及音视频流等。解析出来的音频视流只是将表示音视频流的数据从待处理视频文件中分离出来,还不能直接被终端播放,需要将音视频流进行解码之后才能被终端播放。因此,在得到音视频流之后,还要对音视频流进行解码处理。
步骤214,获取第二文件格式对应的解码标识集合。
在一个实施例中,在对待处理视频文件进行解码得到音视频流之后,可以根据音视频流的第二文件格式获取对应的解码标识集合。解码标识集合可以是预先设置好的,在电子设备运行的过程中还可以对解码标识集合中包含的解码标识进行调整,在此不做限定。例如,统计解码标识集合中的解码标识对应的解码器对视频文件进行解码时出错的次数,根据出错的次数来调整解码标识的排序,如果出错的次数超过阈值,则将该解码标识移除该解码标识集合。
步骤216,获取解码标识集合中包含的解码标识的第二排列顺序,按照第二排列顺序从解码标识集合中获取第一目标解码标识,并通过第一目标解码标识对应的解码器对音视频流进行第一解码处理。
在一个实施例中,解码标识集合中包含的解码器可以对第二文件格式的视频文件进行解码,可以预先根据第二文件格式对解码标识集合中的解码标识进行排序,根据排序判断对应的解码器的解码性能强弱。例如,按照解码性能由强到弱的顺序对解码标识进行排序,解码标识集合中排序越靠前的解码标识,对应的解码器对第二文件格式的音视频流的解码性能越强。
在获取到解码标识集合之后,可以按照第二排列顺序从解码标识集合中获取第一目标解码标识,并根据第一目标解码标识对应的解码器对音视频流进行第一解码处理。例如,解码标识集合中的解码标识可以按照解码性能由弱到强的顺序进行排列,则可以首先获取解码标识集合中排序末位的解码标识作为第一目标解码标识,然后通过第一目标解码标识对应的解码器对音视频流进行第一解析处理。
步骤218,当第一解码处理报错时,获取第一解码处理过程中得到的第二报错数据,并根据第二报错数据从解码标识集合中获取第二目标解码标识。
在通过第一目标解码标识对应的解码器对音视频流进行第一解码处理时,若第一解码处理未报错,则可以直接根据第一解码处理得到音视频流;若第一解码处理报错,则说明该第一目标解码标识对应的解码器无法对上述音视频流进行解码。在第一目标解码处理报错时,还可以得到第一解码处理的第二报错数据。通过该第二报错数据可以获取第一解码处理出错的原因。
当根据第一目标解码标识对应的解码器进行第一解码处理报错的时候,可以根据第二报错数据得到出错的原因,从而根据第二报错数据从解码标识集合中精准地查找第二目标解码标识,然后根据获取的第二目标解码标识对应的解码器对音视频流进行第二解码处理。
在本申请提供的实施例中,步骤216具体还可以包括:获取解码标识集合中包含的解码标识的第二排列顺序,按照第二排列顺序依次从解码标识集合中获取第一目标解码标识,并通过第一目标解码标识对应的解码器对音视频流进行第一解码处理。步骤218具体还可以包括:当第一解码处理报错时,统计在对音视频流进行第一解码处理中的报错次数;当报错次数小于或等于次数阈值时,返回执行按照第二排列顺序从解码标识集合中获取第一目标解码标识,并通过第一目标解码标识对应的解码器对音视频流进行第一解码处理步骤;当报错次数大于次数阈值时,获取第一解码处理过程中得到的第二报错数据,并根据第二报错数据从解码标识集合中获取第二目标解码标识。
步骤220,通过第二目标解码标识对应的解码器对音视频流进行第二解码处理,得到解码后的音视频流。
通过第二目标解码标识对应的解码器对音视频流进行第二解码处理,可以将音视频流解码生成可被终端播放的音视频流,即经过解码处理得到的解码后的音视频流就可以被终端播放。例如,音视频流是以二进制形式表示的,通过解码处理就可以将二进制形式的数据转换成可以被终端播放的图片和音频。
图3为一个实施例中对待处理视频文件进行解码的示意图。如图3所示,待处理视频文件302中包含若干个二进制字节的数据,首先可以将待处理视频文件302中的数据进行解析,得到音频流304和视频流306。得到音频流304和视频流306之后,可以分别对音频流304和视频流306进行解码处理。对音频流304进行解码处理之后,得到解码后的音频流308。对视频流306进行解码处理之后,得到解码后的视频流310。完成解码后,电子设备可以对解码后的音频流308和解码后的视频流310进行播放。
上述实施例提供的视频解码方法,可以根据待处理视频文件的格式精准地选择解析器和解码器,提高了视频文件的解码效率。同时,在对待处理视频文件进行解析或解码过程报错时,可以根据报错数据定位报错的原因,然后根据报错的原因选择对应的解析器或解码器,从而进一步地提高了视频文件的解码准确率以及解码效率。
在一个实施例中,如图4所示,获取待处理视频文件的方法具体还可以包括:
步骤402,接收服务器根据文件获取请求返回的原始视频文件,以及原始视频文件对应的第一原始文件格式和第二原始文件格式。
具体的,当服务器接收到文件获取请求的时候,服务器可以根据文件获取请求获取对应的原始视频文件。然后将原始视频文件进行初步解析,得到原始视频文件的第一原始文件格式和第二原始文件格式,并将原始视频文件以及对应的第一原始文件格式和第二原始文件格式返回给终端。第一原始文件格式用于表示原始视频文件的格式,第二原始文件格式用于表示原始视频文件中的音视频流的格式。
步骤404,当存在第一原始文件格式对应的解析标识集合时,将原始视频文件作为待处理视频文件,并将第一原始文件格式作为待处理视频的第一文件格式,将第二原始文件格式作为待处理视频的第二文件格式。
终端接收到原始视频文件以及对应的第一原始文件格式和第二原始文件格式之后,会查找第一原始文件格式对应的解析标识集合。若终端中存在第一原始文件格式对应的解析标识集合,终端可以对第一原始文件格式的视频文件进行解析处理。这时可以直接将原始视频文件作为待处理视频文件,并将第一原始文件格式作为待处理视频的第一文件格式,将第二原始文件格式作为待处理视频的第二文件格式,并在终端中对待处理视频文件进行解析。
步骤406,当不存在第一原始文件格式对应的解析标识集合时,向服务器发送格式转换请求。
若终端中不存在第一原始文件格式对应的解析标识集合,说明终端无法对第一原始文件格式的视频文件进行解析处理。这时,终端可以向服务器发送格式转换请求,通过服务器对原始视频文件进行格式转换,生成能被终端解析的视频文件。
具体的,格式转换请求中可以包括原始视频文件的文件标识、终端支持解析的视频文件格式、发送格式转换请求的终端标识、接收格式转换请求的服务器标识等信息。服务器接收到格式转换请求之后,就可以获取文件标识对应的原始视频文件,然后将获取的原始视频文件转换成终端支持解析的待处理文件格式。
在一个实施例中,当不存在第一原始文件格式对应的解析标识集合时,还可以进一步判断还可以调用终端中的解析器依次对第一原始文件格式的原始视频文件进行解析处理。如果终端中的所有解析器都不支持对原始视频文件的解析处理,说明终端中不支持对原始视频文件的解析处理,则可以向服务器发送格式转换请求;如果终端中存在支持对原始视频文件的解析处理的解析器,则说明终端中支持对原始视频文件的解析处理,则可以获取支持对原始视频文件进行解析处理的原始解析器,根据原始解析器对原始视频文件进行解析处理,并根据原始解析器对应的解析标识生成第一原始文件格式对应的解析标识集合。
当存在支持对原始视频文件进行解析处理的解析器时,这时可以直接将原始视频文件作为待处理视频文件,并将第一原始文件格式作为待处理视频的第一文件格式,将第二原始文件格式作为待处理视频的第二文件格式,并在终端中对待处理视频文件进行解析。
步骤408,接收服务器发送的根据格式转换请求对原始视频文件进行格式转换得到的待处理视频文件,以及待处理视频文件对应的第一文件格式和第二文件格式。
在本申请提供的实施例中,服务器将原始视频文件转换成待处理视频文件之后,可以对待处理视频文件进行初步解析,得到待处理视频文件对应的第一文件格式和第二文件格式。然后服务器再将得到的待处理视频文件及对应的第一文件格式和第二文件格式发送给终端。
在一个实施例中,如图5所示,对待处理视频文件进行解析处理的步骤具体可以包括:
步骤502,按照第一排列排序从解析标识集合中获取第一目标解析标识,并通过第一目标解析标识对应的解析器对待处理视频文件进行第一解析处理。
具体的,在对待处理视频文件进行第一解析处理的过程中,可以按照第一排列排序依次从解析标识集合中获取第一目标解析标识,并根据获取的第一目标解析标识所对应的解析器对待处理视频文件第一解析处理,直至首次完成第一解析处理得到音视频流为止停止执行。
如果在第一解析处理过程中报错,则可以统计待处理视频文件在第一解析处理中报错的次数。如果报错次数比较少,则可以继续按照解析标识集合中解析标识的排序获取下一个第一目标解析标识,并根据下一个第一目标解析标识对待处理视频文件进行第一解析处理。如果报错次数比较少,则可以根据报错数据获取第二目标解析标识,并根据第二目标解析标识对应待处理视频文件进行第二解析处理。
步骤504,当第一解析处理报错时,统计在对待处理视频文件进行第一解析处理中的报错次数。
具体的,从解析标识集合中依次读取第一目标解析标识,并根据读取的第一目标解析标识对应的解析器对待处理视频文件进行第一解析处理。在第一解析处理报错时,可以统计第一解析处理的报错次数。
例如,解析标识集合中包含顺序排列的标识A、标识B和标识C,首先读取标识A,并根据标识A对应的解析器进行第一解析处理。若标识A对应的解析器进行第一解析处理时,得到了待处理视频文件中的音视频流,那么停止执行。如果根据标识A对应的解析器进行第一解析处理报错时,统计得到的第一解析处理中的报错次数就为1,则可以继续读取下一个标识B。同样的,如果根据标识B进行第一解析处理成功,则停止执行。如果根据标识B进行第一解析处理报错,那么统计得到的第一解析处理中的报错次数就为2。
步骤506,当报错次数小于或等于次数阈值时,返回执行按照第一排列顺序从解析标识集合中获取第一目标解析标识,并通过第一目标解析标识对应的解析器对待处理视频文件进行第一解析处理步骤。
在报错次数小于或等于次数阈值时,可以继续按照第一排列顺序依次从解析标识集合中读取下一个第一目标解析标识,并根据读取的第一目标解析标识对待处理视频文件进行第一解析处理。
步骤508,当报错次数大于次数阈值时,获取第一解析处理过程中得到的第一报错数据。
当报错次数大于次数阈值时,可以第一解析处理过程中得到的第一报错数据,然后根据第一报错数据从解析标识集合中精准地选择可解析的第二目标解析标识。其中,该第一报错数据可以是最后一次进行第一解析处理时得到的报错数据,也可以是任意一次进行第一解析处理时得到的报错数据,在此不做限定。
在本申请提供的实施例中,如图6所示,对音视频里进行解码处理的步骤具体包括:
步骤602,获取音频流格式对应的音频解码标识集合,并获取视频流格式对应的视频解码标识集合。
在一个实施例中,解析得到的音视频流包括音频流和视频流,第二文件格式包括音频流对应的音频流格式和视频流对应的视频流格式,解码标识集合包括音频解码标识集合和视频解码标识集合。在对音视频流进行解码的过程中,可以分别对音频流和视频流进行解码。
步骤604,从音频解码标识集合中获取音频解码性能最强的目标音频解码标识,并通过目标音频解码标识对应的音频解码器对音频流进行解码处理,得到解码后的音频流。
具体的,根据音频流格式对应的音频解码标识集合,并获取视频流格式对应的视频解码标识集合。音频解码标识集合中包含顺序排列的至少一个音频解码标识,视频解码标识集合中包含顺序排列的至少一个视频解码标识。
获取到音频流格式对应的音频解码标识集合之后,可以从音频解码标识集合中获取音频解码性能最强的目标音频解码标识。音频解码性能表示音频解码标识对应的解码器的性能,根据获取的音频解码性能最强的目标音频解码标识对音频流进行解码处理。具体的,从音频解码标识集合中获取目标音频解码标识的方式不做限定。例如,音频解码标识集合中的音频解码标识可以按照音频解码性能的强弱进行排序,然后根据排序可以获取音频解码标识集合中音频解码性能最强的目标音频解码标识。
步骤606,从视频解码标识集合中获取视频解码性能最强的目标视频解码标识,并通过目标视频解码标识对应的视频解码器对视频流进行解码处理,得到解码后的视频流。
同样的,根据视频流格式对应的视频解码标识集合,并获取视频流格式对应的视频解码标识集合。视频解码标识集合中包含顺序排列的至少一个视频解码标识,视频解码标识集合中包含顺序排列的至少一个视频解码标识。
获取到视频流格式对应的视频解码标识集合之后,可以从视频解码标识集合中获取视频解码性能最强的目标视频解码标识。视频解码性能表示视频解码标识对应的解码器的性能,根据获取的视频解码性能最强的目标视频解码标识对视频流进行解码处理。具体的,从视频解码标识集合中获取目标视频解码标识的方式不做限定。例如,视频解码标识集合中的视频解码标识可以按照视频解码性能的强弱进行排序,然后根据排序可以获取视频解码标识集合中视频解码性能最强的目标视频解码标识。
应该理解的是,虽然图1、2、4、5、6流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1、2、4、5、6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在本申请提供的实施例中,上述视频解码方法具体还可以包括:
(1)向服务器发送文件获取请求。
(2)接收服务器根据文件获取请求返回的原始视频文件,以及原始视频文件对应的第一原始文件格式和第二原始文件格式。
(3)当存在第一原始文件格式对应的解析标识集合时,将原始视频文件作为待处理视频文件,并将第一原始文件格式作为待处理视频的第一文件格式,将第二原始文件格式作为待处理视频的第二文件格式。
(4)当不存在第一原始文件格式对应的解析标识集合时,向服务器发送格式转换请求。
(5)接收服务器发送的根据格式转换请求对原始视频文件进行格式转换得到的待处理视频文件,以及待处理视频文件对应的第一文件格式和第二文件格式,其中,第二文件格式包括音频流格式和视频流格式。
(6)获取第一文件格式对应的解析标识集合。
(7)根据所述第二文件格式获取解析标识集合中包含的解析标识的第一排列顺序,按照第一排列顺序从解析标识集合中获取第一目标解析标识,并通过第一目标解析标识对应的解析器对待处理视频文件进行第一解析处理。
(8)当第一解析处理报错时,统计在对待处理视频文件进行第一解析处理中的报错次数。
(9)当报错次数小于或等于次数阈值时,返回执行按照排序依次从解析标识集合中获取第一目标解析标识,并通过第一目标解析标识对应的解析器对待处理视频文件进行第一解析处理步骤。
(10)当报错次数大于次数阈值时,获取第一解析处理过程中得到的第一报错数据,根据第一报错数据从解析标识集合中获取第二目标解析标识。
(11)通过第二目标解析标识对应的解析器对待处理视频文件进行第二解析处理,得到音视频流。
(12)获取音频流格式对应的音频解码标识集合。
(13)获取音频解码标识集合中包含的音频解码标识的第二音频排列顺序,按照第二音频排列顺序从音频解码标识集合中获取第一目标音频解码标识,并通过第一目标音频解码标识对应的解码器对音频流进行第一音频解码处理。
(14)当第一音频解码处理报错时,获取第一音频解码处理过程中得到的第二音频报错数据,并根据第二音频报错数据从音频解码标识集合中获取第二目标音频解码标识。
(15)通过第二目标音频解码标识对应的解码器对音频流进行第二音频解码处理,得到解码后的音频流。
(16)获取视频解码标识集合中包含的视频解码标识的第二视频排列顺序,按照第二视频排列顺序从视频解码标识集合中获取第一目标视频解码标识,并通过第一目标视频解码标识对应的解码器对视频流进行第一视频解码处理。
(17)当第一视频解码处理报错时,获取第一视频解码处理过程中得到的第二视频报错数据,并根据第二视频报错数据从视频解码标识集合中获取第二目标视频解码标识。
(18)通过第二目标视频解码标识对应的解码器对视频流进行第二视频解码处理,得到解码后的视频流。
上述实施例提供的视频解码方法,可以根据待处理视频文件的格式精准地选择解析器和解码器,提高了视频文件的解码效率。同时,在对待处理视频文件进行解析或解码过程报错时,可以根据报错数据定位报错的原因,然后根据报错的原因选择对应的解析器或解码器,从而进一步地提高了视频文件的解码效率。
图7为一个实施例中视频解码装置的结构示意图。如图7所示,该视频解码装置700包括文件获取模块702、解析集合获取模块704、解析处理模块706、解码集合模块708和解码处理模块710。其中:
文件获取模块702,用于获取待处理视频文件,并获取待处理视频文件对应的第一文件格式和第二文件格式,第一文件格式用于表示待处理视频文件的格式,第二文件格式用于表示待处理视频文件中的音视频流的格式。
解析集合获取模块704,用于获取第一文件格式对应的解析标识集合。
解析处理模块706,用于从解析标识集合中获取解析性能最强的目标解析标识,并通过目标解析标识对应的解析器对待处理视频文件进行解析处理,得到音视频流,其中,解析性能用于表示解析标识对应的解析器的性能;
解码集合获取模块708,用于获取第二文件格式对应的解码标识集合。
解码处理模块710,用于从解码标识集合中获取解码性能最强的目标解码标识,并通过目标解码标识对应的解码器对音视频流进行解码处理,得到解码后的音视频流,其中,解码性能用于表示解码标识对应的解码器的性能。
上述实施例提供的视频解码装置,在获取到待处理视频文件及对应的第一文件格式和第二文件格式之后,可以根据第一文件格式获取对应的解析标识集合,并从解析标识集合中获取目标解析标识,通过目标解析标识对应的解析器对待处理视频文件进行解析处理,得到音视频流。然后根据第二文件格式获取对应的解码标识集合,并从解码标识集合中获取目标解码标识。最后通过目标解码标识对应的解码器对音视频流进行解码处理,得到解码后的音视频流。这样可以根据待处理视频文件的格式精准地选择解析器和解码器,提高了视频文件的解码效率。
在一个实施例中,上述文件获取模块702还用于向服务器发送文件获取请求;接收服务器根据文件获取请求返回的待处理视频文件,以及待处理视频文件对应的第一文件格式和第二文件格式。
在一个实施例中,上述文件获取模块702还用于接收服务器根据文件获取请求返回的原始视频文件,以及原始视频文件对应的第一原始文件格式和第二原始文件格式;当存在第一原始文件格式对应的解析标识集合时,将原始视频文件作为待处理视频文件,并将第一原始文件格式作为待处理视频的第一文件格式,将第二原始文件格式作为待处理视频的第二文件格式;当不存在第一原始文件格式对应的解析标识集合时,向服务器发送格式转换请求;接收服务器发送的根据格式转换请求对原始视频文件进行格式转换得到的待处理视频文件,以及待处理视频文件对应的第一文件格式和第二文件格式。
在一个实施例中,解析标识集合中包含按照解析性能排序的至少一个解析标识,上述解析处理模块706还用于根据第二文件格式获取解析标识集合中包含的解析标识的第一排列顺序,按照第一排列顺序从解析标识集合中获取目标解析标识。
在一个实施例中,解析处理模块706还用于按照第一排列排序从解析标识集合中获取第一目标解析标识,并通过第一目标解析标识对应的解析器对待处理视频文件进行第一解析处理;当第一解析处理报错时,获取第一解析处理过程中得到的第一报错数据,根据第一报错数据从解析标识集合中获取第二目标解析标识;通过第二目标解析标识对应的解析器对待处理视频文件进行第二解析处理,得到音视频流。
在一个实施例中,解析处理模块706还用于当第一解析处理报错时,统计在对待处理视频文件进行第一解析处理中的报错次数;当报错次数小于或等于次数阈值时,返回执行按照第一排列排序从解析标识集合中获取第一目标解析标识,并通过第一目标解析标识对应的解析器对待处理视频文件进行第一解析处理步骤;当报错次数大于次数阈值时,获取第一解析处理过程中得到的第一报错数据。
在一个实施例中,解码标识集合中包含按照解码性能排序的至少一个解码标识,上述解码处理模块710还用于获取解码标识集合中包含的解码标识的第二排列顺序,按照第二排列顺序从解码标识集合中获取目标解码标识。
在一个实施例中,上述解码处理模块710还用于按照第二排列顺序从解码标识集合中获取第一目标解码标识,并通过第一目标解码标识对应的解码器对音视频流进行第一解码处理;当第一解码处理报错时,获取第一解码处理过程中得到的第二报错数据,并根据第二报错数据从解码标识集合中获取第二目标解码标识;通过第二目标解码标识对应的解码器对音视频流进行第二解码处理,得到解码后的音视频流。
在一个实施例中,音视频流包括音频流和视频流,第二文件格式包括音频流格式和视频流格式;上述解码处理模块710还用于获取音频流格式对应的音频解码标识集合,并获取视频流格式对应的视频解码标识集合;从音频解码标识集合中获取音频解码性能最强的目标音频解码标识,并通过目标音频解码标识对应的音频解码器对音频流进行解码处理,得到解码后的音频流;及从视频解码标识集合中获取视频解码性能最强的目标视频解码标识,并通过目标视频解码标识对应的视频解码器对视频流进行解码处理,得到解码后的视频流。
上述视频解码装置中各个模块的划分仅用于举例说明,在其他实施例中,可将视频解码装置按照需要划分为不同的模块,以完成上述视频解码装置的全部或部分功能。
关于视频解码装置的具体限定可以参见上文中对于视频解码方法的限定,在此不再赘述。上述视频解码装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本申请实施例还提供了一种电子设备。如图8所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该电子设备可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑、穿戴式设备等任意终端设备,以电子设备为手机为例:
图8为与本申请实施例提供的电子设备相关的手机的部分结构的框图。参考图8,手机包括:射频(Radio Frequency,RF)电路810、存储器820、输入单元830、显示单元840、传感器850、音频电路860、无线保真(wireless fidelity,WiFi)模块870、处理器880、以及电源890等部件。本领域技术人员可以理解,图8所示的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,RF电路810可用于收发信息或通话过程中,信号的接收和发送,可将基站的下行信息接收后,给处理器880处理;也可以将上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Ampiifier,LNA)、双工器等。此外,RF电路810还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System ofMobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器820可用于存储软件程序以及模块,处理器880通过运行存储在存储器820的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器820可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能的应用程序、图像播放功能的应用程序等)等;数据存储区可存储根据手机的使用所创建的数据(比如音频数据、通讯录等)等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元830可用于接收输入的数字或字符信息,以及产生与手机800的用户设置以及功能控制有关的键信号输入。具体地,输入单元830可包括触控面板831以及其他输入设备832。触控面板831,也可称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板831上或在触控面板831附近的操作),并根据预先设定的程式驱动相应的连接装置。在一个实施例中,触控面板831可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器880,并能接收处理器880发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板831。除了触控面板831,输入单元830还可以包括其他输入设备832。具体地,其他输入设备832可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)等中的一种或多种。
显示单元840可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元840可包括显示面板841。在一个实施例中,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板841。在一个实施例中,触控面板831可覆盖显示面板841,当触控面板831检测到在其上或附近的触摸操作后,传送给处理器880以确定触摸事件的类型,随后处理器880根据触摸事件的类型在显示面板841上提供相应的视觉输出。虽然在图8中,触控面板831与显示面板841是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板831与显示面板841集成而实现手机的输入和输出功能。
手机800还可包括至少一种传感器850,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板841的亮度,接近传感器可在手机移动到耳边时,关闭显示面板841和/或背光。运动传感器可包括加速度传感器,通过加速度传感器可检测各个方向上加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换)、振动识别相关功能(比如计步器、敲击)等;此外,手机还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器等。
音频电路860、扬声器861和传声器862可提供用户与手机之间的音频接口。音频电路860可将接收到的音频数据转换后的电信号,传输到扬声器861,由扬声器861转换为声音信号输出;另一方面,传声器862将收集的声音信号转换为电信号,由音频电路860接收后转换为音频数据,再将音频数据输出处理器880处理后,经RF电路810可以发送给另一手机,或者将音频数据输出至存储器820以便后续处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块870可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图8示出了WiFi模块870,但是可以理解的是,其并不属于手机800的必须构成,可以根据需要而省略。
处理器880是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器820内的软件程序和/或模块,以及调用存储在存储器820内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。在一个实施例中,处理器880可包括一个或多个处理单元。在一个实施例中,处理器880可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等;调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器880中。
手机800还包括给各个部件供电的电源890(比如电池),优选的,电源可以通过电源管理系统与处理器880逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
在一个实施例中,手机800还可以包括摄像头、蓝牙模块等。
在本申请实施例中,该电子设备所包括的处理器880执行存储在存储器上的计算机程序时实现上述实施例提供的视频解码方法的步骤。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行上述实施例提供的视频解码方法的步骤。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的视频解码方法。
本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (16)
1.一种视频解码方法,其特征在于,所述方法包括:
获取待处理视频文件,并获取所述待处理视频文件对应的第一文件格式和第二文件格式,所述第一文件格式用于表示所述待处理视频文件的格式,所述第二文件格式用于表示所述待处理视频文件中的音视频流的格式;
获取所述第一文件格式对应的解析标识集合;所述解析标识集合中包含按照解析性能排序的至少一个解析标识;所述解析标识用于标示对所述待处理视频文件进行解析的解析器;
根据所述第二文件格式获取所述解析标识集合中包含的解析标识的第一排列顺序,按照所述第一排列顺序从所述解析标识集合中获取解析性能最强的目标解析标识,并通过所述目标解析标识对应的解析器对所述待处理视频文件进行解析处理,得到音视频流,其中,所述解析性能用于表示解析标识对应的解析器的性能;
获取所述第二文件格式对应的解码标识集合;所述解码标识集合中包含按照解码性能排序的至少一个解码标识;所述解码标识用于标示对所述待处理视频文件进行解码的解码器;
获取所述解码标识集合中包含的解码标识的第二排列顺序,按照所述第二排列顺序从所述解码标识集合中获取解码性能最强的目标解码标识,并通过所述目标解码标识对应的解码器对所述音视频流进行解码处理,得到解码后的音视频流,其中,所述解码性能用于表示解码标识对应的解码器的性能。
2.根据权利要求1所述的方法,其特征在于,所述获取待处理视频文件,并获取所述待处理视频文件对应的第一文件格式和第二文件格式,包括:
向服务器发送文件获取请求;
接收所述服务器根据所述文件获取请求返回的待处理视频文件,以及所述待处理视频文件对应的第一文件格式和第二文件格式。
3.根据权利要求2所述的方法,其特征在于,所述接收所述服务器根据所述文件获取请求返回的待处理视频文件,以及所述待处理视频文件对应的第一文件格式和第二文件格式,包括:
接收所述服务器根据所述文件获取请求返回的原始视频文件,以及所述原始视频文件对应的第一原始文件格式和第二原始文件格式;
当存在所述第一原始文件格式对应的解析标识集合时,将所述原始视频文件作为待处理视频文件,并将所述第一原始文件格式作为所述待处理视频的第一文件格式,将所述第二原始文件格式作为所述待处理视频的第二文件格式;
当不存在所述第一原始文件格式对应的解析标识集合时,向所述服务器发送格式转换请求;
接收所述服务器发送的根据所述格式转换请求对所述原始视频文件进行格式转换得到的待处理视频文件,以及所述待处理视频文件对应的第一文件格式和第二文件格式。
4.根据权利要求1所述的方法,其特征在于,所述按照所述第一排列顺序从所述解析标识集合中获取解析性能最强的目标解析标识,并通过所述目标解析标识对应的解析器对所述待处理视频文件进行解析处理,得到音视频流,包括:
按照所述第一排列顺序从所述解析标识集合中获取第一目标解析标识,并通过所述第一目标解析标识对应的解析器对所述待处理视频文件进行第一解析处理;
当所述第一解析处理报错时,获取所述第一解析处理过程中得到的第一报错数据,根据所述第一报错数据从所述解析标识集合中获取第二目标解析标识;
通过所述第二目标解析标识对应的解析器对所述待处理视频文件进行第二解析处理,得到音视频流。
5.根据权利要求4所述的方法,其特征在于,所述当所述第一解析处理报错时,获取所述第一解析处理过程中得到的第一报错数据,根据所述第一报错数据从所述解析标识集合中获取第二目标解析标识,包括:
当所述第一解析处理报错时,统计在对所述待处理视频文件进行第一解析处理中的报错次数;
当所述报错次数小于或等于次数阈值时,返回执行所述按照所述第一排列顺序从所述解析标识集合中获取第一目标解析标识,并通过所述第一目标解析标识对应的解析器对所述待处理视频文件进行第一解析处理步骤;
当所述报错次数大于所述次数阈值时,获取所述第一解析处理过程中得到的第一报错数据。
6.根据权利要求1所述的方法,其特征在于,所述按照所述第二排列顺序从所述解码标识集合中获取解码性能最强的目标解码标识,并通过所述目标解码标识对应的解码器对所述音视频流进行解码处理,得到解码后的音视频流,包括:
按照所述第二排列顺序从所述解码标识集合中获取第一目标解码标识,并通过所述第一目标解码标识对应的解码器对所述音视频流进行第一解码处理;
当所述第一解码处理报错时,获取所述第一解码处理过程中得到的第二报错数据,并根据所述第二报错数据从所述解码标识集合中获取第二目标解码标识;
通过所述第二目标解码标识对应的解码器对所述音视频流进行第二解码处理,得到解码后的音视频流。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述音视频流包括音频流和视频流,所述第二文件格式包括音频流格式和视频流格式;
所述获取所述第二文件格式对应的解码标识集合,包括:
获取所述音频流格式对应的音频解码标识集合,并获取所述视频流格式对应的视频解码标识集合;
所述按照所述第二排列顺序从所述解码标识集合中获取解码性能最强的目标解码标识,并通过所述目标解码标识对应的解码器对所述音视频流进行解码处理,得到解码后的音视频流,包括:
按照所述第二排列顺序从所述音频解码标识集合中获取音频解码性能最强的目标音频解码标识,并通过所述目标音频解码标识对应的音频解码器对所述音频流进行解码处理,得到解码后的音频流;及
按照所述第二排列顺序从所述视频解码标识集合中获取视频解码性能最强的目标视频解码标识,并通过所述目标视频解码标识对应的视频解码器对所述视频流进行解码处理,得到解码后的视频流。
8.一种视频解码装置,其特征在于,所述装置包括:
文件获取模块,用于获取待处理视频文件,并获取所述待处理视频文件对应的第一文件格式和第二文件格式,所述第一文件格式用于表示所述待处理视频文件的格式,所述第二文件格式用于表示所述待处理视频文件中的音视频流的格式;
解析集合获取模块,用于获取所述第一文件格式对应的解析标识集合;所述解析标识集合中包含按照解析性能排序的至少一个解析标识;所述解析标识用于标示对所述待处理视频文件进行解析的解析器;
解析处理模块,用于根据所述第二文件格式获取所述解析标识集合中包含的解析标识的第一排列顺序,按照所述第一排列顺序从所述解析标识集合中获取解析性能最强的目标解析标识,并通过所述目标解析标识对应的解析器对所述待处理视频文件进行解析处理,得到音视频流,其中,所述解析性能用于表示解析标识对应的解析器的性能;
解码集合获取模块,用于获取所述第二文件格式对应的解码标识集合;所述解码标识集合中包含按照解码性能排序的至少一个解码标识;所述解码标识用于标示对所述待处理视频文件进行解码的解码器;
解码处理模块,用于获取所述解码标识集合中包含的解码标识的第二排列顺序,按照所述第二排列顺序从所述解码标识集合中获取解码性能最强的目标解码标识,并通过所述目标解码标识对应的解码器对所述音视频流进行解码处理,得到解码后的音视频流,其中,所述解码性能用于表示解码标识对应的解码器的性能。
9.根据权利要求8所述的装置,其特征在于,所述文件获取模块还用于向服务器发送文件获取请求;接收所述服务器根据所述文件获取请求返回的待处理视频文件,以及所述待处理视频文件对应的第一文件格式和第二文件格式。
10.根据权利要求9所述的装置,其特征在于,所述文件获取模块还用于接收所述服务器根据所述文件获取请求返回的原始视频文件,以及所述原始视频文件对应的第一原始文件格式和第二原始文件格式;当存在所述第一原始文件格式对应的解析标识集合时,将所述原始视频文件作为待处理视频文件,并将所述第一原始文件格式作为所述待处理视频的第一文件格式,将所述第二原始文件格式作为所述待处理视频的第二文件格式;当不存在所述第一原始文件格式对应的解析标识集合时,向所述服务器发送格式转换请求;接收所述服务器发送的根据所述格式转换请求对所述原始视频文件进行格式转换得到的待处理视频文件,以及所述待处理视频文件对应的第一文件格式和第二文件格式。
11.根据权利要求8所述的装置,其特征在于,所述解析处理模块还用于按照所述第一排列顺序从所述解析标识集合中获取第一目标解析标识,并通过所述第一目标解析标识对应的解析器对所述待处理视频文件进行第一解析处理;当所述第一解析处理报错时,获取所述第一解析处理过程中得到的第一报错数据,根据所述第一报错数据从所述解析标识集合中获取第二目标解析标识;通过所述第二目标解析标识对应的解析器对所述待处理视频文件进行第二解析处理,得到音视频流。
12.根据权利要求11所述的装置,其特征在于,所述解析处理模块还用于当所述第一解析处理报错时,统计在对所述待处理视频文件进行第一解析处理中的报错次数;当所述报错次数小于或等于次数阈值时,返回执行所述按照所述第一排列顺序从所述解析标识集合中获取第一目标解析标识,并通过所述第一目标解析标识对应的解析器对所述待处理视频文件进行第一解析处理步骤;当所述报错次数大于所述次数阈值时,获取所述第一解析处理过程中得到的第一报错数据。
13.根据权利要求8所述的装置,其特征在于,所述解码处理模块还用于按照所述第二排列顺序从所述解码标识集合中获取第一目标解码标识,并通过所述第一目标解码标识对应的解码器对所述音视频流进行第一解码处理;当所述第一解码处理报错时,获取所述第一解码处理过程中得到的第二报错数据,并根据所述第二报错数据从所述解码标识集合中获取第二目标解码标识;通过所述第二目标解码标识对应的解码器对所述音视频流进行第二解码处理,得到解码后的音视频流。
14.根据权利要求8至12中任一项所述的装置,其特征在于,所述音视频流包括音频流和视频流,所述第二文件格式包括音频流格式和视频流格式;所述解码集合获取模块还用于获取所述音频流格式对应的音频解码标识集合,并获取所述视频流格式对应的视频解码标识集合;所述解码处理模块还用于按照所述第二排列顺序从所述音频解码标识集合中获取音频解码性能最强的目标音频解码标识,并通过所述目标音频解码标识对应的音频解码器对所述音频流进行解码处理,得到解码后的音频流;及按照所述第二排列顺序从所述视频解码标识集合中获取视频解码性能最强的目标视频解码标识,并通过所述目标视频解码标识对应的视频解码器对所述视频流进行解码处理,得到解码后的视频流。
15.一种电子设备,包括存储器及处理器,其特征在于,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述的方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/117478 WO2020107168A1 (zh) | 2018-11-26 | 2018-11-26 | 视频解码方法、装置、电子设备、计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112823519A CN112823519A (zh) | 2021-05-18 |
CN112823519B true CN112823519B (zh) | 2023-10-13 |
Family
ID=70854735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880098443.5A Active CN112823519B (zh) | 2018-11-26 | 2018-11-26 | 视频解码方法、装置、电子设备、计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112823519B (zh) |
WO (1) | WO2020107168A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113965776B (zh) * | 2021-10-20 | 2022-07-05 | 江下信息科技(惠州)有限公司 | 一种多模式的音视频格式高速转换方法及系统 |
CN114466246A (zh) * | 2022-02-14 | 2022-05-10 | 维沃移动通信有限公司 | 一种视频处理方法及其装置 |
CN114489782A (zh) * | 2022-02-17 | 2022-05-13 | 北京远特科技股份有限公司 | 车载多媒体文件处理方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567206A (zh) * | 2009-05-26 | 2009-10-28 | 北京北纬通信科技股份有限公司 | 支持音视频解码自适应的系统及其方法 |
CN101771869A (zh) * | 2008-12-30 | 2010-07-07 | 深圳市万兴软件有限公司 | 一种音视频编解码装置及方法 |
CN102129370A (zh) * | 2011-01-12 | 2011-07-20 | 福州瑞芯微电子有限公司 | 一种通用的多媒体播放器框架 |
CN103488466A (zh) * | 2012-06-11 | 2014-01-01 | 联想(北京)有限公司 | 用于执行应用程序的方法和装置 |
CN107888716A (zh) * | 2017-12-05 | 2018-04-06 | 广东欧珀移动通信有限公司 | 一种域名解析服务器的排序方法、终端设备及存储介质 |
CN108259966A (zh) * | 2018-04-11 | 2018-07-06 | 大连理工大学 | 一种基于gps授时的多媒体大屏同步播放方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8687745B2 (en) * | 2007-12-13 | 2014-04-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for blind decoding |
CN104683810B (zh) * | 2015-02-28 | 2019-09-06 | 武汉烽火众智数字技术有限责任公司 | 一种基于特征分析的动态解码方法和装置 |
CN108111874B (zh) * | 2016-11-16 | 2020-01-31 | 腾讯科技(深圳)有限公司 | 一种文件处理方法、终端及服务器 |
-
2018
- 2018-11-26 WO PCT/CN2018/117478 patent/WO2020107168A1/zh active Application Filing
- 2018-11-26 CN CN201880098443.5A patent/CN112823519B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771869A (zh) * | 2008-12-30 | 2010-07-07 | 深圳市万兴软件有限公司 | 一种音视频编解码装置及方法 |
CN101567206A (zh) * | 2009-05-26 | 2009-10-28 | 北京北纬通信科技股份有限公司 | 支持音视频解码自适应的系统及其方法 |
CN102129370A (zh) * | 2011-01-12 | 2011-07-20 | 福州瑞芯微电子有限公司 | 一种通用的多媒体播放器框架 |
CN103488466A (zh) * | 2012-06-11 | 2014-01-01 | 联想(北京)有限公司 | 用于执行应用程序的方法和装置 |
CN107888716A (zh) * | 2017-12-05 | 2018-04-06 | 广东欧珀移动通信有限公司 | 一种域名解析服务器的排序方法、终端设备及存储介质 |
CN108259966A (zh) * | 2018-04-11 | 2018-07-06 | 大连理工大学 | 一种基于gps授时的多媒体大屏同步播放方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020107168A1 (zh) | 2020-06-04 |
CN112823519A (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9507990B2 (en) | Two-dimensional code recognition method and apparatus | |
CN107995519B (zh) | 多媒体文件播放的方法、装置和存储介质 | |
CN104618794B (zh) | 播放视频的方法和装置 | |
CN106331765B (zh) | 一种硬解测试方法、终端、服务器和计算机可读存储介质 | |
CN112823519B (zh) | 视频解码方法、装置、电子设备、计算机可读存储介质 | |
US10824901B2 (en) | Image processing of face sets utilizing an image recognition method | |
CN112148579B (zh) | 一种用户界面的测试方法和装置 | |
CN103678605A (zh) | 一种信息传输的方法、装置及终端设备 | |
CN103365551A (zh) | 可应用于消息收发器应用的书签功能的方法及电子装置 | |
CN105407353A (zh) | 一种图像压缩方法,及装置 | |
CN103687063B (zh) | 一种连接网络的方法、装置及终端设备 | |
CN106203228A (zh) | 二维码信息传输方法、装置以及设备 | |
CN110163051B (zh) | 文本提取方法、装置及存储介质 | |
CN114827069A (zh) | 多媒体数据分享方法及装置 | |
CN103607377B (zh) | 信息分享方法、装置及系统 | |
CN111405043B (zh) | 信息处理方法、装置及电子设备 | |
CN115017406A (zh) | 直播画面展示方法、装置、电子设备及存储介质 | |
CN104038832A (zh) | 一种播放视频的方法及装置 | |
CN109587497B (zh) | Flv流的音频数据传输方法、装置和系统 | |
CN110223221B (zh) | 一种动态图像播放的方法及终端设备 | |
CN113453066A (zh) | 一种播放时长确定方法和相关设备 | |
CN113268179B (zh) | 会话消息处理方法、装置、设备及存储介质 | |
CN108256466B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN108121583B (zh) | 截屏方法及相关产品 | |
CN106339402B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |