一种多路视频播放方法及装置制造方法
【专利摘要】本发明适用于视频文件播放领域,提供了一种多路视频播放方法及装置。所述方法包括:A、获取第一通道的视频文件的第一帧视频码流和音频码流的属性;B、获取第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性;C、设置第一通道的解码方式、解码尺寸大小;D、设置相应通道的解码方式、解码尺寸大小;E、设置第一通道的寄存器;F、设置第二通道至第N通道的寄存器;G、分别对第一通道至第N通道的视频文件进行硬件解码,同时进行软件解码;H、重复步骤E至步骤G,直到第一通道至第N通道的视频文件全部解码结束;I、播放解码后的视频文件。本发明实施例能够提高解码效率。
【专利说明】一种多路视频播放方法及装置
【技术领域】
[0001]本发明属于视频播放领域,尤其涉及一种多路视频播放方法及装置。
【背景技术】
[0002]目前,视频播放技术已经发展到可以根据用户的需求和播放器的配置,制定多种分辨率、多种解码方式的视频解码。在视频播放过程中,比较耗时的是纯硬件解码过程、对视频文件的解析以获取纯视频码流和音频码流以及对音频码流的解码过程。
[0003]传统的视频播放方法中,采用软件解析视频文件,获取该视频文件的一帧视频码流和音频码流,然后进行硬件视频解码,软件音频解码,最后播放解码后的视频码流和音频码流。由于现有的视频播放方法是采用软、硬件串行解码音视频码流的方式,因此不能充分利用硬件解码时的时间,从而导致解码效率低下。
【发明内容】
[0004]本发明实施例提供了一种多路视频播放方法及装置,旨在解决现有的视频播放方法在解码视频文件时效率低下的问题。
[0005]本发明实施例是这样实现的,一种多路视频播放方法,所述方法包括下述步骤:
[0006]A、解析第一通道的视频文件,获取所述第一通道的视频文件的第一帧视频码流和音频码流,以及获取所述第一通道的视频文件的第一帧视频码流和音频码流的属性;所述第一通道的视频文件的第一帧视频码流和音频码流的属性包括视频码流和音频码流的解码方式、解码尺寸大小;
[0007]B、依次解析第二通道至第N通道的视频文件,获取所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流,以及获取所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性;所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性包括视频码流和音频码流的解码方式、解码尺寸大小;所述N为整数,N大于等于2;
[0008]C、在所述第一通道创建第一解码实例,根据获取的所述第一通道的视频文件的第一帧视频码流和音频码流的属性设置所述第一通道的解码方式、解码尺寸大小;
[0009]D、在所述第二通道至第N通道创建第二至第N解码实例,根据获取的所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性设置所述第二通道至第N通道的解码方式、解码尺寸大小;
[0010]E、获取第一通道的视频文件的上一帧视频码流和音频码流的解码信息,依据获取的解码信息确定所述第一通道的解码参数,将所述第一通道的解码参数设置在所述第一通道的寄存器中;
[0011]F、获取第二通道至第N通道的视频文件的上一帧视频码流和音频码流的解码信息,依据获取的解码信息确定所述第二通道至第N通道的解码参数,将所述第二通道至第N通道的解码参数分别设置在所述第二通道至第N通道的寄存器中;
[0012]G、采用设置了解码参数的第一通道的寄存器、第二通道至第N通道的寄存器分别对所述第一通道的视频文件、所述第二通道至第N通道的视频文件进行硬件解码,同时解码所述第一通道的视频文件的上一帧视频码流和音频码流、解码所述第二通道至第N通道的视频文件的上一帧视频码流和音频码流、解析所述第一通道的视频文件的下一帧视频码流和音频码流以及解析所述第二通道至第N通道的视频文件的下一帧视频码流和音频码流;
[0013]H、重复步骤E至步骤G,直到第一通道、第二通道至第N通道的视频文件全部解码结束;
[0014]1、播放第一通道、第二通道至第N通道解码后的视频文件。
[0015]本发明实施例的另一目的在于提供一种多路视频播放装置,所述装置包括:
[0016]码流属性获取单元,用于解析第一通道的视频文件,获取所述第一通道的视频文件的第一帧视频码流和音频码流,以及获取所述第一通道的视频文件的第一帧视频码流和音频码流的属性;所述第一通道的视频文件的第一帧视频码流和音频码流的属性包括视频码流和音频码流的解码方式、解码尺寸大小;用于依次解析第二通道至第N通道的视频文件,获取所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流,以及获取所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性;所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性包括视频码流和音频码流的解码方式、解码尺寸大小;所述N为整数,N大于等于2 ;
[0017]码流属性设置单元,用于在所述第一通道创建第一解码实例,根据获取的所述第一通道的视频文件的第一帧视频码流和音频码流的属性设置所述第一通道的解码方式、解码尺寸大小;以及用于在所述第二通道至第N通道创建第二至第N解码实例,根据获取的所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性设置所述第二通道至第N通道的解码方式、解码尺寸大小;
[0018]寄存器设置单元,用于获取第一通道的视频文件的上一帧视频码流和音频码流的解码信息,依据获取的解码信息确定所述第一通道的解码参数,将所述第一通道的解码参数设置在所述第一通道的寄存器中;以及用于获取第二通道至第N通道的视频文件的上一帧视频码流和音频码流的解码信息,依据获取的解码信息确定所述第二通道至第N通道的解码参数,将所述第二通道至第N通道的解码参数分别设置在所述第二通道至第N通道的寄存器中;
[0019]码流解码单元,用于采用设置了解码参数的第一通道的寄存器、第二通道至第N通道的寄存器分别对所述第一通道的视频文件、所述第二通道至第N通道的视频文件进行硬件解码,同时解码所述第一通道的视频文件的上一帧视频码流和音频码流、解码所述第二通道至第N通道的视频文件的上一帧视频码流和音频码流、解析所述第一通道的视频文件的下一帧视频码流和音频码流以及解析所述第二通道至第N通道的视频文件的下一帧视频码流和音频码流;
[0020]码流播放单元,用于播放第一通道、第二通道至第N通道解码后的视频文件。
[0021]在本发明实施例中,由于采用软件和硬件解码并行的方式,充分利用了硬件解码时的时间,因此极大提高了解码效率。
【专利附图】
【附图说明】
[0022]图1是本发明第一实施例提供的一种多路视频播放方法的流程图;
[0023]图2是本发明第二实施例提供的一种多路视频播放的结构图。
【具体实施方式】
[0024]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0025]本发明实施例中,第一通道至第N通道创建的多个(2个及2个以上)解码实例能够在硬件解码第一帧视频码流和音频码流开始时,同时启动软件对第二帧视频文件的解析和软件对音频的解码,充分利用了硬件解码时的时间。
[0026]本发明实施例提供了一种多路视频播放方法及装置。
[0027]所述方法包括:A、解析第一通道的视频文件,获取所述第一通道的视频文件的第一帧视频码流和音频码流,以及获取所述第一通道的视频文件的第一帧视频码流和音频码流的属性;所述第一通道的视频文件的第一帧视频码流和音频码流的属性包括视频码流和音频码流的解码方式、解码尺寸大小;
[0028]B、依次解析第二通道至第N通道的视频文件,获取所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流,以及获取所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性;所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性包括视频码流和音频码流的解码方式、解码尺寸大小;所述N为整数,N大于等于2;
[0029]C、在所述第一通道创建第一解码实例,根据获取的所述第一通道的视频文件的第一帧视频码流和音频码流的属性设置所述第一通道的解码方式、解码尺寸大小;
[0030]D、在所述第二通道至第N通道创建第二至第N解码实例,根据获取的所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性设置所述第二通道至第N通道的解码方式、解码尺寸大小;
[0031]E、获取第一通道的视频文件的上一帧视频码流和音频码流的解码信息,依据获取的解码信息确定所述第一通道的解码参数,将所述第一通道的解码参数设置在所述第一通道的寄存器中;
[0032]F、获取第二通道至第N通道的视频文件的上一帧视频码流和音频码流的解码信息,依据获取的解码信息确定所述第二通道至第N通道的解码参数,将所述第二通道至第N通道的解码参数分别设置在所述第二通道至第N通道的寄存器中;
[0033]G、采用设置了解码参数的第一通道的寄存器、第二通道至第N通道的寄存器分别对所述第一通道的视频文件、所述第二通道至第N通道的视频文件进行硬件解码,同时解码所述第一通道的视频文件的上一帧视频码流和音频码流、解码所述第二通道至第N通道的视频文件的上一帧视频码流和音频码流、解析所述第一通道的视频文件的下一帧视频码流和音频码流以及解析所述第二通道至第N通道的视频文件的下一帧视频码流和音频码流;
[0034]H、重复步骤E至步骤G,直到第一通道、第二通道至第N通道的视频文件全部解码结束;
[0035]1、播放第一通道、第二通道至第N通道解码后的视频文件。
[0036]所述装置包括:码流属性获取单元,用于解析第一通道的视频文件,获取所述第一通道的视频文件的第一帧视频码流和音频码流,以及获取所述第一通道的视频文件的第一帧视频码流和音频码流的属性;所述第一通道的视频文件的第一帧视频码流和音频码流的属性包括视频码流和音频码流的解码方式、解码尺寸大小;用于依次解析第二通道至第N通道的视频文件,获取所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流,以及获取所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性;所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性包括视频码流和音频码流的解码方式、解码尺寸大小;所述N为整数,N大于等于2 ;
[0037]码流属性设置单元,用于在所述第一通道创建第一解码实例,根据获取的所述第一通道的视频文件的第一帧视频码流和音频码流的属性设置所述第一通道的解码方式、解码尺寸大小;以及用于在所述第二通道至第N通道创建第二至第N解码实例,根据获取的所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性设置所述第二通道至第N通道的解码方式、解码尺寸大小;
[0038]寄存器设置单元,用于获取第一通道的视频文件的上一帧视频码流和音频码流的解码信息,依据获取的解码信息确定所述第一通道的解码参数,将所述第一通道的解码参数设置在所述第一通道的寄存器中;以及用于获取第二通道至第N通道的视频文件的上一帧视频码流和音频码流的解码信息,依据获取的解码信息确定所述第二通道至第N通道的解码参数,将所述第二通道至第N通道的解码参数分别设置在所述第二通道至第N通道的寄存器中;
[0039]码流解码单元,用于采用设置了解码参数的第一通道的寄存器、第二通道至第N通道的寄存器分别对所述第一通道的视频文件、所述第二通道至第N通道的视频文件进行硬件解码,同时解码所述第一通道的视频文件的上一帧视频码流和音频码流、解码所述第二通道至第N通道的视频文件的上一帧视频码流和音频码流、解析所述第一通道的视频文件的下一帧视频码流和音频码流以及解析所述第二通道至第N通道的视频文件的下一帧视频码流和音频码流;
[0040]码流播放单元,用于播放第一通道、第二通道至第N通道解码后的视频文件。
[0041]在本发明实施例中,由于采用软件和硬件解码并行的方式,充分利用了硬件解码时的时间,因此极大提高了解码效率。
[0042]为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0043]实施例一:
[0044]图1示出了本发明第一实施例提供的一种多路视频播放方法的流程图,详述如下:
[0045]步骤S101、解析第一通道的视频文件,获取所述第一通道的视频文件的第一帧视频码流和音频码流,以及获取所述第一通道的视频文件的第一帧视频码流和音频码流的属性;所述第一通道的视频文件的第一帧视频码流和音频码流的属性包括视频码流和音频码流的解码方式、解码尺寸大小。
[0046]其中,视频文件的格式可以为音频视频交错格式(Aud1 Video Interleaved,avi)、mp4、wmv等;视频码流和音频码流的属性指从文件容器获取的信息,包括:视频码流的解码方式、音频码流的解码方式、视频码流的解码尺寸大小、音频码流的解码尺寸大小、视频码流的总帧数、音频码流的总帧数、视频码流的总的码流的大小、音频码流的总的码流的大小、播放时间长度等等。
[0047]优选地,本实施例提供的视频播放方法的解码方式包括以下任一种:H.264、MJPEG, H.263、MPEG4、MPEG2、RV。
[0048]其中,RV解码方式是指实时视频(Real Video, RV)0本实施例提供的具体的解码方式与视频码流和音频码流的属性相对应,若视频文件是wmv格式的,则该wmv格式的视频文件采用MPEG4的解码方式。
[0049]优选地,本实施例提供的视频播放方法的解码尺寸大小包括以下任一种:QCIF、1080p、720p、Dl、VGA、CIF。
[0050]其中,Dl的分辨率为720X480。本实施例提供的解码尺寸大小同样与视频码流和音频码流的属性相对应,当视频文件的编码图像大小为QCIF时,解码尺寸大小相应地为QCIF0
[0051]该步骤中,第一通道解析需要在该第一通道播放的一个视频文件,以获取该视频文件的第一帧视频码流和第一帧音频码流。
[0052]步骤S102、依次解析第二通道至第N通道的视频文件,获取所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流,以及获取所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性;所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性包括视频码流和音频码流的解码方式、解码尺寸大小;所述N为整数,N大于等于2。
[0053]该步骤的视频文件的格式与步骤SlOl的相同,包括:av1、mp4、wmv等格式。在该步骤获取的视频码流和音频码流的属性是指在第二通道至第N通道解析的视频文件的视频码流和音频码流的属性,具体参阅步骤S101,此处不再赘述。
[0054]步骤S103、在所述第一通道创建第一解码实例,根据获取的所述第一通道的视频文件的第一帧视频码流和音频码流的属性设置所述第一通道的解码方式、解码尺寸大小。
[0055]该步骤中,只需要根据视频文件的第一帧视频码流和第一帧音频码流的属性设置一次第一通道的解码方式、解码尺寸大小以及相关的解码属性(如:视频码流的总帧数、音频码流的总帧数等数据)即可,后续无需重新设置。
[0056]步骤S104、在所述第二通道至第N通道创建第二至第N解码实例,根据获取的所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性设置所述第二通道至第N通道的解码方式、解码尺寸大小。
[0057]该步骤中,在第二通道至第N通道分别设置对应的第二解码实例,…,第N解码实例,其中,第二通道至第N通道的设置过程、需设置的信息与步骤S103相同,此处不再赘述。
[0058]步骤S105、获取第一通道的视频文件的上一帧视频码流和音频码流的解码信息,依据获取的解码信息确定所述第一通道的解码参数,将所述第一通道的解码参数设置在所述第一通道的寄存器中。
[0059]该步骤中,从文件容器中获取的视频码流的头部信息中获取视频文件的解码信息,比如视频的分辨率、帧的属性(判断该帧属于i帧或P帧的信息)等等,获取的解码信息将作为第一通道的解码参数。
[0060]步骤S106、获取第二通道至第N通道的视频文件的上一帧视频码流和音频码流的解码信息,依据获取的解码信息确定所述第二通道至第N通道的解码参数,将所述第二通道至第N通道的解码参数分别设置在所述第二通道至第N通道的寄存器中。
[0061]该步骤中,对第二通道至第N通道的寄存器的设置过程与步骤S105的相同,此处不再赘述。
[0062]步骤S107、采用设置了解码参数的第一通道的寄存器至第N通道的寄存器分别对所述第一通道的视频文件至第N通道的视频文件进行硬件解码,同时解码所述第一通道至第N通道的视频文件的上一帧视频码流和音频码流、解析所述第一通道至第N通道的视频文件的下一帧视频码流和音频码流。
[0063]该步骤中,当第一通道的寄存器、第二通道至第N通道的寄存器都设置完毕后,硬件解码就启动了。在硬件解码启动的同时,第一通道至第N通道进行软件解码对应音频的操作、第一通道至第N通道对该第一通道至第N通道的视频文件的下一帧视频码流和音频码流的解析操作等。
[0064]在第一通道至第N通道都解码结束,且步骤S107也完成的情况下,重复步骤S105至步骤S107,直到第一通道、第二通道至第N通道的视频文件全部解码结束。
[0065]步骤S108、播放第一通道、第二通道至第N通道解码后的视频文件。
[0066]在本发明实施例中,第一通道至第N通道创建的多个(2个及2个以上)解码实例能够在硬件解码第一帧视频码流和音频码流开始时,同时启动软件对第二帧视频文件的解析和软件对音频的解码,充分利用了硬件解码时的时间。由于本发明实施例采用软件和硬件解码并行的方式,因此极大提高了解码效率。
[0067]作为一优选实施例,在步骤S105,获取第一通道的视频文件的上一帧视频码流和音频码流的解码信息时,还包括下述步骤:获取所述第一通道的视频文件的视频码流的时间戳和所述第一通道的视频文件的音频码流的时间戳;在步骤S106,获取第二通道至第N通道的视频文件的上一帧视频码流和音频码流的解码信息时,还包括下述步骤:获取所述第二通道至第N通道的视频文件的视频码流的时间戳和所述第二通道至第N通道的视频文件的音频码流的时间戳。
[0068]本实施例中,从文件容器中获取的视频码流的头部信息中逐个获取各帧的视频码流的时间戳和音频码流的时间戳,便于后续根据获取的时间戳选择是否执行解码操作。
[0069]作为一优选实施例,在步骤S107,解码所述第一通道的视频文件的上一帧视频码流和音频码流、解码所述第二通道至第N通道的视频文件的上一帧视频码流和音频码流的步骤具体包括:
[0070]判断所述第一通道的视频文件的上一帧视频码流的时间戳是否与对应的音频码流的时间戳相等,并在相等时,解码所述视频码流和音频码流;判断所述第二通道至第N通道的视频文件的上一帧视频码流的时间戳是否与对应的音频码流的时间戳相等,并在相等时,解码所述视频码流和音频码流。
[0071]本实施例中,只有在视频码流和其对应的音频码流的时间戳相等时(如第一帧视频码流的时间戳与第一帧的音频码流的时间戳相等),才执行视频码流的解码操作,从而能够保证解码视频码流和音频码流的同步性。
[0072]在上述实施例中,若所述第一通道的视频文件的上一帧的视频码流的时间戳与对应的音频码流的时间戳不相等,丢弃所述第一通道的视频文件的上一帧的视频码流;若所述第二通道至第N通道的视频文件的上一帧视频码流的时间戳与对应的音频码流的时间戳不相等,丢弃所述第二通道至第N通道的视频文件的上一帧的视频码流。
[0073]本实施例中,由于视频码流的解码时间通常大于音频码流的解码时间,为了保持视频码流和音频码流的同步性,在判断出解码的视频码流的时间戳与解码的音频码流的时间戳不相等时,丢弃需解码的视频码流,能够加快视频文件的解码速度。
[0074]实施例二:
[0075]图2示出了本发明第二实施例提供的一种多路视频播放装置的结构图,该多路视频播放装置可以为mp5、平板电脑、网络机顶盒等,为了便于说明,仅示出了与本实施例相关的部分。
[0076]该多路视频播放装置装置包括:码流属性获取单元21、码流属性设置单元22、寄存器设置单元23、码流解码单元24、码流播放单元25。其中:
[0077]码流属性获取单元21,用于解析第一通道的视频文件,获取所述第一通道的视频文件的第一帧视频码流和音频码流,以及获取所述第一通道的视频文件的第一帧视频码流和音频码流的属性;所述第一通道的视频文件的第一帧视频码流和音频码流的属性包括视频码流和音频码流的解码方式、解码尺寸大小;用于依次解析第二通道至第N通道的视频文件,获取所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流,以及获取所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性;所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性包括视频码流和音频码流的解码方式、解码尺寸大小;所述N为整数,N大于等于2。
[0078]本实施例中,视频码流和音频码流的属性指从文件容器获取的信息,包括:视频码流的解码方式、音频码流的解码方式、视频码流的解码尺寸大小、音频码流的解码尺寸大小、视频码流的总帧数、音频码流的总帧数、视频码流的总的码流的大小、音频码流的总的码流的大小、播放时间长度等等。
[0079]优选地,本实施例提供的解码方式包括以下任一种:H.264、MJPEG, H.263、MPEG4、MPEG2、RV。
[0080]优选地,本实施例提供的解码尺寸大小包括以下任一种:QCIF、1080p、720p、DUVGA、CIFo
[0081]码流属性设置单元22,用于在所述第一通道创建第一解码实例,根据获取的所述第一通道的视频文件的第一帧视频码流和音频码流的属性设置所述第一通道的解码方式、解码尺寸大小;以及用于在所述第二通道至第N通道创建第二至第N解码实例,根据获取的所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性设置所述第二通道至第N通道的解码方式、解码尺寸大小。
[0082]本实施例中,根据视频文件的第一帧视频码流和第一帧音频码流的属性设置一次第一通道的解码方式、解码尺寸大小以及相关的解码属性即可,后续无需重新设置。
[0083]寄存器设置单元23,用于获取第一通道的视频文件的上一帧视频码流和音频码流的解码信息,依据获取的解码信息确定所述第一通道的解码参数,将所述第一通道的解码参数设置在所述第一通道的寄存器中;以及用于获取第二通道至第N通道的视频文件的上一帧视频码流和音频码流的解码信息,依据获取的解码信息确定所述第二通道至第N通道的解码参数,将所述第二通道至第N通道的解码参数分别设置在所述第二通道至第N通道的寄存器中。
[0084]本实施例中,从文件容器中获取的视频码流的头部信息中获取视频文件的解码信息,比如视频的分辨率、帧的属性等等,获取的解码信息将作为与该文件容器对应的通道的解码参数。
[0085]码流解码单元24,用于采用设置了解码参数的第一通道的寄存器、第二通道至第N通道的寄存器分别对所述第一通道的视频文件、所述第二通道至第N通道的视频文件进行硬件解码,同时解码所述第一通道的视频文件的上一帧视频码流和音频码流、解码所述第二通道至第N通道的视频文件的上一帧视频码流和音频码流、解析所述第一通道的视频文件的下一帧视频码流和音频码流以及解析所述第二通道至第N通道的视频文件的下一帧视频码流和音频码流。
[0086]本实施例中,在硬件解码的同时实现软件解码,以提高解码效率。
[0087]码流播放单元25,用于播放第一通道、第二通道至第N通道解码后的视频文件。
[0088]在本发明实施例中,由于采用软件和硬件解码并行的方式,充分利用了硬件解码时的时间,因此极大提高了解码效率。
[0089]作为一优选实施例,所述寄存器设置单元23在获取第一通道的视频文件的上一帧视频码流和音频码流的解码信息时,还获取所述第一通道的视频文件的视频码流的时间戳和所述第一通道的视频文件的音频码流的时间戳;在获取第二通道至第N通道的视频文件的上一帧视频码流和音频码流的解码信息时,还获取所述第二通道至第N通道的视频文件的视频码流的时间戳和所述第二通道至第N通道的视频文件的音频码流的时间戳。
[0090]本实施例中,从文件容器中获取的视频码流的头部信息中逐个获取各帧的视频码流的时间戳和音频码流的时间戳,便于后续根据获取的时间戳选择是否执行解码操作。
[0091]作为一优选实施例,所述码流解码单元24在解码所述第一通道的视频文件的上一帧视频码流和音频码流、解码所述第二通道至第N通道的视频文件的上一帧视频码流和音频码流时,判断所述第一通道的视频文件的上一帧视频码流的时间戳是否与对应的音频码流的时间戳相等,并在相等时,解码所述视频码流和音频码流;以及判断所述第二通道至第N通道的视频文件的上一帧视频码流的时间戳是否与对应的音频码流的时间戳相等,并在相等时,解码所述视频码流和音频码流。
[0092]作为一优选实施例,所述码流解码单元24在解码所述第一通道的视频文件的上一帧视频码流和音频码流、解码所述第二通道至第N通道的视频文件的上一帧视频码流和音频码流时,
[0093]若判断出所述第一通道的视频文件的上一帧的视频码流的时间戳与对应的音频码流的时间戳不相等,丢弃所述第一通道的视频文件的上一帧的视频码流;
[0094]若判断出所述第二通道至第N通道的视频文件的上一帧视频码流的时间戳与对应的音频码流的时间戳不相等,丢弃所述第二通道的视频文件的上一帧的视频码流。
[0095]在上述实施例中,只有在视频码流和其对应的音频码流的时间戳相等时,才执行视频码流的解码操作,否则,丢弃该视频码流和音频码流,从而能够保证解码视频码流和音频码流的同步性,同时加快了视频文件的解码速度。
[0096]在本发明实施例中,第一通道至第N通道创建的多个(2个及2个以上)解码实例能够在硬件解码第一帧视频码流和音频码流开始时,同时启动软件对第二帧视频文件的解析和软件对音频的解码,充分利用了硬件解码时的时间。由于本发明实施例采用软件和硬件解码并行的方式,因此极大提高了解码效率。
[0097]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种多路视频播放方法,其特征在于,所述多路视频播放方法包括步骤: A、解析第一通道的视频文件,获取所述第一通道的视频文件的第一帧视频码流和音频码流,以及获取所述第一通道的视频文件的第一帧视频码流和音频码流的属性;所述第一通道的视频文件的第一帧视频码流和音频码流的属性包括视频码流和音频码流的解码方式、解码尺寸大小; B、依次解析第二通道至第N通道的视频文件,获取所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流,以及获取所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性;所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性包括视频码流和音频码流的解码方式、解码尺寸大小;所述N为整数,N大于等于2 ; C、在所述第一通道创建第一解码实例,根据获取的所述第一通道的视频文件的第一帧视频码流和音频码流的属性设置所述第一通道的解码方式、解码尺寸大小; D、在所述第二通道至第N通道创建第二至第N解码实例,根据获取的所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性设置所述第二通道至第N通道的解码方式、解码尺寸大小; E、获取第一通道的视频文件的上一帧视频码流和音频码流的解码信息,依据获取的解码信息确定所述第一通道的解码参数,将所述第一通道的解码参数设置在所述第一通道的寄存器中; F、获取第二通道至第N通道的视频文件的上一帧视频码流和音频码流的解码信息,依据获取的解码信息确定所述第二通道至第N通道的解码参数,将所述第二通道至第N通道的解码参数分别设置在所述第二通道至第N通道的寄存器中; G、采用设置了解码参数的第一通道的寄存器、第二通道至第N通道的寄存器分别对所述第一通道的视频文件、所述第二通道至第N通道的视频文件进行硬件解码,同时解码所述第一通道的视频文件的上一帧视频码流和音频码流、解码所述第二通道至第N通道的视频文件的上一帧视频码流和音频码流、解析所述第一通道的视频文件的下一帧视频码流和音频码流以及解析所述第二通道至第N通道的视频文件的下一帧视频码流和音频码流; H、重复步骤E至步骤G,直到第一通道、第二通道至第N通道的视频文件全部解码结束; 1、播放第一通道、第二通道至第N通道解码后的视频文件。
2.如权利要求1所述的方法,其特征在于,在步骤E,获取第一通道的视频文件的上一帧视频码流和音频码流的解码信息时,还包括下述步骤:获取所述第一通道的视频文件的视频码流的时间戳和所述第一通道的视频文件的音频码流的时间戳; 在步骤F,获取第二通道至第N通道的视频文件的上一帧视频码流和音频码流的解码信息时,还包括下述步骤:获取所述第二通道至第N通道的视频文件的视频码流的时间戳和所述第二通道至第N通道的视频文件的音频码流的时间戳。
3.如权利要求要求2所述的方法,其特征在于,在步骤G,解码所述第一通道的视频文件的上一帧视频码流和音频码流、解码所述第二通道至第N通道的视频文件的上一帧视频码流和音频码流的步骤具体包括: 判断所述第一通道的视频文件的上一帧视频码流的时间戳是否与对应的音频码流的时间戳相等,并在相等时,解码所述视频码流和音频码流; 判断所述第二通道至第N通道的视频文件的上一帧视频码流的时间戳是否与对应的音频码流的时间戳相等,并在相等时,解码所述视频码流和音频码流。
4.如权利要求要求3所述的方法,其特征在于, 若所述第一通道的视频文件的上一帧的视频码流的时间戳与对应的音频码流的时间戳不相等,丢弃所述第一通道的视频文件的上一帧的视频码流; 若所述第二通道至第N通道的视频文件的上一帧视频码流的时间戳与对应的音频码流的时间戳不相等,丢弃所述第二通道的视频文件的上一帧的视频码流。
5.如权利要求要求I至4任一项所述的方法,其特征在于,所述解码方式包括以下任一种:
H.264、MJPEG,H.263、MPEG4、MPEG2、RV。
6.如权利要求1至4任一项所述的方法,其特征在于,所述解码尺寸大小包括以下任一种:
1080p、720p、Dl、VGA、CIF。
7.一种多路视频播放装置,其特征在于,所述多路视频播放装置包括: 码流属性获取单元,用于解析第一通道的视频文件,获取所述第一通道的视频文件的第一帧视频码流和音频码流,以及获取所述第一通道的视频文件的第一帧视频码流和音频码流的属性;所述第一通道的视频文件的第一帧视频码流和音频码流的属性包括视频码流和音频码流的解码方式、解码尺寸大小;用于依次解析第二通道至第N通道的视频文件,获取所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流,以及获取所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性;所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性包括视频码流和音频码流的解码方式、解码尺寸大小;所述N为整数,N大于等于2 ; 码流属性设置单元,用于在所述第一通道创建第一解码实例,根据获取的所述第一通道的视频文件的第一帧视频码流和音频码流的属性设置所述第一通道的解码方式、解码尺寸大小;以及用于在所述第二通道至第N通道创建第二至第N解码实例,根据获取的所述第二通道至第N通道的视频文件的第一帧视频码流和音频码流的属性设置所述第二通道至第N通道的解码方式、解码尺寸大小; 寄存器设置单元,用于获取第一通道的视频文件的上一帧视频码流和音频码流的解码信息,依据获取的解码信息确定所述第一通道的解码参数,将所述第一通道的解码参数设置在所述第一通道的寄存器中;以及用于获取第二通道至第N通道的视频文件的上一帧视频码流和音频码流的解码信息,依据获取的解码信息确定所述第二通道至第N通道的解码参数,将所述第二通道至第N通道的解码参数分别设置在所述第二通道至第N通道的寄存器中; 码流解码单元,用于采用设置了解码参数的第一通道的寄存器、第二通道至第N通道的寄存器分别对所述第一通道的视频文件、所述第二通道至第N通道的视频文件进行硬件解码,同时解码所述第一通道的视频文件的上一帧视频码流和音频码流、解码所述第二通道至第N通道的视频文件的上一帧视频码流和音频码流、解析所述第一通道的视频文件的下一帧视频码流和音频码流以及解析所述第二通道至第N通道的视频文件的下一帧视频码流和首频码流; 码流播放单元,用于播放第一通道、第二通道至第N通道解码后的视频文件。
8.如权利要求7所述的多路视频播放装置,其特征在于,所述寄存器设置单元在获取第一通道的视频文件的上一帧视频码流和音频码流的解码信息时,还获取所述第一通道的视频文件的视频码流的时间戳和所述第一通道的视频文件的音频码流的时间戳;在获取第二通道至第N通道的视频文件的上一帧视频码流和音频码流的解码信息时,还获取所述第二通道至第N通道的视频文件的视频码流的时间戳和所述第二通道至第N通道的视频文件的音频码流的时间戳。
9.如权利要求要求8所述的多路视频播放装置,其特征在于,所述码流解码单元在解码所述第一通道的视频文件的上一帧视频码流和音频码流、解码所述第二通道至第N通道的视频文件的上一帧视频码流和音频码流时,判断所述第一通道的视频文件的上一帧视频码流的时间戳是否与对应的音频码流的时间戳相等,并在相等时,解码所述视频码流和音频码流;以及判断所述第二通道至第N通道的视频文件的上一帧视频码流的时间戳是否与对应的音频码流的时间戳相等,并在相等时,解码所述视频码流和音频码流。
10.如权利要求要求8所述的多路视频播放装置,其特征在于,所述码流解码单元在解码所述第一通道的视频文件的上一帧视频码流和音频码流、解码所述第二通道至第N通道的视频文件的上一帧视频码流和音频码流时, 若判断出所述第一通道的视频文件的上一帧的视频码流的时间戳与对应的音频码流的时间戳不相等,丢弃所述第一通道的视频文件的上一帧的视频码流; 若判断出所述第二通道至第N通道的视频文件的上一帧视频码流的时间戳与对应的音频码流的时间戳不相等,丢弃所述第二通道的视频文件的上一帧的视频码流。
【文档编号】H04N21/4405GK104333764SQ201310309785
【公开日】2015年2月4日 申请日期:2013年7月22日 优先权日:2013年7月22日
【发明者】胡静, 苏丹, 胡胜发 申请人:安凯(广州)微电子技术有限公司