CN102752584A - 一种在低端嵌入式产品播放视频的方法、装置及终端 - Google Patents
一种在低端嵌入式产品播放视频的方法、装置及终端 Download PDFInfo
- Publication number
- CN102752584A CN102752584A CN2011100963405A CN201110096340A CN102752584A CN 102752584 A CN102752584 A CN 102752584A CN 2011100963405 A CN2011100963405 A CN 2011100963405A CN 201110096340 A CN201110096340 A CN 201110096340A CN 102752584 A CN102752584 A CN 102752584A
- Authority
- CN
- China
- Prior art keywords
- video
- audio
- code stream
- file handle
- file
- 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
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
Abstract
本发明适用于音视频领域,提供了一种在低端嵌入式产品播放视频的方法、装置及终端。所述方法包括下述步骤:在接收到音视频文件播放请求时,开启音频文件句柄和视频文件句柄;根据所述音频文件句柄读取音频码流;根据所述视频文件句柄读取视频码流;播放读取的音频码流和视频码流。本发明实施例通过开启了2个文件句柄,从而减少了在音视频文件播放过程中文件来回搜索的次数。
Description
技术领域
本发明属于音视频领域,尤其涉及一种在低端嵌入式产品播放视频的方法、装置及终端。
背景技术
低端嵌入式产品,如具有音视频播放功能的MP4,其硬件条件通常较差,如较小的内存,较低的CPU处理速度或者较窄的DMA带宽等。
低端嵌入式产品本身硬件条件的限制使其播放视频文件的效果不够理想,在播放视频文件的过程中经常会出现停顿或者音视频播放不同步的现象。这是因为在有限的硬件条件下,播放音视频码流交错存放的视频文件时,文件系统需要耗费较多的时间来搜索相应的音视频码流,从而出现停顿或者音视频播放不同步的现象。
以图1为例,图1示出了avi文件存放视频码流和音频码流的格式,由图1可以看出,该avi文件交错存放音频码流和视频码流。在该avi文件中,该音频码流的格式为未经过压缩的pcm格式,该视频码流的格式则为MJPEG格式,由于由MJPEG格式的视频码流和pcm格式的音频码流组成的avi文件是通过视频转换工具转换而来的,因此可能会导致同一时间点的视频码流和音频码流在该avi文件中的位置相差很大。以图1为例,假设音频采样率为44K,采样位数为16bit,声道数为2,确定每次写入的音频时间单位为200毫秒,则根据公式:采样率*时间*(采样位数/8)*声道数=BYTE,即可计算出写入的数据为17.6kbyte;假设视频的帧率为10帧/秒,则在200毫秒的时间内,写入2帧的视频数据。假设视频码流1、视频码流2与音频码流1为同一个200毫秒时间内的音视频数据。文件解析器读取了音频码流1的数据后,文件指针就指向A位置,这时文件解析器要读取同一时间点的视频码流时,文件指针需往回搜索到B位置,也就是其中需要经过一个音频码流的大小和6个视频帧码流的大小,即文件指针需回退1个音频码流的大小加上6个视频帧码流的大小。当文件解析器读取完视频码流1和视频码流2后,将到达C位置,这时读取下一个音频码流时,文件指针需向前搜索至D位置,即文件指针需向前搜索1个音频码流的大小加上6个视频帧码流的大小。由于音频数据并不是均匀的,可能在搜索的过程中遇到某个时间内的较大音频数据,因此这样的来回搜索占用了大量的CPU时间,极大地影响了低端嵌入式产品的解码速度,降低解码速度,造成视频的停顿或卡的现象。
发明内容
本发明实施例提供了一种在低端嵌入式产品播放视频的方法,旨在解决在低端嵌入式产品上播放视频时,文件解析器需来回搜索读取的音视频数据,占用了大量的CPU时间所导致的视频停顿的问题。
本发明实施例是这样实现的,一种在低端嵌入式产品播放视频的方法,所述方法包括下述步骤:
在接收到音视频文件播放请求时,开启音频文件句柄和视频文件句柄;
根据所述音频文件句柄读取音频码流;
根据所述视频文件句柄读取视频码流;
播放读取的音频码流和视频码流。
本发明实施例的另一目的在于提供一种在低端嵌入式产品播放视频的装置,所述装置包括:
文件句柄开启单元,用于在接收到音视频文件播放请求时,开启音频文件句柄和视频文件句柄;
音频码流读取单元,用于根据所述音频文件句柄读取音频码流;
视频码流读取单元,用于根据所述视频文件句柄读取视频码流;
音视频码流播放单元,用于播放读取的音频码流和视频码流。
本发明实施例的另一目的在于提供一种包含上述在低端嵌入式产品播放视频的装置的终端。
本发明实施例中,在低端嵌入式产品上接收到音视频文件的播放请求之后,在文件解析器中开启音频文件句柄和视频文件句柄,该音频文件句柄用于搜索音视频文件中的音频码流,该视频文件句柄用于搜索音视频文件中的视频码流,并播放搜索到的音频码流和视频码流。由于同时开启了音频文件句柄和视频文件句柄,因此在音频文件句柄读取下一块音频码流时,只需读取当前音频文件句柄的文件指针指向的下一块音频码流,而无需来回搜索下一块音频码流,同时,在视频文件句柄读取下一帧视频码流时,也无需来回搜索下一帧视频码流,减少了来回搜索音频码流或者视频码流的时间,节省了占用CPU的时间,从而有效提高解码速度,减少了在播放音视频过程中产生的停顿现象或卡现象,使播放更流畅。
附图说明
图1是现有技术提供的读取avi文件中视频码流和音频码流的示意图;
图2是本发明第一实施例提供的在低端嵌入式产品播放视频的方法流程;
图3是本发明第一实施例提供的读取avi文件中视频码流和音频码流的示意图;
图4是本发明第二实施例提供的在低端嵌入式产品播放视频的装置的结构。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中,在播放音视频文件时开启了2个文件句柄,一个是负责搜索音频码流的文件句柄,一个是负责搜索视频码流的文件句柄,从而减少了在音视频文件播放过程中文件来回搜索的次数。
本发明实施例提供了一种:在低端嵌入式产品播放视频的方法、装置及终端。
所述方法包括:在接收到音视频文件播放请求时,开启音频文件句柄和视频文件句柄;
根据所述音频文件句柄读取音频码流;
根据所述视频文件句柄读取视频码流;
播放读取的音频码流和视频码流。
所述装置包括:文件句柄开启单元,用于在接收到音视频文件播放请求时,开启音频文件句柄和视频文件句柄;
音频码流读取单元,用于根据所述音频文件句柄读取音频码流;
视频码流读取单元,用于根据所述视频文件句柄读取视频码流;
音视频码流播放单元,用于播放读取的音频码流和视频码流。
所述设备包括:上述在低端嵌入式产品播放视频的装置的终端。
本发明实施例中,在低端嵌入式产品上接收到音视频文件的播放请求之后,在文件解析器中开启音频文件句柄和视频文件句柄,该音频文件句柄用于搜索音视频文件中的音频码流,该视频文件句柄用于搜索音视频文件中的视频码流,并播放搜索到的音频码流和视频码流。由于同时开启了音频文件句柄和视频文件句柄,因此在音频文件句柄读取下一块音频码流时,只需读取当前音频文件句柄的文件指针指向的下一块音频码流,而无需来回搜索下一块音频码流,同时,在视频文件句柄读取下一帧视频码流时,也无需来回搜索下一帧视频码流,减少了来回搜索音频码流或者视频码流的时间,节省了占用CPU的时间,从而有效提高解码速度,减少了在播放音视频过程中产生的停顿现象或卡现象,使播放更流畅。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图2示出了本发明第一实施例提供的在低端嵌入式产品播放视频的方法流程,在本发明实施例中,主要以采用pcm格式的音频码流和采用MPEG格式的视频码流的avi音视频文件为例进行说明,当然,本发明也适用于其他类型的音视频文件,此处不作限定。详述如下:
在步骤S21中,在接收到音视频文件播放请求时,开启音频文件句柄和视频文件句柄。
在本实施例中,音视频文件为交错存放音频码流和视频码流的文件,常见的音视频文件如avi文件。在该avi文件中,音频码流可采用pcm格式,视频码流可采用MJPEG格式。假设音视频文件存储音频码流和视频码流的格式如图3所示,在图3中,存在01wb音频码流1和01wb音频码流2的两个音频码流,以及存在8个视频码流。在接收到音视频文件播放请求时,文件解析器开启一个用于搜索视频码流的视频文件句柄,以及开启一个用于搜索音频码流的音频文件句柄。
在步骤S22中,根据该音频文件句柄读取音频码流。
在本实施例中,解析音视频文件的某块音频码流时,开启的音频文件句柄中的文件指针首先指向该音频码流在文件中的起始地址,如解析图3中的01wb音频码流1时,文件指针首先指向图3中的A位置,当读取了这一块的音频码流之后,该文件指针再指向该块音频码流在文件中的结束地址,如指向图3中的B位置。
在继续解析下一块音频码流,如解析图3中01wb音频码流2时,音频文件句柄的文件指针首先根据音频码流的特征字“01wb”往前搜索到下一块音频码流----01wb音频码流2,该音频文件句柄中的文件指针指向该块音频码流的起始地址,如指向图3中的C位置,并读取该音频码流的起始地址到音频码流的结束地址的音频码流,该文件指针指向该音频码流在文件中的结束地址,如指向图3中的D位置。
在本实施例中,音频文件句柄在解析图3中的01wb音频码流1之后,只需经过2次视频码流的搜索即可解析到01wb音频码流2。
在步骤S23中,根据该视频文件句柄读取视频码流。
在本实施例中,假设00dc视频码流1和00dc视频码流2与01wb音频码流1为同一时间的音视频数据,则解析音视频文件的00dc视频码流1时,开启的视频文件句柄中的文件指针首先指向该视频码流在文件中的起始地址,如指向图3中的E位置,当读取了这一帧的视频码流之后,该文件指针再指向该帧视频码流在文件中的结束地址,如指向图3中的F位置。根据上述方法继续读取00dc视频码流2的视频码流,读取了00dc视频码流2的视频码流之后,文件指针指向图3中的G位置。
在解析了下一块音频码流之后,继续解析与该块音频码流对应的视频码流,如解析图3中01wb音频码流3时,视频文件句柄的文件指针首先根据视频码流的特征字“00dc”往前搜索到下一帧视频码流----00dc视频码流3,该视频文件句柄中的文件指针指向该帧视频码流的起始地址,如指向图3中的G位置,并读取该视频码流的起始地址到该视频码流的结束地址的视频码流,该文件指针指向该视频码流在文件中的结束地址,如指向图3中的H位置。
在本实施例中,开启视频文件句柄搜索视频码流,由于该视频文件句柄仅用于搜索视频码流,因此读取视频码流之前不需大跨度地来回搜索视频码流,从而节省大量的CPU时间,极大地提高了解码速度。
在步骤S24中,播放读取的音频码流和视频码流。
在本实施例中,快速读取了音频码流和视频码流之后,播放读取的音频码流和视频码流。
在本发明第一实施例中,在低端嵌入式产品上接收到音视频文件的播放请求时,在文件解析器中开启了音频文件句柄和视频文件句柄,该音频文件句柄用于搜索音视频文件中的音频码流,该视频文件句柄用于搜索音视频文件中的视频码流,并播放搜索到的音频码流和视频码流。由于同时开启了音频文件句柄和视频文件句柄,因此减少了来回搜索音频码流或者视频码流的时间,节省了占用CPU的时间,从而有效提高解码速度,减少了在播放音视频过程中产生的停顿现象或卡现象,使播放更流畅。
实施例二:
图4示出了本发明第二实施例提供的在低端嵌入式产品播放视频的装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该在低端嵌入式产品播放视频的装置可以用于通过有线或者无线网络连接服务器的各种信息处理终端,例如移动电话、口袋计算机(Pocket PersonalComputer,PPC)、掌上电脑、计算机、笔记本电脑、个人数字助理(PersonalDigital Assistant,PDA)等,可以是运行于这些终端内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到这些终端中或者运行于这些终端的应用系统中,其中:
文件句柄开启单元41,用于在接收到音视频文件播放请求时,开启音频文件句柄和视频文件句柄。
在本实施例中,该音视频文件可以为avi文件,在该avi文件中,音频码流可采用pcm格式,视频码流可采用MJPEG格式。在接收到音视频文件播放请求时,文件解析器开启一个用于搜索视频码流的视频文件句柄,以及开启一个用于搜索音频码流的音频文件句柄。
音频码流读取单元42,用于根据所述音频文件句柄读取音频码流。
作为本发明的另一个实施例,该音频码流读取单元42包括:
音频码流搜索模块421,用于所述音频文件句柄的文件指针根据音频码流的特征字搜索音频码流,并指向搜索到的音频码流的起始地址;
音频码流读取模块422,用于读取所述音频码流后,所述文件指针指向所述音频码流的结束地址。
在本实施例中,解析音视频文件的某块音频码流时,开启的音频文件句柄中的文件指针首先指向该音频码流在文件中的起始地址,当读取了这一块的音频码流之后,该文件指针再指向该块音频码流在文件中的结束地址。在继续读取下一块音频码流之前,只需从该块音频码流开始往前搜索,而无需来回搜索,直到搜索到特征字为“01wb”的音频码流。
视频码流读取单元43,用于根据所述视频文件句柄读取视频码流。
作为本发明的另一个实施例,该视频码流读取单元43包括:
视频码流搜索模块431,用于所述视频文件句柄的文件指针根据视频码流的特征字搜索视频码流,并指向搜索到的视频码流的起始地址;
视频码流读取模块432,用于读取所述视频码流后,所述文件指针指向所述视频码流的结束地址。
在本实施例中,解析音视频文件的某帧视频码流时,开启的视频文件句柄中的文件指针首先指向该视频码流在文件中的起始地址,当读取了这一块的视频码流之后,该文件指针再指向该帧视频码流在文件中的结束地址。在继续读取下一帧视频码流之前,只需从该帧视频频码流开始往前搜索,而无需来回搜索,直到搜索到特征字为“00dc”的视频码流。
音视频码流播放单元44,用于播放读取的音频码流和视频码流。
在本发明第二实施例中,文件句柄开启单元41在接收到音视频文件播放请求时开启视频文件句柄和音频文件句柄,音频码流读取单元42根据开启的音频文件句柄读取音频码流,视频码流读取单元43则根据开启的视频文件句柄读取视频码流,在读取了音视频码流之后,音视频码流播放单元44播放读取的音视频码流。由于音频码流读取单元42在读取下一个音频码流时,只需读取当前文件指针指向的下一个音频码流,而无需来回搜索下一个音频码流,同时视频码流读取单元43在读取下一个视频码流时也无需来回搜索下一个视频码流,因此能够有效节省搜索音频码流或者视频码流的时间,从而提高了解码速度,减少了在播放音视频过程中产生的停顿现象或卡现象。
本发明实施例中,在低端嵌入式产品上接收到音视频文件的播放请求之后,在文件解析器中开启音频文件句柄和视频文件句柄,该音频文件句柄用于搜索音视频文件中的音频码流,该视频文件句柄用于搜索音视频文件中的视频码流,并播放搜索到的音频码流和视频码流。由于同时开启了音频文件句柄和视频文件句柄,因此在音频文件句柄读取下一块音频码流时,只需读取当前音频文件句柄的文件指针指向的下一块音频码流,而无需来回搜索下一块音频码流,同时,在视频文件句柄读取下一帧视频码流时,也无需来回搜索下一帧视频码流,减少了来回搜索音频码流或者视频码流的时间,节省了占用CPU的时间,从而有效提高解码速度,减少了在播放音视频过程中产生的停顿现象或卡现象,使播放更流畅。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种在低端嵌入式产品播放视频的方法,其特征在于,所述方法包括下述步骤:
在接收到音视频文件播放请求时,开启音频文件句柄和视频文件句柄;
根据所述音频文件句柄读取音频码流;
根据所述视频文件句柄读取视频码流;
播放读取的音频码流和视频码流。
2.如权利要求1所述的方法,其特征在于,所述根据所述音频文件句柄读取音频码流的步骤具体为:
所述音频文件句柄的文件指针根据音频码流的特征字搜索音频码流,并指向搜索到的音频码流的起始地址;
读取所述音频码流后,所述文件指针指向所述音频码流的结束地址。
3.如权利要求1所述的方法,其特征在于,所述根据所述视频文件句柄读取视频码流的步骤具体为:
所述视频文件句柄的文件指针根据视频码流的特征字搜索视频码流,并指向搜索到的视频码流的起始地址;
读取所述视频码流后,所述文件指针指向所述视频码流的结束地址。
4.一种在低端嵌入式产品播放视频的装置,其特征在于,所述装置包括:
文件句柄开启单元,用于在接收到音视频文件播放请求时,开启音频文件句柄和视频文件句柄;
音频码流读取单元,用于根据所述音频文件句柄读取音频码流;
视频码流读取单元,用于根据所述视频文件句柄读取视频码流;
音视频码流播放单元,用于播放读取的音频码流和视频码流。
5.如权利要求4所述的装置,其特征在于,所述音频码流读取单元包括:
音频码流搜索模块,用于所述音频文件句柄的文件指针根据音频码流的特征字搜索音频码流,并指向搜索到的音频码流的起始地址;
音频码流读取模块,用于读取所述音频码流后,所述文件指针指向所述音频码流的结束地址。
6.如权利要求4所述的装置,其特征在于,所述视频码流读取单元包括:
视频码流搜索模块,用于所述视频文件句柄的文件指针根据视频码流的特征字搜索视频码流,并指向搜索到的视频码流的起始地址;
视频码流读取模块,用于读取所述视频码流后,所述文件指针指向所述视频码流的结束地址。
7.一种包含如权利要求4-6任一项所述的在低端嵌入式产品播放视频的装置的终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100963405A CN102752584A (zh) | 2011-04-18 | 2011-04-18 | 一种在低端嵌入式产品播放视频的方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100963405A CN102752584A (zh) | 2011-04-18 | 2011-04-18 | 一种在低端嵌入式产品播放视频的方法、装置及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102752584A true CN102752584A (zh) | 2012-10-24 |
Family
ID=47032462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100963405A Pending CN102752584A (zh) | 2011-04-18 | 2011-04-18 | 一种在低端嵌入式产品播放视频的方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102752584A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119469A (zh) * | 2006-08-01 | 2008-02-06 | 中国科学院声学研究所 | 一种高清数字电视码流仪及播放器内存控制优化方法 |
CN101496017A (zh) * | 2006-07-28 | 2009-07-29 | 皇家飞利浦电子股份有限公司 | 用于个人健康系统的分布式共享数据空间 |
-
2011
- 2011-04-18 CN CN2011100963405A patent/CN102752584A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101496017A (zh) * | 2006-07-28 | 2009-07-29 | 皇家飞利浦电子股份有限公司 | 用于个人健康系统的分布式共享数据空间 |
CN101119469A (zh) * | 2006-08-01 | 2008-02-06 | 中国科学院声学研究所 | 一种高清数字电视码流仪及播放器内存控制优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102595114B (zh) | 一种在低端嵌入式产品上播放视频的方法及终端 | |
CN102118539B (zh) | 一种多媒体播放终端及其文件拖动播放方法和装置 | |
CN102163201A (zh) | 一种多媒体文件切割方法、装置及转码器 | |
CN101980533A (zh) | 一种基于索引文件实现传输流文件特技模式功能的方法 | |
CN102110458B (zh) | 一种播放终端及其音视频文件的播放方法和装置 | |
CN102347042B (zh) | 一种音轨切换方法、系统及音视频文件播放设备 | |
CN106131660B (zh) | 视频定位播放方法及装置 | |
CN101409808A (zh) | 一种音频重采样方法、装置及一种数字电视芯片 | |
CN1972441A (zh) | 流媒体存储及服务的方法 | |
US20120059950A1 (en) | Method and Apparatus for Carrying Transport Stream | |
CN102204266B (zh) | 线性提示视频流 | |
CN103873804A (zh) | 用于嵌入式nvr的录像回放时间轴与内容同步控制方法 | |
CN101802803B (zh) | 用于产生和再现基于媒体对象的元数据的方法和装置 | |
CN102811380B (zh) | 多媒体文件中音视频数据的解复用方法及装置 | |
CN101662655B (zh) | 一种音视频点播系统 | |
CN102857833A (zh) | 一种适配android stagefright 多媒体框架的音频解码系统及方法 | |
CN102752584A (zh) | 一种在低端嵌入式产品播放视频的方法、装置及终端 | |
CN204733266U (zh) | 一种实时同步融入速度信息到视频中的录像系统 | |
CN102075818B (zh) | Gsm手机iptv网络电视数据的处理方法 | |
CN103531224B (zh) | 应用于嵌入式系统平台的简易语音播放方法 | |
CN101742302B (zh) | 多模mpeg系统层解复用方法 | |
CN108200481B (zh) | 一种rtp-ps流处理方法、装置、设备及存储介质 | |
CN106101738A (zh) | 音频播放方法和装置 | |
CN101808223A (zh) | 一种数字电视网络节目接收方法、装置及接收设备 | |
CN101902527A (zh) | 移动终端录音方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121024 |