CN110856028B - 一种媒体数据的播放方法、设备及存储介质 - Google Patents
一种媒体数据的播放方法、设备及存储介质 Download PDFInfo
- Publication number
- CN110856028B CN110856028B CN201810948237.0A CN201810948237A CN110856028B CN 110856028 B CN110856028 B CN 110856028B CN 201810948237 A CN201810948237 A CN 201810948237A CN 110856028 B CN110856028 B CN 110856028B
- Authority
- CN
- China
- Prior art keywords
- value
- media data
- difference
- playing
- preset
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 239000000872 buffer Substances 0.000 claims abstract description 69
- 230000003139 buffering effect Effects 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 8
- 238000005070 sampling Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4305—Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种媒体数据的播放方法、设备及存储介质。该播放方法包括播放设备对预设时间段内接收到的媒体数据的显示时间戳采样;计算所述采样得到的显示时间戳与所述播放设备的系统时钟间的差值;将所述差值与预设差值范围进行比较,根据比较结果调整缓存待播放的媒体数据的缓存区的大小。通过上述的播放方法根据需求调整媒体数据的缓存区的大小,能够保证媒体数据播放的流畅性,并缩小播放延迟。
Description
技术领域
本发明涉及多媒体技术领域,具体而言涉及一种媒体数据的播放方法、设备及存储介质。
背景技术
流媒体是指采用流式传输的方式在互联网上播放的媒体方式,是多媒体的一种。通过流媒体能够实现用户通过客户端一边下载一边播放多媒体数据。以音、视频媒体为例,用户不需要将完整的视频数据下载到客户端就可以观看相应的视频。
现有技术中,媒体数据的播放方式主要由两种;一种是在播放媒体数据的客户端不设置缓存区,或设置较小的缓存区,这种方式能够保证媒体数据播放的实时性,但受网络稳定性的影响较大,当网络不稳定时,媒体数据的播放会出现严重的卡顿问题,导致较差的用户体验。此外,另一种播放方式为在播放媒体数据的客户端设置较大的缓存区,这种方式能够改善媒体数据播放受网络影响而卡顿的问题,但由于客户端存在较大的缓存导致媒体数据的播放存在较大的延迟,不能满足媒体数据播放的实时性。
发明内容
有鉴于此,本发明提供一种媒体数据的播放方法、设备及存储介质,本发明的媒体数据的播放方法能够动态的调整缓存区的大小。
为实现上述目的,本发明提供一种媒体数据的播放方法,所述播放方法包括:
播放设备对预设时间段内接收到的待播放媒体数据的显示时间戳采样;
计算所述采样得到的显示时间戳与所述播放设备的系统时钟间的差值;
将所述差值与预设差值范围进行比较,根据比较结果调整用于缓存待播放媒体数据的缓存区大小。
其中,所述计算所述采样得到的显示时间戳与所述播放设备的系统时钟间的差值,包括:
分别计算所述采样得到的多个显示时间戳与所述播放设备的对应所述多个显示时间戳的多个系统时钟间的差,得到多个差值。
其中,所述将所述差值与预设差值范围进行比较,根据比较结果调整用于缓存待播放媒体数据的缓存区大小,包括:
将所述多个差值中的最大值与所述预设差值范围的上限值进行比较,以及将所述多个差值中的最小值与所述预设差值范围的下限值进行比较;
若所述最大值大于所述上限值和/或所述最小值小于所述下限值,则调整所述缓存区大小;
若所述最大值小于或等于所述上限值,且所述最小值大于或等于所述下限值,则保持所述缓存区大小不变。
其中,所述调整所述缓存区大小,包括:
获取所述最大值与所述上限值中的较大值,以及所述最小值与所述下限值中的较小值;
计算所述较大值和所述较小值之间的差值,并通过预设映射关系确定与所述较大值和所述较小值之间的差值具有映射关系的缓存区容量值;
根据所述缓存区容量值调整所述缓存区大小。
其中,所述调整所述缓存区大小,包括:
获取所述最大值与所述上限值中的较大值,以及所述最小值与所述下限值中的较小值;
计算所述较大值和所述较小值之间的差值;
计算所述较大值和所述较小值之间的差值与在所述较大值和所述较小值之间的差值内接收到的媒体数据的数据总量的乘积;
根据所述乘积调整所述缓存区大小。
其中,所述播放方法还包括:
根据所述比较结果调整所述预设差值范围;
利用调整后的预设差值范围,在下一所述预设时间段内重复执行所述播放方法。
其中,所述根据所述比较结果调整所述预设差值范围,具体为:
若所述最大值大于所述上限值,则将所述上限值的数值调整为所述最大值的数值;
若所述最小值小于所述下限值,则将所述下限值的数值调整为所述最小值的数值。
其中,所述根据比较结果调整用于缓存待播放媒体数据的缓存区大小之后,还包括:
获取播放延迟值,并判断所述播放延迟值是否大于预设播放延迟阈值;
若是,则将所述缓存区大小和预设差值范围均调小;否则对所述缓存区大小和预设差值范围不做调整。
另一方面,本发明提出了一种媒体数据播放设备,所述媒体数据播放设备包括处理器、存储器、系统时钟生成器、接收器和播放器,所述处理器分别与所述存储器、所述接收器、所述系统时钟生成器和所述播放器连接,所述存储器分别与所述接收器和所述播放器连接;
所述系统时钟生成器用于生成所述播放设备的系统时钟;
所述接收器用于接收待播放媒体数据;
所述存储器包括一存储空间和一缓存区,所述存储空间存储有用于实现上述的媒体数据的播放方法的计算机指令,所述缓存区用于缓存所述接收器接收到的待播放媒体数据;
所述播放器用于从所述缓存区中读取所述待播放媒体数据并进行播放;
所述处理器执行所述存储器中的所述计算机指令。
另一方面,本发明还提出了一种存储介质,该存储介质存储有程序数据,所述程序数据能够被执行以实现上述的媒体数据的播放方法。
有益效果:区别于现有技术,本发明的媒体数据的播放方法通过对预设时间段内接收到的媒体数据的显示时间戳采样;计算所述采样得到的显示时间戳与所述播放设备的系统时钟间的差值;将所述差值与预设差值范围进行比较,根据比较结果调整缓存待播放的媒体数据的缓存区的大小。即利用媒体数据的显示时间戳与播放设备的系统时钟之间的差异,对播放设备中对媒体数据的缓存区的大小进行动态调整,进而令播放设备中可以有足够的缓存空间对媒体数据进行缓存,令媒体数据的播放不受网络稳定性的影响,进而保证媒体数据播放的流畅性;此外根据媒体数据的需求动态调整缓存区的大小,进而避免过大的缓存区导致媒体数据播放出现较大的延迟。
附图说明
图1是本发明媒体数据的播放方法第一实施例的流程示意图;
图2是图1中步骤S12、步骤S13和步骤S14的一实施方式的流程示意图;
图3是图2中步骤S141的一实施方式的流程示意图;
图4是图2中步骤S141的另一实施方式的流程示意图;
图5是本发明媒体数据的播放方法第二实施例的流程示意图;
图6是本发明媒体数据的播放方法第三实施例的流程示意图;
图7是本发明媒体数据的播放方法第四实施例的流程示意图;
图8是本发明媒体数据播放设备一实施例的结构示意图;
图9是本发明媒体数据播放系统一实施例的结构示意图;
图10是本发明存储介质实施例的结构示意图。
具体实施例
为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明做进一步详细描述。显然,所描述的实施方式仅仅是本发明的一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,均属于本发明保护的范围。
请参阅图1,图1是本发明媒体数据的播放方法第一实施例的流程示意图。如图1所示,本实施例的播放方法可包括如下步骤:
在步骤S11中,对预设时间段内接收到的媒体数据的显示时间戳采样。
媒体数据的显示时间戳(Presentation Time Stamp,PTS)为封装在媒体数据内的时间信息,用于指示该媒体数据的显示时间,其中,媒体数据可包括音频数据和视频数据。多个媒体数据的显示时间戳具有一定的时间间隔,以表示不同的媒体数据的显示时间不同。
本实施例中,播放设备内设有缓存区,用于对预设时间段内接收到的媒体数据进行缓存。在预设时间段内,播放设备接收到多个媒体数据,每个媒体数据携带有相应的显示时间戳,对接收到的多个媒体数据携带的显示时间戳进行采样,得到相应的显示时间戳。
本实施例对预设时间段的时间长度不做具体限制,可以根据实际需求进行调整,可选的,预设时间段可以为1分钟、3分钟或5分钟。
在步骤S12中,计算采样得到的显示时间戳与播放设备的系统时钟间的差值。
播放设备的系统时钟(System Time Clock,STC)为播放设备的编码器的系统时钟,用于产生指示媒体数据的正确显示和解码的时间戳,同时可以用来指示采样过程中系统时钟本身的瞬时值;本实施例中的系统时钟的频率可以是27MHz。媒体数据的显示时间戳是播放设备的系统时钟的相对时间,播放设备的系统时钟发生变化时,媒体数据的显示时间戳也会随之变化。
在播放设备播放媒体数据前,利用媒体数据的显示时间戳和播放设备的系统时钟进行比较,当媒体数据的显示时间戳与播放设备的系统时钟相等时,开始播放该媒体数据。即媒体数据的显示时间戳和播放设备的系统时钟间的差值指示了从播放设备接收到媒体数据到显示该媒体数据的时间间隔,而在该时间间隔内,媒体数据被缓存在缓存区中,因此,媒体数据的显示时间戳和播放设备的系统时钟间的差值可以用来指示播放设备中用于缓存媒体数据的缓存区的大小。
本实施例中将采样得到的媒体数据的显示时间戳与播放设备的系统时钟相减,得到相应的差值。
在步骤S13中,将差值与预设差值范围进行比较。
在步骤S14中,根据比较结果调整缓存待播放的媒体数据的缓存区的大小。
本实施例中设置有预设差值范围,对应于预设差值范围设置有相应存储空间的缓存区,即在播放设备中根据经验数据设置有默认的缓存区的大小,同时设置了预设差值范围。
将步骤S12中得到的媒体数据的显示时间戳和播放设备的系统时钟间的差值与预设差值范围进行比较,得到相应的比较结果,根据比较结果调整缓存待播放的媒体数据的缓存区的大小。
若比较结果是媒体数据的显示时间戳和播放设备的系统时钟间的差值在预设差值范围之外,则说明默认缓存区的大小相对于缓存待播放的媒体数据所需的缓存区的大小不足,此时增大缓存待播放的媒体数据的缓存区的大小;若比较结果是媒体数据的显示时间戳和播放设备的系统时钟间的差值在预设差值范围之内,则保持缓存待播放的媒体数据所需的缓存区的大小为默认缓存区的大小。
进一步,通过设置预设差值范围的上限值和预设差值范围的下限值而构成预设差值范围。如果媒体数据的显示时间戳和播放设备的系统时钟间的差值大于预设差值范围的上限值或小于预设差值范围的下限值,则比较结果是媒体数据的显示时间戳和播放设备的系统时钟间的差值在预设差值范围之外。如果媒体数据的显示时间戳和播放设备的系统时钟间的差值小于预设差值范围的上限值或大于预设差值范围的下限值,则比较结果是媒体数据的显示时间戳和播放设备的系统时钟间的差值在预设差值范围之内。
可以理解的是,上述步骤仅是在某一预设时间段内的举例;对于完整或连续的媒体数据而言,是在每一个预设时间段内重复上述步骤,以不断的在媒体数据的播放过程中实时的调整缓存区的大小。
本实施例的媒体数据的播放方法通过计算得到播放设备在预设时间段内接收到的媒体数据的显示时间戳与播放设备的系统时钟间的差值;将差值与预设差值范围进行比较,并根据比较结果调整缓存待播放的媒体数据的缓存区的大小,实现对播放设备中对媒体数据的缓存区的大小进行动态调整,进而令播放设备中有足够的缓存空间对媒体数据进行缓存,令媒体数据的播放不受网络稳定性的影响,进而保证媒体数据播放的流畅性;此外,根据媒体数据的需求动态调整缓存区的大小,进而避免过大的缓存区导致媒体数据播放出现较大的延迟。
进一步,请参阅图2,如图2所示,图1中步骤S12可包括如下步骤:
在步骤S121中,分别计算采样得到的多个显示时间戳与播放设备的对应多个显示时间戳的多个系统时钟间的差,得到多个差值。
播放设备的系统时钟与显示时间戳是一一对应的,可以理解的是,对媒体数据采样时,根据采样的节点可以得到媒体数据的显示时间戳,以及采样时的系统时钟。由此,采样得到多个显示时间戳时,也可得到相应的多个系统时钟。
通过步骤S11可采样得到多个媒体数据各自对应的多个显示时间戳和对应的系统时钟,本实施例中分别计算采样得到的多个显示时间戳与播放设备的多个系统时钟间的差,可以得到与多个显示时间戳对应的多个差值。
相应的,进一步参阅图2,图1中所示的步骤S13可包括如下步骤:
在步骤S131中,将多个差值中的最大值与预设差值范围的上限值进行比较,以及将多个差值中的最小值与预设差值范围的下限值进行比较。
预设差值范围具有其上限值和下限值。在步骤S121中可以得到多个差值,从多个差值中提取出计算得到的最大值和最小值。本实施例中将计算得到差值与预设差值范围进行比较具体为:将多个差值中的最大值与预设差值范围的上限值进行比较,并将多个差值中的最小值与预设差值范围的下限值进行比较。
如果多个差值中的最大值大于预设差值范围的上限值和/或多个差值中的最小值小于预设差值范围的下限值,则得到的比较结果为计算得到的多个差值在预设差值范围外,则说明默认的缓存区的大小相对于缓存待播放的媒体数据所需的缓存区的大小不足,进而增大缓存待播放的媒体数据所需的缓存区的大小。如果多个差值中的最大值小于或等于预设差值范围的上限值,且多个差值中的最小值大于或等于预设差值范围的下限值,则得到的比较结果为计算得到的多个差值均在预设差值范围内,则说明默认的缓存区的大小满足当前媒体数据的播放需求,进而保持缓存待播放的媒体数据所需的缓存区的大小为默认的缓存区的大小。
进一步的,本实施例中多个差值中的最大值大于预设差值范围的上限值和/或多个差值中的最小值小于预设差值范围的下限值可以包括:多个差值中的最大值大于预设差值范围的上限值或多个差值中的最小值小于预设差值范围的下限值;即只要多个差值中的最大值或最小值中任意一个或两者超过相应的预设差值范围的上限值或最小值,则认为默认的缓存区的大小相对于缓存待播放的媒体数据所需的缓存区的大小不足。此外,还可以令多个差值中的最大值大于预设差值范围的上限值具体为:所述最大值大于所述上限值,且所述最大值与所述上限值的差值大于预设差值阈值,或最小值小于所述下限值,且所述最小值和所述下限值之间的差值大于预设差值阈值。其中,预设差值阈值可根据实际需求进行设置,本发明不做具体限制。
进一步,如图2所示,根据步骤S131的比较结果,步骤S14可包括如下步骤:
在步骤S141中,根据比较结果调整缓存待播放的媒体数据的缓存区的大小。
根据步骤S131中的比较结果可确认默认的缓存区的大小相对于缓存待播放的媒体数据所需的缓存区的大小不足,选择执行步骤S141,增大缓存待播放的媒体数据所需的缓存区的大小
在步骤S142中,保持缓存区大小不变。
若根据步骤S131中比较结果可确认默认的缓存区的大小满足当前媒体数据的播放需求,进而保持缓存待播放的媒体数据所需的缓存区的大小为默认的缓存区的大小。
进一步,请参阅图3,在一实施方式中,步骤S141可包括如下步骤:
在步骤S141a1中,获取最大值与上限值中的较大值,以及最小值与下限值中的较小值。
将多个差值中的最大值与预设差值范围的上限值进行比较中,得到两者中的较大值;且将多个差值中的最小值与预设差值范围的下限值进行比较,得到两者中的较小值。
在步骤S141a2中,计算较大值和较小值之间的差值,并通过预设映射关系确定与较大值和较小值之间的差值具有映射关系的缓存区容量值。
本实施例中设置有预设映射表,预设映射表中记录了不同的差值与缓存区容量值之间的预设映射关系。其中,预设映射表为根据实验经验进行设置的,即根据实验数据得到在多个不同的差值下,所需的缓存区容量值,例如,差值A所需的缓存区容量值为a,差值B所需的缓存区容量值为b,如此类推,得到多个差值与缓存区容量值之间的映射关系,进而形成预设映射表。可以理解的是,预设映射表中也可以是记录差值范围与缓存区容量值之间的预设映射关系,例如,差值分为A至B,对应的缓存区容量值为a,差值分为B至C,对应的缓存区容量值为b,如此类推。
将步骤S141a1中得到较大值和较小值,计算两者的差值,根据计算得到的差值,在预设映射表中查找与该差值对应的缓冲区容量值,获取查找到的缓冲区容量值。
在步骤S141a3中,根据缓存区容量值调整缓存区大小。
获得的缓冲区容量值即为根据经验数据得到的当前的媒体数据所需的缓存区的大小,进而根据所述缓存区容量值调整所述缓存区大小。
进一步,请参阅图4,在另一实施方式中,步骤S141还可包括如下步骤:
在步骤S141b1中,获取最大值与上限值中的较大值,以及最小值与下限值中的较小值。
在步骤S141b2中,计算较大值与较小值之间的差值。
本实施方式中的步骤S141b1和步骤S141b2与图3所示的步骤S141a1和步骤S141a2相同,此处不再赘述。
在步骤S141b3中,根据较大值与较小值之间的差值计算缓存区的大小。
本实施例中,利用计算得到的较大值和较小值之间的差值计算出所需的容量值,并将计算得到的容量值作为缓存区的大小。
在预设时间段内,播放设备接收的媒体数据具有相应的数据量,本实施例中将计算出所需的缓存区容量值具体为:获取播放设备在预设时间段内接收到的媒体数据的数据量,计算该数据量与较大值和较小值之间的差值的乘积,得到相应的乘积的值,缓存区容量值即为计算得到的乘积的值,将缓存区的大小调整为计算得到的乘积的值。
进一步,请参阅图5,图5是本发明媒体数据的播放方法第二实施例的流程示意图。本实施例的播放方法是在图1所示的播放方法第一实施例的基础上改进得到的,如图5所示,本实施例在图1所示的步骤S14之后,进一步包括如下步骤:
在步骤S15中,根据比较结果调整预设差值范围。
本实施例中,对缓存区的大小进行调整后,若媒体数据的显示时间戳和播放设备的系统时钟间的差值在预设差值范围之外,则进一步对预设差值范围进行调整。
具体的,如果媒体数据的显示时间戳和播放设备的系统时钟间的差值大于预设差值范围的上限值,则将预设差值范围的上限值的数值调整为媒体数据的显示时间戳和播放设备的系统时钟间的差值的数值。如果媒体数据的显示时间戳和播放设备的系统时钟间的差值小于预设差值范围的下限值,则将预设差值范围的下限值的数值调整为媒体数据的显示时间戳和播放设备的系统时钟间的差值的数值,得到调整后的预设差值范围。
例如,此时的预设时间段内的预设差值范围的上限值为400毫秒,下限值为120毫秒,如果媒体数据的显示时间戳和播放设备的系统时钟间的差值为450毫秒,则将预设差值范围的上限值的数值从400毫秒调整至450毫秒,则得到范围为[120,450]的预设差值范围;如果媒体数据的显示时间戳和播放设备的系统时钟间的差值为100毫秒,则将预设差值范围的下限值的数值从120毫秒调整至100毫秒,则得到范围为[100,400]的预设差值范围。
在步骤S16中,利用调整后的预设差值范围,在下一预设时间段内重复执行上述方法。
本实施例是在每个预设时间段内调整缓存区的大小,即每个预设时间段内调整缓存区的大小后,可参考步骤S15中调整后的预设差值范围,在下一预设时间内,重复步骤S11至步骤S14,对下一预设时间段内接收到的媒体数据的缓存区大小进行调整,并重复步骤S15,重新根据下一预设时间内的媒体数据的显示时间戳和播放设备的系统时钟间的差值对预设差值范围进行调整。如此重复,以在媒体数据的播放过程中实时的对播放设备中的缓存区的大小进行调整。
进一步,本发明在图1所示的播放方法第一实施例的基础上改进,提出媒体数据的播放方法第三实施例,如图6所示,本实施例在图1所示的步骤S14之后,进一步包括如下步骤:
在步骤S17中,获取播放延迟值,并判断播放延迟值是否大于预设播放延迟阈值。
在步骤S14调整缓存区的大小之后,进一步获取播放延迟值,通过播放延迟值对调整后的缓存区的大小进行确认,以确定调整后的缓存区的大小是否符合实际需求。
本实施例中通过比较获取的播放延迟值和预设播放延迟阈值来判断调整后的缓存区的大小是否符合实际需求。其中,预设播放延迟阈值是根据经验数据得到,可以根据实际需求进行调整,预设播放延迟阈值可以设置为500毫秒。若获取的播放延迟值大于预设播放延迟阈值,则说明目前的媒体数据的播放的延迟较大,缓存区的大小需要进一步进行调整,此时继续执行步骤S18。若获取的播放延迟值小于或等于预设播放延迟阈值,则说明目前的媒体数据的播放的延迟较小,调整后的缓存区的大小符合实际需求。
在步骤S18中,将缓存区的大小和预设差值范围均调小。
若获取的播放延迟值大于预设播放延迟阈值,则进一步调整缓存区的大小。可以理解的是,播放延迟值大于预设播放延迟阈值即为目前的媒体数据的播放的延迟较大,换言之,调整后的缓存区的大小比实际所需的大小要大,因此将缓存区的大小调小。
进一步,播放延迟值大于预设播放延迟阈值也可以表明目前调整后的预设差值范围也不符合实际需求,进而对预设差值范围也进行调整,具体的,可以通过将预设差值范围的上限值减小或将下限值增大,进而将预设差值范围缩小。
值得注意的是,图5和图6所示的媒体数据的播放方法第二实施例和第三实施例可以结合形成新的实施例,该实施例的各步骤如图7所示:
在步骤S41中,对预设时间段内接收到的媒体数据的显示时间戳采样。
在步骤S42中,计算采样得到的显示时间戳与播放设备的系统时钟间的差值。
在步骤S43中,将差值与预设差值范围进行比较。
在步骤S44中,根据比较结果调整缓存待播放的媒体数据的缓存区的大小。
在步骤S45中,根据比较结果调整预设差值范围。
在步骤S46中,获取播放延迟值,并判断播放延迟值是否大于预设播放延迟阈值。
在步骤S47中,将缓存区的大小和预设差值范围均调小。
在步骤S48中,利用调整后的预设差值范围,在下一预设时间段内重复执行上述方法。
其中,本实施例的步骤S41至步骤S48步骤具体实施内容分别与图1至图6所示的媒体数据的播放方法第一实施例至第三实施例相同,相对于图1至图6所示的媒体数据的播放方法第一实施例至第三实施例,本实施例的不同之处在于执行顺序的不同,本实施例中,根据比较结果调整缓存待播放的媒体数据的缓存区的大小之后,进一步根据比较结果调整预设差值范围,得到初次调整后的预设差值范围;之后进一步,根据获得的延迟值对调整后的缓存区的大小和初次调整后的预设差值范围进行进一步调整。
例如,步骤S44和步骤S45中根据媒体数据的显示时间戳和播放设备的系统时钟间的差值和预设差值范围的比较结果,调整缓存待播放的媒体数据的缓存区和预设差值范围之后,进一步通过播放延迟值对调整后的媒体数据的缓存区和预设差值范围进行调整。本实施例中,媒体数据的缓存区和预设差值范围的调整方法与图1至图6所示的媒体数据的播放方法第一实施例至第三实施例相同,此处不再赘述。
进一步,请参阅图8,图8是本发明媒体数据播放设备一实施例的结构示意图。如图8所示,本实施例的媒体数据播放设备100包括处理器11、存储器12、系统时钟生成器13、接收器14和播放器15,处理器11分别与存储器12、接收器14、系统时钟生成器13和播放器15连接,存储器12分别与接收器14和播放器15连接。
系统时钟生成器13用于生成媒体数据播放设备100的系统时钟;接收器14用于接收待播放的媒体数据。存储器12包括一存储空间和一缓存区(图中未画出),存储空间用于存储被配置为被处理器11执行的计算机指令,缓存区用于缓存接收器14接收到的媒体数据。播放器15用于从缓存区中读取媒体数据并进行播放。处理器11执行存储器12中存储的计算机指令,以实现图1至图7所示的媒体数据的播放方法第一实施例至第四实施例。
进一步,请参阅图9,图9是本发明媒体数据播放系统一实施例的结构示意图。本实施例的媒体数据播放系统200包括图8所示的媒体数据播放设备100以及与该媒体数据播放设备100连接的终端设备21。
本实施例中,终端设备21与媒体数据播放设备100之间通过有线网络或无线网络进行连接,其中,无线网络包括但不限于wifi和蓝牙的无线连接,有线网络可以是通过网线连接的远程网络,也可以是通过USB接口连接的有线通信网络。终端设备21通过网络连接,向媒体数据播放设备100发送媒体数据,媒体数据播放设备100接收该媒体数据并进一步执行存储器12中存储的计算机指令,以实现图1至图7所示的媒体数据的播放方法第一实施例至第四实施例。
其中,媒体数据播放设备100可以为车载导航设备、电脑等可播放媒体数据的设备,终端设备21可以为手机、平板电脑等智能终端设备,此外,终端设备21也可以是服务器或存储有媒体数据的硬盘、U盘等存储装置。
请参阅图10,图10是本发明存储介质实施例的结构示意图。如图10所示,本实施例中的存储介质300中存储有能够被执行的程序数据31,该程序数据31被执行能够实现图1至图7所示的媒体数据的播放方法第一实施例至第四实施例。
本实施例中,该存储介质300可以是智能终端的存储模块、移动存储装置(如移动硬盘、U盘等)、网络云盘、应用存储平台或服务器等具备存储功能的介质。此外,该存储介质还可以为上述图8至图9中所示的存储器12。
以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围。
Claims (7)
1.一种媒体数据的播放方法,其特征在于,包括:
播放设备对预设时间段内接收到的待播放媒体数据的显示时间戳采样;
计算所述采样得到的显示时间戳与所述播放设备的系统时钟间的差值;
将所述差值与预设差值范围进行比较,根据比较结果调整用于缓存待播放媒体数据的缓存区大小;
其中,所述计算所述采样得到的显示时间戳与所述播放设备的系统时钟间的差值,包括:分别计算所述采样得到的多个显示时间戳与所述播放设备的对应所述多个显示时间戳的多个系统时钟间的差,得到多个差值;
所述调整所述缓存区大小,包括:
获取所述多个差值中的最大值与所述预设差值范围的上限值中的较大值,以及所述多个差值中的最小值与所述预设差值范围的下限值中的较小值;
计算所述较大值和所述较小值之间的差值;
通过预设映射关系确定与所述较大值和所述较小值之间的差值具有映射关系的缓存区容量值,根据所述缓存区容量值调整所述缓存区大小;或者,计算所述较大值和所述较小值之间的差值与在所述较大值和所述较小值之间的差值内接收到的媒体数据的数据总量的乘积,根据所述乘积调整所述缓存区大小。
2.根据权利要求1所述的播放方法,其特征在于,所述将所述差值与预设差值范围进行比较,根据比较结果调整用于缓存待播放媒体数据的缓存区大小,包括:
将所述最大值与所述上限值进行比较,以及将所述最小值与所述下限值进行比较;
若所述最大值大于所述上限值和/或所述最小值小于所述下限值,则调整所述缓存区大小;
若所述最大值小于或等于所述上限值,且所述最小值大于或等于所述下限值,则保持所述缓存区大小不变。
3.根据权利要求1所述的播放方法,其特征在于,所述播放方法还包括:
根据所述比较结果调整所述预设差值范围;
利用调整后的预设差值范围,在下一所述预设时间段内重复执行所述播放方法。
4.根据权利要求3所述的播放方法,其特征在于,所述根据所述比较结果调整所述预设差值范围,具体为:
若所述最大值大于所述上限值,则将所述上限值的数值调整为所述最大值的数值;
若所述最小值小于所述下限值,则将所述下限值的数值调整为所述最小值的数值。
5.根据权利要求1所述的播放方法,其特征在于,所述根据比较结果调整用于缓存待播放媒体数据的缓存区大小之后,还包括:
获取播放延迟值,并判断所述播放延迟值是否大于预设播放延迟阈值;
若是,则将所述缓存区大小和预设差值范围均调小;否则对所述缓存区大小和预设差值范围不做调整。
6.一种媒体数据的播放设备,其特征在于,包括处理器、存储器、系统时钟生成器、接收器和播放器,所述处理器分别与所述存储器、所述接收器、所述系统时钟生成器和所述播放器连接,所述存储器分别与所述接收器和所述播放器连接;
所述系统时钟生成器用于生成所述播放设备的系统时钟;
所述接收器用于接收待播放媒体数据;
所述存储器包括一存储空间和一缓存区,所述存储空间存储有用于实现权利要求1~5任意一项所述的媒体数据的播放方法的计算机指令,所述缓存区用于缓存所述接收器接收到的待播放媒体数据;
所述播放器用于从所述缓存区中读取所述待播放媒体数据并进行播放;
所述处理器执行所述存储器中的所述计算机指令。
7.一种存储介质,其特征在于,存储有程序数据,所述程序数据能够被执行以实现如权利要求1-5任意一项所述的媒体数据的播放方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810948237.0A CN110856028B (zh) | 2018-08-20 | 2018-08-20 | 一种媒体数据的播放方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810948237.0A CN110856028B (zh) | 2018-08-20 | 2018-08-20 | 一种媒体数据的播放方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110856028A CN110856028A (zh) | 2020-02-28 |
CN110856028B true CN110856028B (zh) | 2021-12-14 |
Family
ID=69594410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810948237.0A Active CN110856028B (zh) | 2018-08-20 | 2018-08-20 | 一种媒体数据的播放方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110856028B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113452570B (zh) * | 2020-03-27 | 2023-05-19 | Oppo广东移动通信有限公司 | 播放调整方法、播放设备、电子装置及储存介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1352846A (zh) * | 1999-01-14 | 2002-06-05 | 艾利森电话股份有限公司 | 自适应抖动缓存 |
CN101304557A (zh) * | 2008-04-25 | 2008-11-12 | 华为技术有限公司 | 一种分组传输控制方法及装置 |
CN102868908A (zh) * | 2011-07-04 | 2013-01-09 | 哈尔滨融智达网络科技有限公司 | 高效流媒体播放方法和装置 |
WO2013162335A1 (ko) * | 2012-04-26 | 2013-10-31 | 한국전자통신연구원 | 3dtv를 위한 영상 재생 장치 및 상기 장치가 수행하는 방법 |
CN105556977A (zh) * | 2013-09-04 | 2016-05-04 | 高通股份有限公司 | 动态及自动控制音频/视频流送的等待时间缓冲 |
CN107529097A (zh) * | 2016-06-20 | 2017-12-29 | 北京信威通信技术股份有限公司 | 一种自适应调整视频缓冲大小的方法及装置 |
CN108259964A (zh) * | 2018-01-23 | 2018-07-06 | 浙江国视科技有限公司 | 一种视频播放速率调整方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010212996A (ja) * | 2009-03-10 | 2010-09-24 | Toshiba Corp | 情報処理装置および多重化処理方法 |
US20140112395A1 (en) * | 2012-10-22 | 2014-04-24 | Electronics And Telecommunications Research Institute | Method and apparatus for decoder buffering in hybrid coded video system |
-
2018
- 2018-08-20 CN CN201810948237.0A patent/CN110856028B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1352846A (zh) * | 1999-01-14 | 2002-06-05 | 艾利森电话股份有限公司 | 自适应抖动缓存 |
CN101304557A (zh) * | 2008-04-25 | 2008-11-12 | 华为技术有限公司 | 一种分组传输控制方法及装置 |
CN102868908A (zh) * | 2011-07-04 | 2013-01-09 | 哈尔滨融智达网络科技有限公司 | 高效流媒体播放方法和装置 |
WO2013162335A1 (ko) * | 2012-04-26 | 2013-10-31 | 한국전자통신연구원 | 3dtv를 위한 영상 재생 장치 및 상기 장치가 수행하는 방법 |
CN105556977A (zh) * | 2013-09-04 | 2016-05-04 | 高通股份有限公司 | 动态及自动控制音频/视频流送的等待时间缓冲 |
CN107529097A (zh) * | 2016-06-20 | 2017-12-29 | 北京信威通信技术股份有限公司 | 一种自适应调整视频缓冲大小的方法及装置 |
CN108259964A (zh) * | 2018-01-23 | 2018-07-06 | 浙江国视科技有限公司 | 一种视频播放速率调整方法及系统 |
Non-Patent Citations (1)
Title |
---|
流媒体连续性与实时性的有效平衡机制;孙盛杰等;《广西师范大学学报(自然科学版)》;20120615;第30卷(第2期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110856028A (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10382511B2 (en) | Synchronizing playback of digital media content | |
KR102223607B1 (ko) | 게임 클립 인기 기반 제어 기법 | |
JP5979483B2 (ja) | コンテンツ再生装置、コンテンツ再生システム、及びコンテンツ再生方法 | |
US11317143B2 (en) | Dynamic reduction in playout of replacement content to help align end of replacement content with end of replaced content | |
CN106792073B (zh) | 跨设备的音视频数据同步播放的方法、播放设备及系统 | |
US20070011343A1 (en) | Reducing startup latencies in IP-based A/V stream distribution | |
KR100862630B1 (ko) | 비디오 프레임들 및 오디오 프레임들을 동기화하기 위한시스템 및 방법 | |
CN102035827B (zh) | 信息处理装置及信息处理方法 | |
CN110636339B (zh) | 基于码率的调度方法、装置及电子设备 | |
CN105681874A (zh) | 网络视频在线播放的方法和装置 | |
JP2006215540A (ja) | ソフトウェアベースオーディオレンダリング | |
CN108900855B (zh) | 直播内容录制方法、装置、计算机可读存储介质及服务器 | |
CN110519627B (zh) | 一种音频数据的同步方法和装置 | |
WO2015169172A1 (zh) | 网络视频播放的方法和装置 | |
CN107690093B (zh) | 一种视频播放方法及装置 | |
US10609105B2 (en) | System and method for streaming music on mobile devices | |
CN108156500B (zh) | 多媒体数据时间修正方法、计算机装置、计算机可读存储介质 | |
CN110856028B (zh) | 一种媒体数据的播放方法、设备及存储介质 | |
EP2689395B1 (en) | Method in streaming client for handling video streaming data, streaming client, computer programs and computer program products | |
CN104581340A (zh) | 客户端、流媒体数据接收方法和流媒体数据传输系统 | |
JP5093331B2 (ja) | コンテンツ再生装置およびそのプログラム | |
US10171847B2 (en) | Information device and distribution device | |
US10862935B2 (en) | Distribution device and information device | |
CN109194971A (zh) | 一种为多媒体文件的生成方法及装置 | |
EP3142376A1 (en) | Information device |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |