CN108322821A - 一种音频播放中的数据缓冲策略 - Google Patents
一种音频播放中的数据缓冲策略 Download PDFInfo
- Publication number
- CN108322821A CN108322821A CN201810166067.0A CN201810166067A CN108322821A CN 108322821 A CN108322821 A CN 108322821A CN 201810166067 A CN201810166067 A CN 201810166067A CN 108322821 A CN108322821 A CN 108322821A
- Authority
- CN
- China
- Prior art keywords
- file
- audio
- file stream
- 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.)
- Pending
Links
- 230000003139 buffering effect Effects 0.000 title claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 9
- 230000032258 transport Effects 0.000 claims abstract description 9
- 230000002045 lasting effect Effects 0.000 claims description 7
- 238000000034 method Methods 0.000 abstract description 8
- 238000012423 maintenance Methods 0.000 abstract description 4
- 230000005540 biological transmission Effects 0.000 description 16
- 238000013461 design Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4385—Multiplex stream processing, e.g. multiplex stream decrypting
- H04N21/43853—Multiplex stream processing, e.g. multiplex stream decrypting involving multiplex stream decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
- H04N21/4398—Processing of audio elementary streams involving reformatting operations of audio signals
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
Abstract
本发明涉及一种音频播放中的数据缓冲策略,步骤如下:获取音频文件的获取地址,当获取地址为音频文件的物理地址,转播放本地音频处理,当获取地址为音频文件的URL地址,则请求网络通道并尝试访问;打开文件流缓冲器,准备缓冲从网络通道传输来的文件流,判断文件流是否有加密保护,如未加密,则文件流直接进行缓冲处理,如有加密,则文件流先跳转到解密器解码,得到解密后的文件流,解密后的文件流进行缓冲处理。本发明,处理流程清晰,容错性好,安全性高,解码速度快,能兼顾多种文件协议和多种音频格式解码,播放器的运行效率有保障,在线播放安全性、可靠性好,便于后期维护。
Description
技术领域
本发明涉及音频在线传输及播放技术领域,具体说是一种音频播放中的数据缓冲策略。
背景技术
流媒体,又叫流式媒体,是边传边播的媒体,是多媒体的一种。边传边播是指:媒体提供商在网络上传输媒体的“同时”,用户一边不断地接收并观看(视频)或收听(音频)被传输的媒体。“流”媒体的“流”指的是媒体的传输方式(流的方式),而并不是指媒体本身。即:所谓流媒体是指采用流式传输的方式在Internet播放的媒体格式。
传送服务器把媒体信息(简称媒体)当成数据包发出,传送到网络上。用户通过解压设备对这些数据包进行解压后,媒体就会像发送前那样显示出来。流媒体在远程教育、视频点播、网络电台、网络视频等方面有着广泛的应用。
现有技术中,在网络上传输音/视频等媒体信息,主要有下载和流式传输两种方案。
下载常常要花数分钟甚至数小时,用户本地需要大的存储容量支持媒体的下载及保存,下载完毕后才能观看(视频)或收听(音频)媒体信息,所以这种处理方法延迟也很大。
流式传输尤其适用于时基媒体(音频、视频等多媒体文件),时基媒体由传送服务器向用户计算机连续、实时的传送,用户不必等到整个文件全部下载完毕,而只需经过几秒或十数秒的启动延时即可进行观看或收听。当时基媒体在客户端上播放时,文件的剩余部分将在后台从服务器内继续传送。流式不仅使启动延时成十倍、百倍地缩短,而且不需要太大的缓存容量。流式传输避免了用户必须等待整个文件全部从Internet上下载才能观看的缺点。
流式媒体在播放前并不下载整个文件,只将开始部分内容存入用户计算机(例如内存),流式媒体的数据流随时传送随时播放,只是在开始时有一些延迟。流媒体实现的关键技术就是流式传输。
流式传输定义很广泛,主要指通过网络传送媒体(如音频、视频)的技术总称。实现流式传输有两种方法:实时流式传输(Real time streaming)和顺序流式传输(progressive streaming)。
顺序流式传输是顺序下载,在下载文件的同时用户可观看在线媒体,在给定时刻,用户只能观看已下载的那部分,而不能跳到还未下载的前头部分,在传输期间不根据用户连接的速度对下载顺序做调整。
实时流式传输可保证媒体信号带宽与网络连接匹配,使媒体可被实时观看到。实时流式传输根据网络情况调整输出音视频的质量从而实现媒体的持续的实时传送,用户可快进或后退以观看前面或后面的内容。
一般说来,如视频为实时广播,或使用流式传输媒体服务器,或应用如RTSP(RealTime Streaming Protocol,RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议)的实时协议,即为实时流式传输。如使用HTTP(HyperText Transfer Protocol,超文本传输协议,是互联网上应用最为广泛的一种网络协议)服务器,文件即通过顺序流发送,即为顺序流式传输。采用哪种传输方法依赖具体需求。当然,流式文件也支持在播放前完全下载到硬盘。
流的概念:流,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具。在流中,定义了一些处理数据的基本操作,如读取数据,写入数据等,程序员是对流进行所有操作的,而不用关心流的另一头数据的真正流向。流不但可以处理文件,还可以处理动态内存、网络数据等多种数据形式。如果你对流的操作非常熟练,在程序中利用流的方便性,写起程序会大大提高效率的。
在iOS系统中,提供了文件流操作类-NSFileHandle,允许更有效地使用文件,Objective-C使用NSFileHandle类对文件进行流操作,可以很好的支持流媒体,更适合于音频在线传输及播放。
NSFileHandle基本步骤如下:
1、打开文件,获取NSFileHandle对象。
2、对上面打开文件,通过NSFileHandle对象进行I/O流操作。
3、关闭文件。
由于音频媒体涉及版权,其在网络传输中的安全性、可靠性是行业竞争的关键,各家对音频播放时的处理策略都各不相同,考虑到前端开发和后台开发的协调、后期维护,有必要统一规范适合于本企业App(英文Application的简称,指智能设备的第三方应用程序,例如智能手机、智能平板等,智能设备可统称客户端)的音频播放策略。
在音频播放时,数据从远端传输而来,数据的缓冲、后续处理将影响音频播放的连贯性,对音质、音效也有很大的影响,因此,缓冲是音频播放中的重要一环,其处理策略直接影响用户体验。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种音频播放中的数据缓冲策略,处理流程清晰,容错性好,安全性高,解码速度快,能兼顾多种文件协议和多种音频格式解码,播放器的运行效率有保障,在线播放安全性、可靠性好,便于后期维护。
为达到以上目的,本发明采取的技术方案是:
一种音频播放中的数据缓冲策略,其特征在于,包括如下步骤:
获取音频文件的获取地址,
当获取地址为音频文件的物理地址,转播放本地音频处理,
当获取地址为音频文件的URL地址,则请求网络通道并尝试访问;
打开文件流缓冲器,准备缓冲从网络通道传输来的文件流,
判断文件流是否有加密保护,
如未加密,则文件流直接进行缓冲处理,
如有加密,则文件流先跳转到解密器解码,得到解密后的文件流,解密后的文件流进行缓冲处理。
在上述技术方案的基础上,如果打开文件流缓冲器失败,则返回缓冲器错误信息,停止从网络通道传输音频文件。
在上述技术方案的基础上,所述进行缓冲处理具体步骤如下:
文件流缓冲器等待缓冲消息,判断是否有缓冲数据到来,
如果没有,则持续等待,
如果有,则将缓冲数据写入文件流缓冲器,并同步写入播放数据缓冲器。
在上述技术方案的基础上,获取文件流缓冲器中的可用数据信息,
判断文件流缓冲器是否已满,
如果已满,则文件流获取完毕,返回文件尾部,
如果未满,则文件流获取未完毕,持续等待。
在上述技术方案的基础上,获取播放数据缓冲器中的可用数据信息,
判断可用数据是否满足播放条件,
如果满足,则进行播放,
如果不满足,则持续等待。
本发明所述的音频播放中的数据缓冲策略,处理流程清晰,容错性好,安全性高,解码速度快,能兼顾多种文件协议和多种音频格式解码,播放器的运行效率有保障,在线播放安全性、可靠性好,便于后期维护。
附图说明
本发明有如下附图:
图1本发明的流程图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
如图1所示,本发明所述的音频播放中的数据缓冲策略,包括如下步骤:
获取音频文件的获取地址,
当获取地址为音频文件的物理地址,转播放本地音频处理,按现有技术实施,不再详述,
当获取地址为音频文件的URL地址,则请求网络通道并尝试访问;
打开文件流缓冲器,准备缓冲从网络通道传输来的文件流,
判断文件流是否有加密保护,
如未加密,则文件流直接进行缓冲处理,
如有加密,则文件流先跳转到解密器解码,得到解密后的文件流,解密后的文件流进行缓冲处理。
在上述技术方案的基础上,如果打开文件流缓冲器失败,则返回缓冲器错误信息,停止从网络通道传输音频文件。
在上述技术方案的基础上,所述进行缓冲处理具体步骤如下:
文件流缓冲器等待缓冲消息,判断是否有缓冲数据到来,
如果没有,则持续等待,
如果有,则将缓冲数据写入文件流缓冲器,并同步写入播放数据缓冲器。
在上述技术方案的基础上,获取文件流缓冲器中的可用数据信息,
判断文件流缓冲器是否已满,
如果已满,则文件流获取完毕,返回文件尾部,
如果未满,则文件流获取未完毕,持续等待。
在上述技术方案的基础上,获取播放数据缓冲器中的可用数据信息,
判断可用数据是否满足播放条件,
如果满足,则进行播放,
如果不满足,则持续等待。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (5)
1.一种音频播放中的数据缓冲策略,其特征在于,包括如下步骤:
获取音频文件的获取地址,
当获取地址为音频文件的物理地址,转播放本地音频处理,
当获取地址为音频文件的URL地址,则请求网络通道并尝试访问;
打开文件流缓冲器,准备缓冲从网络通道传输来的文件流,
判断文件流是否有加密保护,
如未加密,则文件流直接进行缓冲处理,
如有加密,则文件流先跳转到解密器解码,得到解密后的文件流,解密后的文件流进行缓冲处理。
2.如权利要求1所述的音频播放中的数据缓冲策略,其特征在于:如果打开文件流缓冲器失败,则返回缓冲器错误信息,停止从网络通道传输音频文件。
3.如权利要求1所述的音频播放中的数据缓冲策略,其特征在于:所述进行缓冲处理具体步骤如下:
文件流缓冲器等待缓冲消息,判断是否有缓冲数据到来,
如果没有,则持续等待,
如果有,则将缓冲数据写入文件流缓冲器,并同步写入播放数据缓冲器。
4.如权利要求3所述的音频播放中的数据缓冲策略,其特征在于:获取文件流缓冲器中的可用数据信息,
判断文件流缓冲器是否已满,
如果已满,则文件流获取完毕,返回文件尾部,
如果未满,则文件流获取未完毕,持续等待。
5.如权利要求3所述的音频播放中的数据缓冲策略,其特征在于:获取播放数据缓冲器中的可用数据信息,
判断可用数据是否满足播放条件,
如果满足,则进行播放,
如果不满足,则持续等待。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810166067.0A CN108322821A (zh) | 2018-02-28 | 2018-02-28 | 一种音频播放中的数据缓冲策略 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810166067.0A CN108322821A (zh) | 2018-02-28 | 2018-02-28 | 一种音频播放中的数据缓冲策略 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108322821A true CN108322821A (zh) | 2018-07-24 |
Family
ID=62900664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810166067.0A Pending CN108322821A (zh) | 2018-02-28 | 2018-02-28 | 一种音频播放中的数据缓冲策略 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108322821A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144464A (zh) * | 2018-08-27 | 2019-01-04 | 歌尔科技有限公司 | 一种音频输出的方法、装置及Android设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040139395A1 (en) * | 2002-10-17 | 2004-07-15 | Samsung Electronics Co., Ltd. | Data storage medium having information for controlling buffered state of markup document, and method and apparatus for reproducing data from the data storage medium |
CN101064669A (zh) * | 2006-04-29 | 2007-10-31 | 互联天下科技发展(深圳)有限公司 | 一种网络实时播放多媒体数据的方法 |
CN102280132A (zh) * | 2010-06-11 | 2011-12-14 | 希姆通信息技术(上海)有限公司 | 基于http协议的在线流式音频播放方法 |
CN105763938A (zh) * | 2014-12-15 | 2016-07-13 | 深圳Tcl数字技术有限公司 | GStreamer解密加密数据的方法及装置 |
-
2018
- 2018-02-28 CN CN201810166067.0A patent/CN108322821A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040139395A1 (en) * | 2002-10-17 | 2004-07-15 | Samsung Electronics Co., Ltd. | Data storage medium having information for controlling buffered state of markup document, and method and apparatus for reproducing data from the data storage medium |
CN101064669A (zh) * | 2006-04-29 | 2007-10-31 | 互联天下科技发展(深圳)有限公司 | 一种网络实时播放多媒体数据的方法 |
CN102280132A (zh) * | 2010-06-11 | 2011-12-14 | 希姆通信息技术(上海)有限公司 | 基于http协议的在线流式音频播放方法 |
CN105763938A (zh) * | 2014-12-15 | 2016-07-13 | 深圳Tcl数字技术有限公司 | GStreamer解密加密数据的方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144464A (zh) * | 2018-08-27 | 2019-01-04 | 歌尔科技有限公司 | 一种音频输出的方法、装置及Android设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8929441B2 (en) | Method and system for live streaming video with dynamic rate adaptation | |
US9596522B2 (en) | Fragmented file structure for live media stream delivery | |
US20120265892A1 (en) | Method and system for secure and reliable video streaming with rate adaptation | |
JP4766473B2 (ja) | メディアデータコンテナとメタデータコンテナとを有するファイルを処理し読出すための装置および方法 | |
US9462302B2 (en) | Efficient delineation and distribution of media segments | |
EP1593265B1 (en) | System for secure decryption of streaming media using selective decryption of header information | |
US20110066703A1 (en) | Methods and systems for delivering media to client device | |
US8966241B2 (en) | Apparatus and method for sending encrypted data to conditional access module over common interface, conditional access module and system thereof | |
JP2004516748A (ja) | Rtpヘッダにおける暗号化されたデータに対するポインタ | |
US7249264B2 (en) | Secure IP based streaming in a format independent manner | |
US20110299586A1 (en) | Quality adjustment using a fragmented media stream | |
TWI577186B (zh) | 第二內容串流在第二裝置上描繪時間之控制方法及控制裝置 | |
WO2007053957A1 (en) | Transcoder for live streams and on demand media | |
CN108390935A (zh) | 一种基于文件流的音频播放策略 | |
CN104471947A (zh) | 内容发送装置、内容再现装置、内容发布系统、内容发送装置的控制方法、内容再现装置的控制方法、数据结构、控制程序以及记录介质 | |
JP2013157820A (ja) | 生成装置、再生装置、生成方法、再生方法、データ構造、制御プログラム、および記録媒体 | |
CN108400987B (zh) | 一种音频播放中的地址保护策略 | |
CN108322821A (zh) | 一种音频播放中的数据缓冲策略 | |
KR100596382B1 (ko) | 디지털 컨텐츠 보호 장치 및 방법 | |
EP2602965B1 (en) | Method and system for storing flow media file in portable terminal | |
US20140115117A1 (en) | Webcasting method and apparatus | |
CN108322818A (zh) | 一种音频播放中的音频格式处理策略 | |
CN108366291A (zh) | 一种音频播放中的音频解码策略 | |
RU2655744C2 (ru) | Устройство подачи содержания, способ подачи содержания, программа, оконечное устройство и система подачи содержания | |
KR20120004746A (ko) | 하이퍼텍스트 전송 프로토콜을 이용한 멀티미디어 컨텐츠 스트리밍 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180724 |