一种流媒体处理方法及装置的制造方法

文档序号:10666525阅读:292来源:国知局
一种流媒体处理方法及装置的制造方法
【专利摘要】本发明实施例提供一种流媒体处理方法及装置,其中的方法可包括:获取待解码视频流中的视频帧,所述视频帧包括数据帧和非数据帧;对所述视频帧进行帧选择处理,提取所述视频流中的数据帧;解析所述视频流中的媒体文件头数据,获取视频配置信息;将提取得到的所述数据帧整合为待解码码流,并利用所述视频配置信息对所述待解码码流进行解码处理。本发明可对待解码视频流进行重新提取和整合,减少待解码码流中的帧类型,提高解码成功率,增强兼容性。
【专利说明】
一种流媒体处理方法及装置
技术领域
[0001]本发明涉及电子技术领域,具体涉及流媒体处理技术领域,尤其一种流媒体处理方法及装置。
【背景技术】
[0002]随着流媒体技术的发展,用户可以通过各种设备播放视频,通常视频播放都是将待解码视频流进行解码播放,即是原始的视频文件需要经过编码后形成待播放视频流,待播放视频流即是待解码视频流。当前主流视频编码格式是H264,在H264中规定了 32种不同的帧类型,在这32种帧类型中可以分为数据帧和非数据帧。其中,数据帧中包含视频中各个图像的数据,非数据帧包含视频配置信息,在H264算法中,待解码视频流中非数据帧间插进各个数据帧之间形成视频帧。在对待解码视频流进行解码处理时,解码器必须能够适应所有的帧类型才能够成功解码,但是由于设备机型各不相同,可能存在很多兼容性问题,例如,有些机型的设备中的芯片无法对某一个类型的帧进行识别解码,就会出现解码错误,从而导致视频无法播放。

【发明内容】

[0003]本发明实施例提供一种流媒体处理方法及装置,可对待解码视频流进行重新提取和整合,减少待解码码流中的帧类型,提高解码成功率,增强兼容性。
[0004]本发明第一方面提供一种流媒体处理方法,可包括:
[0005]获取待解码视频流中的视频帧,所述视频帧包括数据帧和非数据帧;
[0006]对所述视频帧进行帧选择处理,提取所述视频流中的数据帧;
[0007]解析所述视频流中的媒体文件头数据,获取视频配置信息;
[0008]将提取得到的所述数据帧整合为待解码码流,并利用所述视频配置信息对所述待解码码流进行解码处理。
[0009]本发明第二方面提供一种流媒体处理装置,可包括:
[0010]第一获取模块,用于获取待解码视频流中的视频帧,所述视频帧包括数据帧和非数据帧;
[0011 ] 提取模块,用于对所述视频帧进行帧选择处理,提取所述视频流中的数据帧;
[0012]解析模块,用于解析所述视频流中的媒体文件头数据,获取视频配置信息;
[0013]整合解码模块,用于将提取得到的所述数据帧整合为待解码码流,并利用所述视频配置信息对所述待解码码流进行解码处理。
[0014]实施本发明实施例,具有如下有益效果:
[0015]本发明实施例,获取待解码码流中的视频帧,该视频帧包括数据帧和非数据帧,对该视频帧进行帧选择处理,提取视频流中的数据帧,解析该视频流中的媒体文件头数据,获取视频配置信息,将提取得到的数据帧整合为待解码码流,并利用视频配置信息对待解码码流进行解码处理。这种方式可以在进行解码之前,将待解码视频流中的视频帧进行重新提取和整合,只保留视频帧中的数据帧,从而减少待解码码流中的帧类型,提高解码成功率,增强兼容性。
【附图说明】
[0016]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]图1为本发明实施例提供的一种流媒体处理方法的流程图;
[0018]图2为本发明实施例提供的另一种流媒体处理方法的流程图;
[0019]图3为本发明实施例提供的一种浏览器中视频流处理流程图;
[0020]图4为本发明实施例提供的一种帧选择流程图;
[0021]图5为本发明实施例提供的一种流媒体处理装置的结构示意图;
[0022]图6为本发明实施例提供的一种整合解码模块的结构示意图;
[0023]图7为本发明实施例提供的另一种流媒体处理装置的结构示意图。
【具体实施方式】
[0024]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0025]本发明实施例的流媒体处理方法可以应用于用户利用智能手机、个人电脑、个人数字助手等终端中的媒体播放软件播放视频的场景中,也可以应用于用户在浏览器中播放视频的应用场景中。在具体的应用场景中,在对待解码视频流进行解码时,可以进行硬件解码,即是利用终端的芯片中的多媒体处理单元进行解码,也可以利用软件解码,即是编程序通过主处理器进行解码。通常硬件解码会使得播放视频更加省电和流畅,因此在具体应用中通常采用硬件解码。由于各种终端机型不同,因此并不是每种终端都能稳定地支持硬件解码。在当前主流的视频编码格式是H264,在H264中规定了 32种不同的帧类型,终端中的硬件解码器应当能够适应所有的帧类型才能稳定地支持硬件解码,由于不同品牌的芯片,加上安卓开放式的系统,对待解码视频流可能存在兼容性问题,表现为解码不正常,画面有大块的马赛克现象,有些情况下会导致无法解码卡死,甚至导致硬件崩溃等等,为解决此问题,本发明在对待解码视频流进行解码之前,对待解码视频流进行流媒体处理,即是采用本发明提供的流媒体处理方法进行提取过滤后再进行解码。这样可以减少待解码视频流中的帧类型,提高解码成功率,并且增强硬件解码的兼容性。
[0026]下面将结合附图1-附图4,对本发明实施例提供的流媒体处理方法进行详细介绍。
[0027]请参照图1,为本发明实施例提供的一种流媒体处理方法的流程图;该方法可包括以下步骤S100-步骤S103。
[0028]S100,获取待解码视频流中的视频帧,所述视频帧包括数据帧和非数据帧;
[0029]具体实施例中,待解码视频流为进行编码后的视频流,当需要播放视频时,需要对进行编码后的视频流进行解码处理。待解码视频流中包括媒体文件头数据以及视频帧,其中视频帧包括数据帧和非数据帧,数据帧中包含图像数据,非数据帧包含视频配置信息。例如,在当前主流视频编码格式H264中规定了 32种不同的帧类型,在这32种不同的帧类型中,也分为数据帧和非数据帧,其中,数据帧包含关键帧和预测帧,关键帧为立即刷新图像(instantaneous decoding refresh picture,I DR)帧,预测帧为 non IDR 帧,非数据帧包括的帧类型比较多,例如,序列参数集(sequence parameter set,SPS)帧,图像参数集(picture parameter set,PPS)帧,补充增强信息(Supplemental EnhancementInformat1n, SEI)帧以及访问单元分隔符(access unit delimiter, AUD)帧等等。
[0030]SlOl,对所述视频帧进行帧选择处理,提取所述视频流中的数据帧;
[0031]具体实施例中,在对待解码视频流进行解码处理时,解码器应当能够适应所有的帧类型,才能够成功进行解码,但是在解码器中,由于不同品牌的芯片,加上安卓开放式系统,对待解码视频流可能存在兼容性问题。对某一些帧类型无法进行正常解码,具体表现为解码不正常,画面有大块的马赛克现象,有些情况下,会导致无法解码卡死,甚至会导致硬件崩溃。因此,在本发明实施例中,在进行硬件解码处理之前,先对待解码视频流中的视频帧进行帧选择处理,提取视频流中包含图像数据的数据帧。
[0032]可选的,在H264编码格式中,即是从待解码视频流的视频帧中第一个IDR帧开始提取视频帧中所有的IDR帧和non IDR帧,去除其中的SPS帧和PPS帧,在进行帧选择过滤处理后,减少了帧类型,以提高解码成功率。
[0033]S102,解析所述视频流中的媒体文件头数据,获取视频配置信息;
[0034]具体实施例中,在进行具体的解码处理之前,需要解析视频流中的媒体文件头数据,媒体文件头数据存在于视频文件的头信息中。解析视频流中的媒体文件头数据可以获取视频配置信息。该视频配置信息可以用于后续进行解码处理的过程中。
[0035]S103,将提取得到的所述数据帧整合为待解码码流,并利用所述视频配置信息对所述待解码码流进行解码处理。
[0036]具体实施例中,将进行帧选择处理后,所提取的数据帧整合为待解码码流,具体的整合方法可以是按照所提取的数据帧的原有顺序进行整合。并利用通过解析视频流中媒体文件头数据所获取的视频配置信息对待解码码流进行解码处理。
[0037]可选的,利用视频配置信息对待解码码流进行解码处理可以包括步骤SlO-Sll:
[0038]S10,利用所述视频配置信息对硬件解码器进行初始化;
[0039]具体实施例中,在利用硬件解码器进行解码处理之前,利用所获取的视频配置信息对硬件解码器进行初始化。需要说明的是,若视频配置信息的数据存在格式是H264协议中规定的字节流格式,需要将数据转换为IS0-1EC-14496-12,IS0-1EC-14496-15中规定的格式,此格式为硬件解码器初始化使用的格式。
[0040]S11,控制进行初始化的所述硬件解码器对所述待解码码流进行解码处理。
[0041]具体实施例中,利用视频配置信息对硬件解码器进行初始化处理后,控制进行初始化的硬件解码器对待解码码流进行解码处理。
[0042]需要说明的是,当用户出现拖拉动作时,例如快进或者快退,则将最终拖拉停止的时间点最近的一个关键帧作为待解码视频流的起点,从该时间点的视频流开始进行帧选择处理,最后将所提取的数据帧整合为待解码码流。
[0043]本发明实施例,获取待解码码流中的视频帧,该视频帧包括数据帧和非数据帧,对该视频帧进行帧选择处理,提取视频流中的数据帧,解析该视频流中的媒体文件头数据,获取视频配置信息,将提取得到的数据帧整合为待解码码流,并利用视频配置信息对待解码码流进行解码处理。这种方式可以在进行解码之前,将待解码视频流中的视频帧进行重新提取和整合,只保留视频帧中的数据帧,从而减少待解码码流中的帧类型,提高解码成功率,增强兼容性。
[0044]请参照图2,为本发明实施例提供的另一种流媒体处理方法的流程图;该方法可包括以下步骤S200-步骤S206。
[0045]S200,获取待解码视频文件,并判断所述待解码视频文件中的数据是否以字节流形式存在;
[0046]若是,则将所述待解码视频文件中的数据确定为待解码视频流;
[0047]若否,则将所述待解码视频文件进行格式转换,获得以字节流形式存在的待解码视频流。
[0048]具体实施例中,在进行帧选择处理之前,获取待解码视频文件,该视频文件为进行编码处理后的视频文件,视频文件中视频帧的各个帧类型在不同的文件格式中以不同的形式存在,例如,可能是以IS0-1EC-14496-15中规定的格式,也可能是H264协议中规定的字节流格式,由于本发明实施例中进行帧选择处理的过程主要是针对于字节流格式的数据,因此需要判断该待解码视频文件中的数据是否以字节流形式存在,若待解码视频文件是以字节流形式存在,则直接将待解码视频流中数据确定为待解码视频流。若待解码视频文件不是以字节流形式存在,则对该视频文件进行格式转换,获得以字节流形式存在的待解码视频流,具体的转换方法不作限定。
[0049]S201,获取待解码视频流中的视频帧,所述视频帧包括数据帧和非数据帧;
[0050]可选的,所述数据帧包括关键帧和预测帧;所述视频帧中包括多个组帧,其中每一个组帧包括一个关键帧和至少一个预测帧。
[0051]具体实施例中,视频帧中各个帧的组成方式可以是以组帧的形式进行组合,习惯上也成为图像组(group of picture,GOP),在每一个组帧中包括一个关键帧、至少一个预测帧以及非数据帧,例如,在H264的格式中,非数据帧可以包括SPS,PPS帧,组帧的形式可以为 SPS,PPS,SEI,IDR,non IDR, non IDR, non IDR, non IDR, non IDR, non IDR,视频帧可以是多个组帧的组合。
[0052]S202,从所述视频流中的第一个组帧中的关键帧开始提取所述视频流中的数据帧。
[0053]具体实施例中,所提取的数据帧的首帧必须为关键帧,即是IDR帧,其它帧类型过滤。因此从视频流中第一个组帧中的关键帧开始提取视频流中的所有数据帧,即是IDR帧和 non IDR 帧。
[0054]S203,解析所述视频流中的媒体文件头数据,获取视频配置信息;
[0055]本发明实施例步骤S203请参照图1的实施例步骤S102,在此不再赘述。
[0056]S204,根据所述媒体文件头数据生成序列参数集帧和图像参数集帧;
[0057]具体实施例中,从待解码视频流中获取媒体文件头数据,再对媒体文件头数据进行流转换生成序列参数集帧和图像参数集帧。媒体文件头数据包含的内容与视频帧中的图像参数集帧和序列参数集帧所包含的内容相同,只是所处位置不同,因此可以通过媒体文件头数据生成序列参数集帧和图像参数集帧。
[0058]S205,将提取得到的所述数据帧整合为待解码码流,在所述待解码码流的首帧之前插入所生成的所述序列参数集帧和所述图像参数集帧;
[0059]具体实施例中,提取得到的数据帧整合为待解码码流,该待解码码流的首帧为IDR帧,在待解码码流的首帧之前插入所生成的序列参数集帧和图像参数集帧。需要说明的是,某些机型的硬件解码器不需要插入。
[0060]S206,利用所述视频配置信息对进行插入处理后的所述待解码码流进行解码处理。
[0061]具体实施例中,利用视频配置信息对进行插入处理后的待解码码流进行解码处理,具体的,可以是利用视频配置信息对硬件解码器进行初始化,控制进行初始化的硬件解码器对进行插入处理后的待解码码流进行解码处理。
[0062]本发明实施例,获取待解码码流中的视频帧,该视频帧包括数据帧和非数据帧,对该视频帧进行帧选择处理,提取视频流中的数据帧,解析该视频流中的媒体文件头数据,获取视频配置信息,将提取得到的数据帧整合为待解码码流,并利用视频配置信息对待解码码流进行解码处理。这种方式可以在进行解码之前,将待解码视频流中的视频帧进行重新提取和整合,只保留视频帧中的数据帧,从而减少待解码码流中的帧类型,提高解码成功率,增强兼容性。
[0063]请参照图3,为本发明实施例提供的一种浏览器中视频处理流程图,如图所示,本发明实施例中的视频处理流程包括以下步骤:
[0064]获取待播放的视频文件,判断该视频文件是否是以字节流形式存在;
[0065]若不是以字节流形式存在,则进行格式转换,处理为字节流形式存在的待解码视频流;
[0066]若是字节流,则直接将该视频文件确定为待解码视频流;
[0067]然后对待解码视频流利用流处理策略进行帧选择处理,具体的可以是利用帧选择方案进行帧选择处理,帧选择方案的具体内容请参照图4 ;
[0068]进行帧选择方案所提取的数据帧整合为待解码码流,并送入硬件解码器;
[0069]控制硬件解码器对待解码码流进行解码处理。
[0070]进一步的请参照图4,图4为帧选择方案的具体阐述;
[0071]提取待解码视频流中的meta数据,进行流转换获得视频配置信息,并利用视频配置信息对硬件解码器进行初始化;
[0072]同时根据meta数据生成非数据帧,非数据帧包括SEI,SPS,PPS帧,去除SEI帧,保留SPS,PPS帧,并将SPS,PPS帧插入首次IDR帧之前;
[0073]对待解码视频流中的视频帧进行帧选择过滤,从视频帧的第一次IDR帧开始提取,并且在第一次IDR帧的前面插入根据meta数据所生成的SPS,PPS帧;
[0074]非首次IDR帧,则不需要插入SPS,PPS帧,且只需要提取IDR帧;
[0075]其它类型帧过滤,提取non IDR帧,将所提取的帧以及插入的帧整合为待解码码流送入硬件解码器进行硬件解码。
[0076]下面将结合附图5-附图7,对本发明实施例提供的一种流媒体处理装置进行详细介绍。
[0077]请参阅图5,为本发明实施例提供的一种流媒体处理装置的结构示意图;该装置可包括:第一获取模块100、提取模块101、解析模块102以及整合模块103 ;
[0078]第一获取模块100,用于获取待解码视频流中的视频帧,所述视频帧包括数据帧和非数据帧;
[0079]具体实施例中,待解码视频流为进行编码后的视频流,当需要播放视频时,需要对进行编码后的视频流进行解码处理。待解码视频流中包括媒体文件头数据以及视频帧,其中视频帧包括数据帧和非数据帧,数据帧中包含图像数据,非数据帧包含视频配置信息。例如,在当前主流视频编码格式H264中规定了 32种不同的帧类型,在这32种不同的帧类型中,也分为数据帧和非数据帧,其中,数据帧包含关键帧和预测帧,关键帧为立即刷新图像(instantaneous decoding refresh picture,IDR)帧,预测帧为 non IDR 帧,非数据帧包括的帧类型比较多,例如,序列参数集(sequence parameter set,SPS)帧,图像参数集(picture parameter set,PPS)帧,补充增强信息(Supplemental EnhancementInformat1n, SEI)帧以及访问单元分隔符(access unit delimiter, AUD)帧等等。
[0080]提取模块101,用于对所述视频帧进行帧选择处理,提取所述视频流中的数据帧;
[0081]具体实施例中,在对待解码视频流进行解码处理时,解码器应当能够适应所有的帧类型,才能够成功进行解码,但是在解码器中,由于不同品牌的芯片,加上安卓开放式系统,对待解码视频流可能存在兼容性问题。对某一些帧类型无法进行正常解码,具体表现为解码不正常,画面有大块的马赛克现象,有些情况下,会导致无法解码卡死,甚至会导致硬件崩溃。因此,在本发明实施例中,在进行硬件解码处理之前,提取模块101先对待解码视频流中的视频帧进行帧选择处理,提取视频流中包含图像数据的数据帧。
[0082]可选的,在H264编码格式中,提取模块101即是从待解码视频流的视频帧中第一个IDR帧开始提取视频帧中所有的IDR帧和non IDR帧,去除其中的SPS帧和PPS帧,在进行帧选择过滤处理后,减少了帧类型,以提高解码成功率。
[0083]解析模块102,用于解析所述视频流中的媒体文件头数据,获取视频配置信息;
[0084]具体实施例中,在进行具体的解码处理之前,需要解析视频流中的媒体文件头数据,媒体文件头数据存在于视频文件的头信息中。解析模块102解析视频流中的媒体文件头数据可以获取视频配置信息。该视频配置信息可以用于后续进行解码处理的过程中。
[0085]整合解码模块103,用于将提取得到的所述数据帧整合为待解码码流,并利用所述视频配置信息对所述待解码码流进行解码处理。
[0086]具体实施例中,整合解码模块103将进行帧选择处理后,所提取的数据帧整合为待解码码流,整合解码模块103具体的整合方法可以是按照所提取的数据帧的原有顺序进行整合。并利用通过解析视频流中媒体文件头数据所获取的视频配置信息对待解码码流进行解码处理。
[0087]可选的,如图6所示,整合解码模块103可以包括整合单元1030、初始化单元1031和控制单元1032 ;
[0088]整合单元1030,用于将提取得到的所述数据帧整合为待解码码流;
[0089]初始化单元1031,用于利用所述视频配置信息对硬件解码器进行初始化;
[0090]具体实施例中,在利用硬件解码器进行解码处理之前,初始化单元1031利用所获取的视频配置信息对硬件解码器进行初始化。需要说明的是,若视频配置信息的数据存在格式是H264协议中规定的字节流格式,需要将数据转换为IS0-1EC-14496-12,IS0-1EC-14496-15中规定的格式,此格式为硬件解码器初始化使用的格式。
[0091]控制单元1032,用于控制进行初始化的所述硬件解码器对所述待解码码流进行解码处理。
[0092]具体实施例中,利用视频配置信息对硬件解码器进行初始化处理后,控制单元1032控制进行初始化的硬件解码器对待解码码流进行解码处理。
[0093]需要说明的是,当用户出现拖拉动作时,例如快进或者快退,则将最终拖拉停止的时间点最近的一个关键帧作为待解码视频流的起点,从该时间点的视频流开始进行帧选择处理,最后将所提取的数据帧整合为待解码码流。
[0094]本发明实施例,获取待解码码流中的视频帧,该视频帧包括数据帧和非数据帧,对该视频帧进行帧选择处理,提取视频流中的数据帧,解析该视频流中的媒体文件头数据,获取视频配置信息,将提取得到的数据帧整合为待解码码流,并利用视频配置信息对待解码码流进行解码处理。这种方式可以在进行解码之前,将待解码视频流中的视频帧进行重新提取和整合,只保留视频帧中的数据帧,从而减少待解码码流中的帧类型,提高解码成功率,增强兼容性。
[0095]请参照图7,为本发明实施例提供的另一种流媒体处理装置的结构示意图;本实施例的流媒体处理装置是在图6所示的流媒体处理装置基础上优化得到的,如图7所示,该装置可包括第一获取模块200、提取模块201、解析模块202、整合解码模块203、第二获取模块204以及生成模块205:
[0096]第二获取模块204,用于获取待解码视频文件,并判断所述待解码视频文件中的数据是否以字节流形式存在;若是,则将所述待解码视频文件中的数据确定为待解码视频流;若否,则将所述待解码视频文件进行格式转换,获得以字节流形式存在的待解码视频流。
[0097]具体实施例中,在进行帧选择处理之前,第二获取模块204获取待解码视频文件,该视频文件为进行编码处理后的视频文件,视频文件中视频帧的各个帧类型在不同的文件格式中以不同的形式存在,例如,可能是以IS0-1EC-14496-15中规定的格式,也可能是H264协议中规定的字节流格式,由于本发明实施例中进行帧选择处理的过程主要是针对于字节流格式的数据,因此需要判断该待解码视频文件中的数据是否以字节流形式存在,若待解码视频文件是以字节流形式存在,则直接将待解码视频流中数据确定为待解码视频流。若待解码视频文件不是以字节流形式存在,则对该视频文件进行格式转换,获得以字节流形式存在的待解码视频流,具体的转换方法不作限定。
[0098]第一获取模块200,用于获取待解码视频流中的视频帧,所述视频帧包括数据帧和非数据帧;
[0099]可选的,所述数据帧包括关键帧和预测帧;所述视频帧中包括多个组帧,其中每一个组帧包括一个关键帧和至少一个预测帧。
[0100]具体实施例中,视频帧中各个帧的组成方式可以是以组帧的形式进行组合,习惯上也成为图像组(group of picture,GOP),在每一个组帧中包括一个关键帧、至少一个预测帧以及非数据帧,例如,在H264的格式中,非数据帧可以包括SPS,PPS帧,组帧的形式可以为 SPS,PPS,SEI,IDR,non IDR, non IDR, non IDR, non IDR, non IDR, non IDR,视频帧可以是多个组帧的组合。
[0101]提取模块201具体用于从所述视频流中的第一个组帧中的关键帧开始提取所述视频流中的数据帧。
[0102]具体实施例中,所提取的数据帧的首帧必须为关键帧,即是IDR帧,其它帧类型过滤。因此提取模块201从视频流中第一个组帧中的关键帧开始提取视频流中的所有数据帧,即是IDR帧和non IDR帧。
[0103]解析模块202,用于解析所述视频流中的媒体文件头数据,获取视频配置信息;
[0104]生成模块205,用于根据所述媒体文件头数据生成序列参数集帧和图像参数集帧;
[0105]具体实施例中,从待解码视频流中获取媒体文件头数据,生成模块205再对媒体文件头数据进行流转换生成序列参数集帧和图像参数集帧。媒体文件头数据包含的内容与视频帧中的图像参数集帧和序列参数集帧所包含的内容相同,只是所处位置不同,因此可以通过媒体文件头数据生成序列参数集帧和图像参数集帧。
[0106]所述整合解码模块203具体用于将提取得到的所述数据帧整合为待解码码流,在所述待解码码流的首帧之前插入所生成的所述序列参数集帧和所述图像参数集帧;并利用所述视频配置信息对进行插入处理后的所述待解码码流进行解码处理。
[0107]具体实施例中,提取得到的数据帧整合为待解码码流,该待解码码流的首帧为IDR帧,整合解码模块203在待解码码流的首帧之前插入所生成的序列参数集帧和图像参数集帧。需要说明的是,某些机型的硬件解码器不需要插入。
[0108]具体实施例中,利用视频配置信息对进行插入处理后的待解码码流进行解码处理,具体的,可以是利用视频配置信息对硬件解码器进行初始化,控制进行初始化的硬件解码器对进行插入处理后的待解码码流进行解码处理。
[0109]本发明实施例,获取待解码码流中的视频帧,该视频帧包括数据帧和非数据帧,对该视频帧进行帧选择处理,提取视频流中的数据帧,解析该视频流中的媒体文件头数据,获取视频配置信息,将提取得到的数据帧整合为待解码码流,并利用视频配置信息对待解码码流进行解码处理。这种方式可以在进行解码之前,将待解码视频流中的视频帧进行重新提取和整合,只保留视频帧中的数据帧,从而减少待解码码流中的帧类型,提高解码成功率,增强兼容性。
[0110]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,附图5-附图7所示流媒体处理装置的模块或单元对应的程序可存储在终端设备或服务器的可读存储介质内,并被该终端设备或服务器中的至少一个处理器执行,以实现上述流媒体处理方法,该方法包括图1至图4中各方法实施例所述的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(RandomAccess Memory, RAM)等。
[0111]以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【主权项】
1.一种流媒体处理方法,其特征在于,包括: 获取待解码视频流中的视频帧,所述视频帧包括数据帧和非数据帧; 对所述视频帧进行帧选择处理,提取所述视频流中的数据帧; 解析所述视频流中的媒体文件头数据,获取视频配置信息; 将提取得到的所述数据帧整合为待解码码流,并利用所述视频配置信息对所述待解码码流进行解码处理。2.如权利要求1所述的方法,其特征在于,所述利用所述视频配置信息对所述待解码码流进行解码处理,包括: 利用所述视频配置信息对硬件解码器进行初始化; 控制进行初始化的所述硬件解码器对所述待解码码流进行解码处理。3.如权利要求1所述的方法,其特征在于,所述数据帧包括关键帧和预测帧; 所述视频帧中包括多个组帧,其中每一个组帧包括一个关键帧和至少一个预测帧。4.如权利要求3所述的方法,其特征在于,所述对所述视频帧进行帧选择处理,提取所述视频流中的数据帧,包括: 从所述视频流中的第一个组帧中的关键帧开始提取所述视频流中的数据帧。5.如权利要求4所述的方法,其特征在于,所述方法还包括: 根据所述媒体文件头数据生成序列参数集帧和图像参数集帧; 所述利用所述视频配置信息对所述待解码码流进行解码处理,包括: 在所述待解码码流的首帧之前插入所生成的所述序列参数集帧和所述图像参数集帧; 利用所述视频配置信息对进行插入处理后的所述待解码码流进行解码处理。6.如权利要求1至5任一项所述的方法,其特征在于,所述获取待解码视频流中的视频帧之前,还包括: 获取待解码视频文件,并判断所述待解码视频文件中的数据是否以字节流形式存在; 若是,则将所述待解码视频文件中的数据确定为待解码视频流; 若否,则将所述待解码视频文件进行格式转换,获得以字节流形式存在的待解码视频流。7.一种流媒体处理装置,其特征在于,包括: 第一获取模块,用于获取待解码视频流中的视频帧,所述视频帧包括数据帧和非数据帧; 提取模块,用于对所述视频帧进行帧选择处理,提取所述视频流中的数据帧; 解析模块,用于解析所述视频流中的媒体文件头数据,获取视频配置信息; 整合解码模块,用于将提取得到的所述数据帧整合为待解码码流,并利用所述视频配置信息对所述待解码码流进行解码处理。8.如权利要求7所述的装置,其特征在于,所述整合解码模块包括: 整合单元,用于将提取得到的所述数据帧整合为待解码码流; 初始化单元,用于利用所述视频配置信息对硬件解码器进行初始化; 控制单元,用于控制进行初始化的所述硬件解码器对所述待解码码流进行解码处理。9.如权利要求7所述的装置,其特征在于,所述数据帧包括关键帧和预测帧; 所述视频帧中包括多个组帧,其中每一个组帧包括一个关键帧和至少一个预测帧。10.如权利要求9所述的装置,其特征在于,所述提取模块具体用于从所述视频流中的第一个组帧中的关键帧开始提取所述视频流中的数据帧。11.如权利要求10所述的装置,其特征在于,所述装置还包括: 生成模块,用于根据所述媒体文件头数据生成序列参数集帧和图像参数集帧; 所述整合解码模块具体用于将提取得到的所述数据帧整合为待解码码流,在所述待解码码流的首帧之前插入所生成的所述序列参数集帧和所述图像参数集帧;并利用所述视频配置信息对进行插入处理后的所述待解码码流进行解码处理。12.如权利要求7至11任一项所述的装置,其特征在于,所述装置还包括: 第二获取模块,用于获取待解码视频文件,并判断所述待解码视频文件中的数据是否以字节流形式存在;若是,则将所述待解码视频文件中的数据确定为待解码视频流;若否,则将所述待解码视频文件进行格式转换,获得以字节流形式存在的待解码视频流。
【文档编号】H04N21/4402GK106034252SQ201510110136
【公开日】2016年10月19日
【申请日】2015年3月12日
【发明人】陈俊峰
【申请人】深圳市腾讯计算机系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1