CN101833972A - 一种多媒体文件播放控制方法及装置 - Google Patents
一种多媒体文件播放控制方法及装置 Download PDFInfo
- Publication number
- CN101833972A CN101833972A CN201019164013A CN201019164013A CN101833972A CN 101833972 A CN101833972 A CN 101833972A CN 201019164013 A CN201019164013 A CN 201019164013A CN 201019164013 A CN201019164013 A CN 201019164013A CN 101833972 A CN101833972 A CN 101833972A
- Authority
- CN
- China
- Prior art keywords
- file
- multimedia file
- media stream
- pointer
- stream data
- 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.)
- Granted
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种多媒体文件播放控制方法及装置,所述方法包括:获取多媒体文件的媒体流数据块;通过写指针将获取的媒体流数据块写入文件播放缓冲区;通过读指针读取所述文件播放缓冲区中的媒体流数据块并播放;其中,所述读指针指向的文件播放缓冲区位置之前设置有阻挡指针,所述阻挡指针指向的文件播放缓冲区位置和所述读指针指向的文件播放缓冲区位置之间存储的数据块禁止修改或删除。本发明由于预留一段存储空间暂不删除数据,使得播放媒体流文件的数据包没有连续存储,读指针根据时间戳进行跳转时,可以有更高的几率找到对应的数据包进行播放,降低了由于数据包被删除导致直接卡死的可能性,使得媒体流的播放更加流畅,提升用户的观感感受。
Description
技术领域
本发明属于多媒体播放技术领域,尤其涉及一种多媒体文件播放控制方法及装置。
背景技术
随着多媒体播放技术的不断发展,用户对多媒体文件播放质量的要求越来越高。
在实际的生活中,用户获取多媒体文件的方式多种多样,譬如可以直接从多媒体网站获取,还有很多用户是复制光盘的影音文件。
现有的音视频资源的播放方法,首先,播放终端从远程的网络获取音视频资源,当然也可以是从与终端连接的精密光盘(Compact Disc,CD)或者通用串行总线(Universal Serial BUS,USB)连接设备上获取多媒体文件进行播放。
由于采用远程播放的方式,为了保证媒体流播放的实时性,则是先缓冲一小部分的媒体流数据包,则开始播放,而后台继续获取后续的媒体流数据包。
本发明发明人在对现有技术的研究过程中发现:
由于一些媒体流文件支持非连续的存储方式,相邻的媒体流数据包在内容上并一定连续,在进行播放时,再通过媒体流数据包对应时间戳还原播放顺序。这类格式的媒体流文件可以在本地正常播放,但是一旦应用于远程播放,因为播放端并不是缓冲完整的音视频文件后才开始播放,同时播放端认为媒体流是连续的,因此常常出现播放端找不到需要播放的数据包的情况,导致播放不能正常进行或直接卡死,影响用户的观看质量。
发明内容
本发明实施例的目的在于提供一种多媒体文件播放控制方法,可以使得媒体流的播放更加流畅。
本发明实施例是这样实现的,一种多媒体文件播放控制方法,所述方法包括以下步骤:
获取多媒体文件的媒体流数据块;
通过写指针将获取的媒体流数据块写入文件播放缓冲区;
通过读指针读取所述文件播放缓冲区中的媒体流数据块并播放;其中,所述读指针指向的文件播放缓冲区位置之前设置有阻挡指针,所述阻挡指针指向的文件播放缓冲区位置和所述读指针指向的文件播放缓冲区位置之间存储的数据块禁止修改或删除。
本发明实施例的目的还在于提供一种多媒体文件播放控制装置,所述装置包括:
媒体流数据块获取模块,用于获取多媒体文件的媒体流数据块;
控制模块,用于通过写指针将所述媒体流数据块获取模块获取的媒体流数据块写入文件播放缓冲区;通过读指针读取所述文件播放缓冲区中的媒体流数据块并播放;还用于在读指针指向的缓冲区位置之前设置阻挡指针,所述阻挡指针指向的文件播放缓冲区位置和所述读指针指向的文件播放缓冲区位置之间存储的数据块禁止修改或删除。
本发明实施例通过在读指针指向的文件播放缓冲区位置之前设置有阻挡指针,该阻挡指针指向的文件播放缓冲区位置和读指针指向的文件播放缓冲区位置之间存储的数据块禁止修改或删除,因为多预留一段存储空间暂不删除数据,使得播放媒体流文件的数据包没有连续存储,导致读指针根据时间戳进行跳转时,可以有更高的几率找到对应的数据包进行播放,在一定程度上降低了由于数据包被删除导致直接卡死的可能性,使得媒体流的播放更加流畅,提升用户的观感感受。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的多媒体文件播放控制方法的流程图;
图2是本发明实施例提供的文件播放缓冲区的示意图;
图3是本发明实施例提供的获取多媒体文件的媒体流数据块的流程图;
图4是本发明实施例提供的多媒体文件播放控制装置的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例通过在读指针指向的文件播放缓冲区位置之前设置有阻挡指针,该阻挡指针指向的文件播放缓冲区位置和读指针指向的文件播放缓冲区位置之间存储的数据块禁止修改或删除。
图1示出了本发明实施例提供的多媒体文件播放控制方法的流程,详述如下。
在步骤S101中,获取多媒体文件的媒体流数据块;
其中,具体的获取多媒体文件的媒体流数据块的过程请参阅图3,以及对图3的详细描述。
在步骤S102中,通过写指针将获取的媒体流数据块写入文件播放缓冲区;
在步骤S103中,通过读指针读取所述文件播放缓冲区中的媒体流数据块并播放。
其中,在写指针将媒体流数据块写入文件播放缓冲区后,如果文件播放缓冲区达到播放的条件,则读指针读取所述文件播放缓冲区中的媒体流数据块并播放。
譬如,请参阅图2,图2为本发明实施例提供的文件播放缓冲区的播放示意图。
假设文件播放缓存区设置的播放条件为2M,则当缓冲区的写指针Head写入的数据大于2M时,通过读指针real获取媒体流数据块开始播放;
本发明实施例中,所述媒体流数据块为数据包格式或数据帧格式。当然,在播放过程中可能需要对媒体流数据块进行解析,解析媒体流数据块的过程参照媒体流数据块的格式可以采取对应的常规方式处理,此处不再赘述。
其中,所述读指针指向的文件播放缓冲区位置之前设置有阻挡指针,所述阻挡指针指向的文件播放缓冲区位置和所述读指针指向的文件播放缓冲区位置之间存储的数据块禁止修改或删除。
在具体实施过程中,所述阻挡指针的和所述写指针之间的地址间隔可以根据媒体流文件的大小和码流播放速度进行设置,当然也可以是其他的设置方式,此处不一一列举。
在具体实施过程中,对于音频视频交错(Audio Video Interleaved,AVI)格式的媒体流文件,所述阻挡指针的和所述写指针之间的地址间隔设置为:可存储3兆比特二进制数据的地址空间。
譬如,继续参阅图2,读指针Rerl指向的文件播放缓冲区位置之前设置有阻挡指针reseve,所述阻挡指针reseve指向的文件播放缓冲区位置和所述读指针Rerl指向的文件播放缓冲区位置之间为一地址间隔,该地址间隔存储的数据块禁止修改或删除,一定程度的避免了媒体流数据块还没有被读取就被删除的现象。
在具体实施过程中,对于AVI格式的媒体流文件,所述阻挡指针reseve和所述读指针Rerl之间的地址间隔可以设置为:可存储3兆比特二进制数据的地址空间。其中,发明人通过多次实验得出,总结出设置3兆比特以上的地址空间间隔,即可以较好的避免AVI格式文件跳帧导致的文件无法播放的问题。
本发明实施例中因为多预留一段存储空间暂不删除数据,使得播放媒体流文件的数据包没有连续存储,导致读指针根据时间戳进行跳转时,可以有更高的几率找到对应的数据包进行播放,在一定程度上降低了由于数据包被删除导致直接卡死的可能性,使得媒体流的播放更加流畅,提升用户的观感感受。
图3示出了本发明实施例获取多媒体文件的媒体流数据块的流程:
在步骤S301中,与文件服务器交互获取多媒体文件的描述信息;
其中,所述描述信息包含多媒体文件的标识,可以理解,所述描述信息还可以包括:譬如包括需获取的多媒体文件的码流、大小、名称等其他标识,此处不一一列举。
在步骤S302中,文件服务器向媒体服务器发送多媒体文件获取请求;
其中,所述多媒体文件请求包含上述的多媒体文件的标识,由于网络中可能存在多个媒体服务器,多媒体文件的标识可以让终端找到对应的媒体服务器,并获得相应的多媒体文件。
在具体实施过程中,获取媒体流数据块的途径包括有:从远程网络中下载多媒体文件,当然,主要是从该网络对应的媒体服务器中下载,还可以直接从硬盘中获取,譬如从插入终端的光盘中获取多媒体文件,或者从USB设备中获取多媒体文件等,具体的获取途径还有其他的方式,此处不一一列举。
在步骤S303中,媒体服务器根据所述多媒体文件标识查找多媒体文件;
在步骤S304中,媒体服务器将所述查找到的多媒体文件分割成媒体流数据块的形式,将分割后的媒体流数据块的返回。
图示出了本发明实施例提供的文件播放控制装置的结构。所述装置包括媒体流数据块获取模块41和控制模块42。
其中,媒体流数据块获取模块41获取多媒体文件的媒体流数据块;
在具体实施过程中,所述媒体流数据块获取模块41具体包括描述信息获取模块411、请求模块412以及媒体流接收模块413:
描述信息获取模块411与文件服务器交互获取多媒体文件的描述信息,其中,所述描述信息包含多媒体文件的标识,具体的标识请参阅上文的描述;
请求模块412向媒体服务器发送多媒体文件获取请求,所述多媒体文件请求包含所述多媒体文件的标识;
媒体流接收模块413接收媒体服务器返回的媒体流数据块。
控制模块42通过写指针将所述媒体流数据块获取模块41获取的媒体流数据块写入文件播放缓冲区;
如果文件播放缓冲区达到播放的条件,控制模块42通过读指针读取所述文件播放缓冲区中的媒体流数据块并播放;
作为本发明的实施例,所述控制模块42在读指针指向的缓冲区位置之前设置阻挡指针,所述阻挡指针指向的文件播放缓冲区位置和所述读指针指向的文件播放缓冲区位置之间形成一地址间隔,该地址间隔内存储的数据块禁止修改或删除;
该地址间隔在上文已有详细的描述,此处不再赘述。
其中,所述控制模块42根据媒体流文件的大小和码流播放速度设置所述阻挡指针的和所述写指针之间的地址间隔。
在具体实施过程中,对于音频视频交错AVI格式的媒体流文件,所述阻挡指针的和所述写指针之间的地址间隔设置为:可存储3兆比特二进制数据的地址空间。
本发明实施例通过多预留一段存储空间暂不删除数据,使得播放媒体流文件的数据包没有连续存储,导致读指针根据时间戳进行跳转时,可以有更高的几率找到对应的数据包进行播放,在一定程度上降低了由于数据包被删除导致直接卡死的可能性,使得媒体流的播放更加流畅,提升用户的观感感受。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种多媒体文件播放控制方法,其特征在于,所述方法包括以下步骤:
获取多媒体文件的媒体流数据块;
通过写指针将获取的媒体流数据块写入文件播放缓冲区;
通过读指针读取所述文件播放缓冲区中的媒体流数据块并播放;其中,所述读指针指向的文件播放缓冲区位置之前设置有阻挡指针,所述阻挡指针指向的文件播放缓冲区位置和所述读指针指向的文件播放缓冲区位置之间存储的数据块禁止修改或删除。
2.如权利要求1所述的多媒体文件播放控制方法,其特征在于,所述获取多媒体文件的媒体流数据块的过程具体包括:
向媒体服务器发送多媒体文件获取请求;所述多媒体文件请求包含所述多媒体文件的标识;
媒体服务器根据所述多媒体文件标识查找多媒体文件;并将所述查找到的多媒体文件分割成媒体流数据块的形式,将分割后的媒体流数据块返回。
3.如权利要求2所述的多媒体文件播放控制方法,其特征在于,所述向媒体服务器发送多媒体文件获取请求的步骤之前,所述方法还包括:
与文件服务器交互获取多媒体文件的描述信息;所述描述信息包含多媒体文件的标识。
4.如权利要求1至3任意一项所述的多媒体文件播放控制方法,其特征在于,所述阻挡指针的和所述写指针之间的地址间隔根据媒体流文件的大小和码流播放速度进行设置。
5.如权利要求4所述的多媒体文件播放控制方法,其特征在于,对于音频视频交错AVI格式的媒体流文件,所述阻挡指针的和所述写指针之间的地址间隔设置为:可存储3兆比特二进制数据的地址空间。
6.一种多媒体文件播放控制装置,其特征在于,所述装置包括:
媒体流数据块获取模块,用于获取多媒体文件的媒体流数据块;
控制模块,用于通过写指针将所述媒体流数据块获取模块获取的媒体流数据块写入文件播放缓冲区;通过读指针读取所述文件播放缓冲区中的媒体流数据块并播放;还用于在读指针指向的缓冲区位置之前设置阻挡指针,所述阻挡指针指向的文件播放缓冲区位置和所述读指针指向的文件播放缓冲区位置之间存储的数据块禁止修改或删除。
7.如权利要求6所述的多媒体文件播放控制装置,其特征在于,所述媒体流数据块获取模块包括:
请求模块,用于向媒体服务器发送多媒体文件获取请求;所述多媒体文件请求包含所述多媒体文件的标识;
媒体流接收模块,用于接收媒体服务器返回的媒体流数据块。
8.如权利要求7所述的多媒体文件播放控制装置,其特征在于,所述媒体流数据块获取模块还包括:
描述信息获取模块,用于与文件服务器交互获取多媒体文件的描述信息;所述描述信息包含多媒体文件的标识。
9.如权利要求6至8任一项所述的多媒体文件播放控制装置,其特征在于,
所述控制模块,还用于根据媒体流文件的大小和码流播放速度设置所述阻挡指针的和所述写指针之间的地址间隔。
10.如权利要求9所述的多媒体文件播放控制装置,其特征在于,对于音频视频交错AVI格式的媒体流文件,所述阻挡指针的和所述写指针之间的地址间隔设置为:可存储3兆比特二进制数据的地址空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010191640131A CN101833972B (zh) | 2010-02-02 | 2010-02-02 | 一种多媒体文件播放控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010191640131A CN101833972B (zh) | 2010-02-02 | 2010-02-02 | 一种多媒体文件播放控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101833972A true CN101833972A (zh) | 2010-09-15 |
CN101833972B CN101833972B (zh) | 2011-12-28 |
Family
ID=42718015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010191640131A Active CN101833972B (zh) | 2010-02-02 | 2010-02-02 | 一种多媒体文件播放控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101833972B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731676A (zh) * | 2013-12-31 | 2014-04-16 | 深圳Tcl新技术有限公司 | 兼容多协议多媒体数据的播放方法及其装置 |
CN106559706A (zh) * | 2015-09-28 | 2017-04-05 | 青岛海信电器股份有限公司 | 一种音频数据的处理方法、装置和系统 |
CN109002361A (zh) * | 2017-06-07 | 2018-12-14 | 阿里巴巴集团控股有限公司 | 数据处理方法、分配方法、电子设备、客户端和存储介质 |
-
2010
- 2010-02-02 CN CN2010191640131A patent/CN101833972B/zh active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731676A (zh) * | 2013-12-31 | 2014-04-16 | 深圳Tcl新技术有限公司 | 兼容多协议多媒体数据的播放方法及其装置 |
CN106559706A (zh) * | 2015-09-28 | 2017-04-05 | 青岛海信电器股份有限公司 | 一种音频数据的处理方法、装置和系统 |
WO2017054377A1 (zh) * | 2015-09-28 | 2017-04-06 | 青岛海信电器股份有限公司 | 一种音频数据的处理方法、装置和系统 |
CN106559706B (zh) * | 2015-09-28 | 2018-11-06 | 青岛海信电器股份有限公司 | 一种音频数据的处理方法、装置和系统 |
CN109002361A (zh) * | 2017-06-07 | 2018-12-14 | 阿里巴巴集团控股有限公司 | 数据处理方法、分配方法、电子设备、客户端和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101833972B (zh) | 2011-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101448138B (zh) | 一种视频广告的插播方法、系统及服务器 | |
CN101917591B (zh) | 一种直播视频的回放方法及装置 | |
CN102025956B (zh) | 网络流媒体快进快退播放的处理方法、装置和系统 | |
JP5592960B2 (ja) | メディアファイルの記録及び再生に係る装置及び方法とその記録媒体 | |
CN101588473B (zh) | 多媒体时移播放方法及系统 | |
CN101964787A (zh) | 实现多终端断点续播节目的方法和装置及系统 | |
CN1839631A (zh) | 内容分配系统、内容分配方法、内容分配服务器、内容再生装置、内容分配程序及内容再生程序 | |
CN101697549A (zh) | 流媒体的展示方法、系统以及流媒体管理服务器 | |
CN104869467A (zh) | 媒体播放中的信息输出方法、装置和系统 | |
CN101227602A (zh) | 文件存储方法和文件播放方法 | |
CN103369351A (zh) | 一种流媒体快进快退的处理方法、视频服务器及系统 | |
CN105245940A (zh) | 一种窄带宽在线播放高清视频的方法及播放器 | |
CN101833972B (zh) | 一种多媒体文件播放控制方法及装置 | |
CN102332284A (zh) | 适用于数字媒体播出的多媒体数据处理方法及其处理系统 | |
CN1771553A (zh) | 具有事件信息的视听数据被记录在其中的存储介质及其再现设备和再现方法 | |
CN101047847A (zh) | 一种电子业务指南的数据信息的传输方法 | |
CN101802803B (zh) | 用于产生和再现基于媒体对象的元数据的方法和装置 | |
CN102496316A (zh) | 支持移动终端离线播放的远程视频授课方法 | |
CN101207795A (zh) | 一种具有时移功能的直播服务器及实现方法 | |
CN1848939B (zh) | 信息管理系统、信息管理装置和信息管理方法 | |
CN101848366A (zh) | Iptv系统中时移分片文件的归档及节目播放方法和设备 | |
CN101483751A (zh) | 一种数字电视开机呈现方法及系统 | |
CN101179695A (zh) | 实现会议录播的方法、会议电视系统和终端 | |
CN102868913A (zh) | 一种远程同步虚拟监控方法及系统 | |
KR20070038881A (ko) | 데이터 패킷들을 저장하기 위한 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |