专利名称:一种在低端嵌入式产品播放视频的方法、装置及终端的制作方法
技术领域:
本发明属于音视频领域,尤其涉及一种在低端嵌入式产品播放视频的方法、装置及終端。
背景技术:
低端嵌入式产品,如具有音视频播放功能的MP4,其硬件条件通常较差,如较小的内存,较低的CPU处理速度或者较窄的DMA带宽等。低端嵌入式产品本身硬件条件的限制使其播放视频文件的效果不够理想,在播放视频文件的过程中经常会出现停顿或者音视频播放不同步的现象。这是因为在有限的硬件条件下,播放音视频码流交错存放的视频文件时,文件系统需要耗费较多的时间来捜索相应的音视频码流,从而出现停顿或者音视频播放不同步的现象。
以图I为例,图I示出了 avi文件存放视频码流和音频码流的格式,由图I可以看出,该avi文件交错存放音频码流和视频码流。在该avi文件中,该音频码流的格式为未经过压缩的pcm格式,该视频码流的格式则为MJPEG格式,由于由MJPEG格式的视频码流和pcm格式的音频码流组成的avi文件是通过视频转换工具转换而来的,因此可能会导致同一时间点的视频码流和音频码流在该avi文件中的位置相差很大。以图I为例,假设音频采样率为44K,采样位数为16bit,声道数为2,确定每次写入的音频时间单位为200毫秒,则根据公式采样率*时间* (采样位数/8) *声道数=BYTE,即可计算出写入的数据为17. 6kbyte ;假设视频的帧率为10帧/秒,则在200毫秒的时间内,写入2帧的视频数据。假设视频码流I、视频码流2与音频码流I为同一个200毫秒时间内的音视频数据。文件解析器读取了音频码流I的数据后,文件指针就指向A位置,这时文件解析器要读取同一时间点的视频码流时,文件指针需往回捜索到B位置,也就是其中需要经过ー个音频码流的大小和6个视频帧码流的大小,即文件指针需回退I个音频码流的大小加上6个视频帧码流的大小。当文件解析器读取完视频码流I和视频码流2后,将到达C位置,这时读取下ー个音频码流时,文件指针需向前捜索至D位置,即文件指针需向前捜索I个音频码流的大小加上6个视频帧码流的大小。由于音频数据并不是均匀的,可能在捜索的过程中遇到某个时间内的较大音频数据,因此这样的来回捜索占用了大量的CPU时间,极大地影响了低端嵌入式产品的解码速度,降低解码速度,造成视频的停顿或卡的现象。
发明内容
本发明实施例提供了一种在低端嵌入式产品播放视频的方法,g在解决在低端嵌入式产品上播放视频时,文件解析器需来回搜索读取的音视频数据,占用了大量的CPU时间所导致的视频停顿的问题。本发明实施例是这样实现的,一种在低端嵌入式产品播放视频的方法,所述方法包括下述步骤在接收到音视频文件播放请求时,开启音频文件句柄和视频文件句柄;
根据所述音频文件句柄读取音频码流;根据所述视频文件句柄读取视频码流;播放读取的音频码流和视频码流。本发明实施例的另一目的在于提供一种在低端嵌入式产品播放视频的装置,所述装置包括文件句柄开启单元,用于在接收到音视频文件播放请求时,开启音频文件句柄和视频文件句柄;音频码流读取单元,用于根据所述音频文件句柄读取音频码流;视频码流读取单元,用于根据所述视频文件句柄读取视频码流; 音视频码流播放单元,用于播放读取的音频码流和视频码流。本发明实施例的另一目的在于提供一种包含上述在低端嵌入式产品播放视频的装置的终端。本发明实施例中,在低端嵌入式产品上接收到音视频文件的播放请求之后,在文件解析器中开启音频文件句柄和视频文件句柄,该音频文件句柄用于搜索音视频文件中的音频码流,该视频文件句柄用于搜索音视频文件中的视频码流,并播放搜索到的音频码流和视频码流。由于同时开启了音频文件句柄和视频文件句柄,因此在音频文件句柄读取下一块音频码流时,只需读取当前音频文件句柄的文件指针指向的下一块音频码流,而无需来回搜索下一块音频码流,同时,在视频文件句柄读取下一帧视频码流时,也无需来回搜索下一帧视频码流,减少了来回搜索音频码流或者视频码流的时间,节省了占用CPU的时间,从而有效提高解码速度,减少了在播放音视频过程中产生的停顿现象或卡现象,使播放更流畅。
图I是现有技术提供的读取avi文件中视频码流和音频码流的示意图;图2是本发明第一实施例提供的在低端嵌入式产品播放视频的方法流程;图3是本发明第一实施例提供的读取avi文件中视频码流和音频码流的示意图;图4是本发明第二实施例提供的在低端嵌入式产品播放视频的装置的结构。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例中,在播放音视频文件时开启了 2个文件句柄,一个是负责搜索音频码流的文件句柄,一个是负责搜索视频码流的文件句柄,从而减少了在音视频文件播放过程中文件来回搜索的次数。本发明实施例提供了一种在低端嵌入式产品播放视频的方法、装置及终端。所述方法包括在接收到音视频文件播放请求时,开启音频文件句柄和视频文件句柄;根据所述音频文件句柄读取音频码流;
根据所述视频文件句柄读取视频码流;播放读取的音频码流和视频码流。所述装置包括文件句柄开启单元,用于在接收到音视频文件播放请求时,开启音频文件句柄和视频文件句柄;音频码流读取单元,用于根据所述音频文件句柄读取音频码流;视频码流读取单元,用于根据所述视频文件句柄读取视频码流;音视频码流播放单元,用于播放读取的音频码流和视频码流。所述设备包括上述在低端嵌入式产品播放视频的装置的终端。本发明实施例中,在低端嵌入式产品上接收到音视频文件的播放请求之后,在文 件解析器中开启音频文件句柄和视频文件句柄,该音频文件句柄用于搜索音视频文件中的音频码流,该视频文件句柄用于搜索音视频文件中的视频码流,并播放搜索到的音频码流和视频码流。由于同时开启了音频文件句柄和视频文件句柄,因此在音频文件句柄读取下一块音频码流时,只需读取当前音频文件句柄的文件指针指向的下一块音频码流,而无需来回搜索下一块音频码流,同时,在视频文件句柄读取下一帧视频码流时,也无需来回搜索下一帧视频码流,减少了来回搜索音频码流或者视频码流的时间,节省了占用CPU的时间,从而有效提高解码速度,减少了在播放音视频过程中产生的停顿现象或卡现象,使播放更流畅。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。实施例一:图2示出了本发明第一实施例提供的在低端嵌入式产品播放视频的方法流程,在本发明实施例中,主要以采用pcm格式的音频码流和采用MPEG格式的视频码流的avi音视频文件为例进行说明,当然,本发明也适用于其他类型的音视频文件,此处不作限定。详述如下在步骤S21中,在接收到音视频文件播放请求时,开启音频文件句柄和视频文件句柄。在本实施例中,音视频文件为交错存放音频码流和视频码流的文件,常见的音视频文件如avi文件。在该avi文件中,音频码流可采用pcm格式,视频码流可采用MJPEG格式。假设音视频文件存储音频码流和视频码流的格式如图3所示,在图3中,存在Olwb音频码流I和Olwb音频码流2的两个音频码流,以及存在8个视频码流。在接收到音视频文件播放请求时,文件解析器开启一个用于搜索视频码流的视频文件句柄,以及开启一个用于搜索音频码流的音频文件句柄。在步骤S22中,根据该音频文件句柄读取音频码流。在本实施例中,解析音视频文件的某块音频码流时,开启的音频文件句柄中的文件指针首先指向该音频码流在文件中的起始地址,如解析图3中的Olwb音频码流I时,文件指针首先指向图3中的A位置,当读取了这一块的音频码流之后,该文件指针再指向该块音频码流在文件中的结束地址,如指向图3中的B位置。在继续解析下一块音频码流,如解析图3中Olwb音频码流2时,音频文件句柄的文件指针首先根据音频码流的特征字“Olwb”往前搜索到下一块音频码流一一Olwb音频码流2,该音频文件句柄中的文件指针指向该块音频码流的起始地址,如指向图3中的C位置,并读取该音频码流的起始地址到音频码流的结束地址的音频码流,该文件指针指向该音频码流在文件中的结束地址,如指向图3中的D位置。在本实施例中,音频文件句柄在解析图3中的Olwb音频码流I之后,只需经过2次视频码流的搜索即可解析到Olwb音频码流2。在步骤S23中,根据该视频文件句柄读取视频码流。在本实施例中,假设OOdc视频码流I和OOdc视频码流2与0 Iwb音频码流I为同一时间的音视频数据,则解析音视频文件的OOdc视频码流I时,开启的视频文件句柄中的文件指针首先指向该视频码流在文件中的起始地址,如指向图3中的E位置,当读取了这一帧的视频码流之后,该文件指针再指向该帧视频码 流在文件中的结束地址,如指向图3中的F位置。根据上述方法继续读取OOdc视频码流2的视频码流,读取了 OOdc视频码流2的视频码流之后,文件指针指向图3中的G位置。在解析了下一块音频码流之后,继续解析与该块音频码流对应的视频码流,如解析图3中Olwb音频码流3时,视频文件句柄的文件指针首先根据视频码流的特征字“OOdc”
往前搜索到下一巾贞视频码流----OOdc视频码流3,该视频文件句柄中的文件指针指向该中贞
视频码流的起始地址,如指向图3中的G位置,并读取该视频码流的起始地址到该视频码流的结束地址的视频码流,该文件指针指向该视频码流在文件中的结束地址,如指向图3中的H位置。在本实施例中,开启视频文件句柄搜索视频码流,由于该视频文件句柄仅用于搜索视频码流,因此读取视频码流之前不需大跨度地来回搜索视频码流,从而节省大量的CPU时间,极大地提高了解码速度。在步骤S24中,播放读取的音频码流和视频码流。在本实施例中,快速读取了音频码流和视频码流之后,播放读取的音频码流和视频码流。在本发明第一实施例中,在低端嵌入式产品上接收到音视频文件的播放请求时,在文件解析器中开启了音频文件句柄和视频文件句柄,该音频文件句柄用于搜索音视频文件中的音频码流,该视频文件句柄用于搜索音视频文件中的视频码流,并播放搜索到的音频码流和视频码流。由于同时开启了音频文件句柄和视频文件句柄,因此减少了来回搜索音频码流或者视频码流的时间,节省了占用CPU的时间,从而有效提高解码速度,减少了在播放音视频过程中产生的停顿现象或卡现象,使播放更流畅。实施例二 :图4示出了本发明第二实施例提供的在低端嵌入式产品播放视频的装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分。该在低端嵌入式产品播放视频的装置可以用于通过有线或者无线网络连接服务器的各种信息处理终端,例如移动电话、口袋计算机(Pocket PersonalComputer, PPC)、掌上电脑、计算机、笔记本电脑、个人数字助理(PersonalDigital Assistant,PDA)等,可以是运行于这些终端内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到这些终端中或者运行于这些终端的应用系统中,其中文件句柄开启单元41,用于在接收到音视频文件播放请求时,开启音频文件句柄和视频文件句柄。
在本实施例中,该音视频文件可以为avi文件,在该avi文件中,音频码流可采用pcm格式,视频码流可采用MJPEG格式。在接收到音视频文件播放请求时,文件解析器开启一个用于搜索视频码流的视频文件句柄,以及开启一个用于搜索音频码流的音频文件句柄。音频码流读取单元42,用于根据所述音频文件句柄读取音频码流。作为本发明的另一个实施例,该音频码流读取单元42包括音频码流搜索模块421,用于所述音频文件句柄的文件指针根据音频码流的特征字搜索音频码流,并指向搜索到的音频码流的起始地址;音频码流读取模块422,用于读取所述音频码流后,所述文件指针指向所述音频码流的结束地址。在本实施例中,解析音视频文件的某块音频码流时,开启的音频文件句柄中的文 件指针首先指向该音频码流在文件中的起始地址,当读取了这一块的音频码流之后,该文件指针再指向该块音频码流在文件中的结束地址。在继续读取下一块音频码流之前,只需从该块音频码流开始往前搜索,而无需来回搜索,直到搜索到特征字为“Olwb”的音频码流。视频码流读取单元43,用于根据所述视频文件句柄读取视频码流。作为本发明的另一个实施例,该视频码流读取单元43包括视频码流搜索模块431,用于所述视频文件句柄的文件指针根据视频码流的特征字搜索视频码流,并指向搜索到的视频码流的起始地址;视频码流读取模块432,用于读取所述视频码流后,所述文件指针指向所述视频码流的结束地址。在本实施例中,解析音视频文件的某帧视频码流时,开启的视频文件句柄中的文件指针首先指向该视频码流在文件中的起始地址,当读取了这一块的视频码流之后,该文件指针再指向该帧视频码流在文件中的结束地址。在继续读取下一帧视频码流之前,只需从该帧视频频码流开始往前搜索,而无需来回搜索,直到搜索到特征字为“OOdc”的视频码流。音视频码流播放单元44,用于播放读取的音频码流和视频码流。在本发明第二实施例中,文件句柄开启单元41在接收到音视频文件播放请求时开启视频文件句柄和音频文件句柄,音频码流读取单元42根据开启的音频文件句柄读取音频码流,视频码流读取单元43则根据开启的视频文件句柄读取视频码流,在读取了音视频码流之后,音视频码流播放单元44播放读取的音视频码流。由于音频码流读取单元42在读取下一个音频码流时,只需读取当前文件指针指向的下一个音频码流,而无需来回搜索下一个音频码流,同时视频码流读取单元43在读取下一个视频码流时也无需来回搜索下一个视频码流,因此能够有效节省搜索音频码流或者视频码流的时间,从而提高了解码速度,减少了在播放音视频过程中产生的停顿现象或卡现象。本发明实施例中,在低端嵌入式产品上接收到音视频文件的播放请求之后,在文件解析器中开启音频文件句柄和视频文件句柄,该音频文件句柄用于搜索音视频文件中的音频码流,该视频文件句柄用于搜索音视频文件中的视频码流,并播放搜索到的音频码流和视频码流。由于同时开启了音频文件句柄和视频文件句柄,因此在音频文件句柄读取下一块音频码流时,只需读取当前音频文件句柄的文件指针指向的下一块音频码流,而无需来回搜索下一块音频码流,同时,在视频文件句柄读取下一帧视频码流时,也无需来回搜索下一帧视频码流,减少了来回搜索音频码流或者视频码流的时间,节省了占用CPU的时间,从而有效提高解码速度,减少了在播放音视频过程中产生的停顿现象或卡现象,使播放更 流畅。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种在低端嵌入式产品播放视频的方法,其特征在于,所述方法包括下述步骤 在接收到音视频文件播放请求时,开启音频文件句柄和视频文件句柄; 根据所述音频文件句柄读取音频码流; 根据所述视频文件句柄读取视频码流; 播放读取的音频码流和视频码流。
2.如权利要求I所述的方法,其特征在于,所述根据所述音频文件句柄读取音频码流的步骤具体为 所述音频文件句柄的文件指针根据音频码流的特征字搜索音频码流,并指向搜索到的音频码流的起始地址; 读取所述音频码流后,所述文件指针指向所述音频码流的结束地址。
3.如权利要求I所述的方法,其特征在于,所述根据所述视频文件句柄读取视频码流的步骤具体为 所述视频文件句柄的文件指针根据视频码流的特征字搜索视频码流,并指向搜索到的视频码流的起始地址; 读取所述视频码流后,所述文件指针指向所述视频码流的结束地址。
4.一种在低端嵌入式产品播放视频的装置,其特征在于,所述装置包括 文件句柄开启单元,用于在接收到音视频文件播放请求时,开启音频文件句柄和视频文件句柄; 音频码流读取单元,用于根据所述音频文件句柄读取音频码流; 视频码流读取单元,用于根据所述视频文件句柄读取视频码流; 音视频码流播放单元,用于播放读取的音频码流和视频码流。
5.如权利要求4所述的装置,其特征在于,所述音频码流读取单元包括 音频码流搜索模块,用于所述音频文件句柄的文件指针根据音频码流的特征字搜索音频码流,并指向搜索到的音频码流的起始地址; 音频码流读取模块,用于读取所述音频码流后,所述文件指针指向所述音频码流的结束地址。
6.如权利要求4所述的装置,其特征在于,所述视频码流读取单元包括 视频码流搜索模块,用于所述视频文件句柄的文件指针根据视频码流的特征字搜索视频码流,并指向搜索到的视频码流的起始地址; 视频码流读取模块,用于读取所述视频码流后,所述文件指针指向所述视频码流的结束地址。
7.一种包含如权利要求4-6任一项所述的在低端嵌入式产品播放视频的装置的终端。
全文摘要
本发明适用于音视频领域,提供了一种在低端嵌入式产品播放视频的方法、装置及终端。所述方法包括下述步骤在接收到音视频文件播放请求时,开启音频文件句柄和视频文件句柄;根据所述音频文件句柄读取音频码流;根据所述视频文件句柄读取视频码流;播放读取的音频码流和视频码流。本发明实施例通过开启了2个文件句柄,从而减少了在音视频文件播放过程中文件来回搜索的次数。
文档编号H04N7/52GK102752584SQ201110096340
公开日2012年10月24日 申请日期2011年4月18日 优先权日2011年4月18日
发明者胡胜发, 胡静, 苏丹 申请人:安凯(广州)微电子技术有限公司