网络视频播放方法及装置的制造方法

文档序号:10539479
网络视频播放方法及装置的制造方法
【专利摘要】本发明实施例提供一种网络视频播放方法及装置,所述方法包括:在进行网络视频播放时,启动计时器对音频数据的播放进行计时;在每一帧音频帧播放结束时,获取所述计时器的计时时间;将视频数据的播放与所述计时器的计时时间进行同步。本发明实施例提高视频数据同步的准确性,提高了网络视频的播放效果。
【专利说明】
网络视频播放方法及装置
技术领域
[0001]本发明实施例涉及视频技术领域,尤其涉及一种网络视频播放方法及装置。
【背景技术】
[0002]网络视频的媒体数据由音频数据以及视频数据(即影像数据)构成,网络视频的媒体数据经过编码、封装等操作,生成媒体文件,以媒体文件形式进行传输,播放端通过获取媒体文件中的媒体数据,并进行解复用、解码等操作之后,即可以播放网络视频。
[0003]其中,播放端对媒体数据进行解复用,以分流出音频数据以及视频数据,并获得每一帧音频帧的时间戳以及每一帧视频帧的时间戳,时间戳中定义了每一帧音频帧的起播时间或者每一帧视频帧的起播时间。从而在进行网络视频播放时,根据时间戳进行音频帧以及视频帧的播放。
[0004]由于在进行音频数据和视频数据的播放,通常是将视频数据向音频数据进行同步,具体的是将视频数据的播放和当前播放的音频帧的时间戳进行同步。但是由于在对音频帧进行解复用、解码等操作时,获得的音频帧的时间戳可能是不准确的,与真实播放时间不符,按照现有技术的这种播放方式,就会影响视频帧的同步,导致同步不准确,影响网络视频的播放效果。

【发明内容】

[0005]本发明实施例提供一种网络视频播放方法及装置,用以解决现有技术中网络视频播放过程中音频数据与视频数据存时间差,影响网络视频播放效果的技术问题。
[0006]本发明实施例提供一种网络视频播放方法,包括:
[0007]在进行网络视频播放时,启动计时器对音频数据的播放进行计时;
[0008]在每一帧音频帧播放结束时,获取所述计时器的计时时间;
[0009]将视频数据的播放与所述计时器的计时时间进行同步。
[0010]本发明实施例提供一种网络视频播放装置,包括:
[0011 ]计时启动模块,用于在进行网络视频播放时,启动计时器对音频数据的播放进行计时;
[0012]时间获取模块,用于在每一帧音频帧播放结束时,获取所述计时器的计时时间;
[0013]第一播放调整模块,用于将视频数据的播放与所述计时器的计时时间进行同步。
[0014]本发明实施例提供的网络视频播放方法及装置,通过在进行网络视频播放时,启动计时器对音频数据的播放进行计时,在每一帧音频帧播放结束时,获取所述计时器的计时时间;从而可以按照所述计时器的计时时间,将视频数据的播放与所述计时器的计时时间进行同步,实现视频数据向音频数据的同步,提高了视频数据同步的准确性,提高了网络视频的播放效果,提高了用户的体验。
【附图说明】
[0015]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1为本发明网络视频播放方法一个实施例流程图;
[0017]图2为本发明网络视频播放方法又一个实施例流程图;
[0018]图3为本发明网络视频播放装置一个实施例结构示意图;
[0019]图4为本发明网络视频播放装置又一个实施例结构示意图。
【具体实施方式】
[0020]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0021]在进行网络视频播放时,如果音频数据和视频数据不同步,将会导致音声与画面不一致,从而就会影响网络视频的播放效果,影响用户观看体验。为了解决这一技术问题,发明人在研究中发现,可以将视频数据向音频数据进行同步,根据当前播放的音频帧的时间戳,对视频数据的播放进行调整,在当前播放的音频帧播放结束时,如果当前播放视频帧的时间戳大于当前播放的音频帧的时间戳,且相差未在允许范围内时,则当前播放的视频帧即等待播放,直至与当前播放的音频帧的时间戳相同或者相差在允许范围内。但是,发明人进一步发现,解复用获得的音频数据中,由于音频帧采样率变化等问题,使得获得每一帧音频帧的时间戳可能出现错误,音频帧对应的时间戳并不是真实的时间戳,因此,就会影响视频数据的同步,导致同步不准确,影响网络视频的播放效果。
[0022]发明人又经过一系列研究,转变了思维,创造性的提出了本发明的技术方案,在本发明实施例中,进行网络视频播放时,启动计时器对音频数据的播放进行计时,在每一帧音频帧播放结束时,获取所述计时器的计时时间;从而可以将视频数据的播放与所述计时器的计时时间进行同步,实现视频数据向音频数据的同步,而不是按照当前播放的音频帧的时间戳,对视频数据的播放进行播放,由于计时器的计时时间记录的是音频帧真实播放时间,因此按照所述计时器的计时时间,对视频数据的播放进行同步调整可以提高视频数据同步的准确性,提高网络视频的播放效果,提高用户的体验。
[0023]图1为本发明实施例提供的一种网络视频播放方法一个实施例的流程图,该方法可以包括以下几个步骤:
[0024]101:在进行网络视频播放时,启动计时器对音频数据的播放进行计时。
[0025]102:在每一帧音频帧播放结束时,获取所述计时器的计时时间。
[0026]计时器的计时时间在第一帧音频帧进行播放时即开始计时,在每一帧音频帧播放结束时,即会获取一次计时时间。
[0027]103:将视频数据的播放与所述计时器的计时时间进行同步。
[0028]具体的可以是:
[0029]如果当前待播放视频帧的时间戳大于该计时器的计时时间,且相差未在允许范围内,则当前待播放视频帧即进行等待,直至与计时器的计时时间相差在允许范围内。
[0030]如果当前待播放视频帧的时间戳大于该计时器的计时时间,且相差在允许范围内,则即可以播放该当前待播放的视频帧。
[0031]如果当前待播放视频帧的时间戳小于该计时器的计时时间时,则即可以播放该当前待播放的视频帧。
[0032]其中,当前播放的视频帧即是指当前待播放的一帧视频帧。
[0033]本发明实施例中,在进行网络视频播放时,通过启动计时器对音频数据的播放进行计时,在每一帧音频帧播放结束时,获取所述计时器的计时时间;将视频数据的播放与所述计时器的计时时间进行同步。从而可以提高视频数据同步的准确性,提高网络视频的播放效果,提高用户的体验。
[0034]其中,将视频数据的播放与所述计时器的计时时间进行同步之前,可以先对计时器的计时时间进行判断,以确定是否需要按照所述计时器的计时时间,对视频数据的播放进行同步。
[0035]因此作为又一个实施例,所述将视频数据的播放与所述计时器的计时时间进行同步可以是:
[0036]在所述计时器的计时时间与所述当前播放的音频帧的时间戳满足同步条件时,将视频数据的播放与所述计时器的计时时间进行同步。
[0037]当前播放的音频帧即是指在每一帧音频帧播放结束之后,继续播放的一帧音频帧,也即当前播放结束的音频帧的下一帧音频帧。
[0038]而如果计时器的计时时间与当前播放的音频帧的时间戳不满足同步条件时,参见图2所示的又一个实施例,所述网络视频播放方法可以包括以下几个步骤:
[0039]201:在进行网络视频播放时,启动计时器对音频数据的播放进行计时。
[0040]202:在每一帧音频帧播放结束时,获取所述计时器的计时时间。
[0041]203:判断所述计时器的计时时间与当前播放的音频帧的时间戳是否满足同步条件,如果是,执行步骤204,如果否,执行步骤205。
[0042]204:将视频数据的播放与所述计时器的计时时间进行同步。
[0043]205:调整所述计时器的计时时间为当前播放的音频帧的时间戳。
[0044]206:将视频数据的播放与所述计时器调整之后的计时时间进行同步。
[0045]计时器调整之后的计时时间也即为当前播放的音频帧的时间戳,也即将视频数据的播放与当前播放的音频帧的时间戳进行同步。
[0046]在本实施例中,在进行网络视频播放时,通过启动计时器对音频数据的播放进行计时,在每一帧音频帧播放结束时,获取所述计时器的计时时间;如果当前播放的音频帧的时间戳与计时器的计时时间满足同步条件,则可以将视频数据的播放与所述计时器的计时时间进行同步,而如果当前播放的音频帧的时间戳与计时器的计时时间不满足同步条件,则可以将计时器调整为所述当前播放的音频帧的时间戳,再根据计时器调整之后的计时时间,将视频数据的播放与所述计时器调整之后的计时时间进行同步。以提高视频数据同步的准确性,提高网络视频的播放效果,提高用户的体验。
[0047]该同步条件可以根据当前播放的音频帧的时间戳与计时器的计时时间的时间差进行设定。
[0048]作为一种可能的实现方式,该同步条件可以是所述计时器的计时时间与当前播放的音频帧的时间戳的时间差大于预设值。
[0049]因此,所述在所述计时器的计时时间与当前播放的音频帧的时间戳满足同步条件时,将视频数据的播放与所述计时器的计时时间进行同步可以包括:
[0050]在所述计时器的计时时间与当前播放的音频帧的时间戳的时间差大于预设值时,将视频数据的播放与所述计时器的计时时间进行同步。
[0051]如果计时器的计时时间与当前播放的音频帧的时间戳的时间差较大,比如大于预设值,则表明音频数据的真实播放时间与解复用获得时间戳定义的时间戳相差较大,而如果计时器的计时时间与当前播放的音频帧的时间戳的时间差较小,比如小于预设值,在误差允许范围内,则可以根据当前播放的音频帧的时间戳,将视频数据的播放与所述当前播放的音频帧的计时时间进行同步。具体的,将计时器时间进行调整为当前播放的音频帧的时间戳,将视频数据的播放与所述计时器调整之后的计时时间进行同步。
[0052]作为又一种可能的实现方式,在一个实际应用。网络视频的可以是基于HLS(HttpLive Streaming,实时流媒体传输)协议进行传输,HLS基于HTTP协议实现。网络视频的媒体数据封装为TS媒体文件。音频数据的编码格式为AACXAdvanced Aud1 Coding,高级音频编码)。
[0053]在进行网络视频播放时,音频数据是连续播放,视频数据是逐帧进行播放的,在TS媒体文件中,当ACC音频数据的采样率发生改变后,进行解复用时又无法获得准确的采用率,导致拆分音频帧时计算时间戳时发生错误,由于音频帧的时间戳存在错误,如果将视频帧向音频帧进行同步,就会导致视频数据播放不流畅,出现丢帧以及卡顿现在,而影响用户体验。
[0054]而由于TS媒体文件中的PES包的时间戳是正确的,但是如果是音频数据,一般一个PES包中包含多帧音频帧,当音频采用率发生变化后,在对PES进行拆解计算时间戳时,就可能发生计算偏差。偏差值通常在两个音频Pes的时间戳之间。
[0055]因此,该同步条件可以是所述计时器的计时时间与当前播放的音频帧的时间戳的时间差小于两个PES音频包的时间戳差值。
[0056]也即所述在所述计时器的计时时间与当前播放的音频帧的时间戳满足同步条件时,将视频数据的播放与所述计时器的计时时间进行同步可以包括:
[0057]在所述计时器的计时时间与当前播放的音频帧的时间戳的时间差小于两个PES音频包的时间戳差值时,按照所述计时器的计时时间,将视频数据的播放与所述计时器的计时时间进行同步。
[0058]如果计时器的计时时间与当前播放的音频帧的时间戳的时间差小于两个PES音频包的时间戳差值(一般为200毫秒),表明音频数据的时间戳不准确是由于音频数据的ACC采样率变化导致的,此时则根据计时器的计时时间,将视频数据的播放与所述计时器的计时时间进行同步。
[0059]而如果计时器的计时时间与当前播放的音频帧的时间戳的时间差大于两个PES音频包的时间戳差值,表明计时器的计时时间与当前播放的音频帧时间戳的时间差不是由于音频数据的ACC采样率变化导致的,每一帧音频帧的时间戳可能是准确的,此时即根据当前播放的音频帧的时间戳,将视频数据的播放与当前播放的音频帧的时间戳进行同。具体的,将计时器时间进行调整为当前播放的音频帧的时间戳,从而利用计时器调整之后的计时时间,将视频数据的播放与所述计时器调整之后的计时时间进行同步。
[0060]图3为本发明实施例提供的一种网络视频播放装置一个实施例的结构示意图,该装置可以包括:
[0061 ]计时启动模块301,用于在进行网络视频播放时,启动计时器对音频数据的播放进行计时;
[0062]时间获取模块302,用于在每一帧音频帧播放结束时,获取所述计时器的计时时间;
[0063]第一播放调整模块303,用于将视频数据的播放与所述计时器的计时时间进行同步。
[0064]具体的可以是:
[0065]如果当前待播放视频帧的时间戳大于该计时器的计时时间,且相差未在允许范围内,则当前播放视频帧即进行等待,直至与计时器的计时时间相差在允许范围内。
[0066]如果当前待播放视频帧的时间戳大于该计时器的计时时间,且相差在允许范围内,则即可以播放该当前待播放视频帧。
[0067]如果当前待播放视频帧时间戳小于该计时器的计时时间时,则即可以播放该当前待播放的视频帧。
[0068]本发明实施例中,在进行网络视频播放时,通过启动计时器对音频数据的播放进行计时,在每一帧音频帧播放结束时,获取所述计时器的计时时间;将视频数据的播放与所述计时器的计时时间进行同步。从而可以提高视频数据同步的准确性,提高网络视频的播放效果,提高用户的体验。
[0069]其中,将视频数据的播放与所述计时器的计时时间进行同步,可以先对计时器的计时时间进行判断,以确定是否需要根据计时器计时时间选择同步视频帧。
[0070]因此作为又一个实施例,参见图4所示,与图3所示实施例不同之处在于,所述第一选择模块303可以具体用于:
[0071]在所述计时器的计时时间与当前播放的音频帧的时间戳满足同步条件时,将视频数据的播放与所述计时器的计时时间进行同步。
[0072]而如果计时器的计时时间与当前播放的音频帧的时间戳不满足同步条件时,作为又一个实施例,该装置还可以包括:
[0073]时间调整模块305,用于在所述计时器的计时时间与当前播放的音频帧的时间戳不满足同步条件时,调整所述计时器的计时时间为当前播放的音频帧的时间戳。
[0074]第二播放调整模块306,用于将视频数据的播放与所述计时器调整之后的计时时间进行同步。
[0075]计时器调整之后的计时时间也即为当前播放的音频帧的时间戳。
[0076]在本实施例中,在进行网络视频播放时,通过启动计时器对音频数据的播放进行计时,在每一帧音频帧播放结束时,获取所述计时器的计时时间;如果当前播放的音频帧的时间戳与计时器的计时时间满足同步条件,则可以将视频数据的播放与所述计时器的计时时间进行同步。,而如果当前播放的音频帧的时间戳与计时器的计时时间不满足同步条件,则可以将计时器调整为所述当前播放的音频帧的时间戳,再将视频数据的播放与所述计时器调整之后的计时时间进行同步。从而提高视频数据同步的准确性,提高网络视频的播放效果,提高用户的体验。
[0077]该同步条件可以根据当前播放的音频帧的时间戳与计时器的计时时间的时间差进行设定。
[0078]作为一种可能的实现方式,该同步条件可以是所述计时器的计时时间与当前播放的音频帧的时间戳的时间差大于预设值。
[0079]因此,所述第一播放调整模块303可以具体用于:
[0080]在所述计时器的计时时间与当前播放的音频帧的时间戳的时间差大于预设值时,将视频数据的播放与所述计时器的计时时间进行同步。
[0081]如果计时器的计时时间与当前播放的音频帧的时间戳的时间差较大,比如大于预设值,则表明解复用获得音频数据的时间戳不准确,而如果计时器的计时时间与当前播放的音频帧的时间戳的时间差较小,比如小于预设值,在误差允许范围内,则可以根据当前播放的音频帧的时间戳,将视频数据的播放与当前播放的音频帧的时间戳进行同步。具体的,将计时器的计时时间进行调整为当前播放的音频帧的时间戳,将视频数据的播放与所述计时器调整之后的计时时间进行同步。
[0082]作为又一种可能的实现方式,在一个实际应用。网络视频的可以是基于HLS(HttpLive Streaming,实时流媒体传输)协议进行传输,HLS基于HTTP协议实现。网络视频的媒体数据封装为TS媒体文件。音频数据的编码格式为AACXAdvanced Aud1 Coding,高级音频编码)。
[0083]在进行网络视频播放时,音频数据是连续播放,视频数据是逐帧进行播放的,在TS媒体文件中,当ACC音频数据的采样率发生改变后,进行解复用时又无法获得准确的采用率,导致拆分音频帧时计算时间戳时发生错误,由于音频帧的时间戳存在错误,如果将视频帧向音频帧进行同步,就会导致视频数据播放不流畅,出现丢帧以及卡顿现在,而影响用户体验。
[0084]而由于TS媒体文件中的PES包的时间戳是正确的,但是如果是音频数据,一般一个PES包中包含多帧音频帧,当音频采用率发生变化后,在对PES进行拆解计算时间戳时,就可能发生计算偏差。偏差值通常在两个音频Pes的时间戳之间。
[0085]因此,该同步条件可以是所述计时器的计时时间与当前播放的音频帧的时间戳的时间差小于两个PES音频包的时间戳差值。
[0086]该第一播放调整模块303可以具体用于:
[0087]在所述计时器的计时时间与当前播放的音频帧的时间戳的时间差小于两个PES音频包的时间戳差值时,将视频数据的播放与所述计时器的计时时间进行同步。
[0088]如果计时器的计时时间与当前播放的音频帧的时间戳的时间差小于两个PES音频包的时间戳差值(一般为200毫秒),表明音频数据时间戳不准确是由于音频数据的ACC采样率变化导致的,此时则根据计时器的计时时间,将视频数据的播放与所述计时器的计时时间进行同步。
[0089]而如果计时器的计时时间与当前播放的音频帧的时间戳的时间差大于两个PES音频包的时间戳差值,表明计时器的计时时间与当前播放的音频帧的时间戳的时间差不是由于音频数据的ACC采样率变化导致的,当前播放的音频帧的时间戳可能是准确的,此时即根据当前播放的音频帧的时间戳,将视频数据的播放与当前播放的音频帧的时间戳进行同步。具体的,将计时器时间进行调整为当前播放的音频帧的时间戳,从而利用计时器调整之后的计时时间,将视频数据的播放与所述计时器调整之后的计时时间进行同步。
[0090]通过本发明实施例的技术方案,可以提高音频数据与视频数据的在播放过程在的同步一致性,从而提高了网络视频的播放效果,提高了用户的观看体验。
[0091]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0092]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0093]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种网络视频播放方法,其特征在于,包括: 在进行网络视频播放时,启动计时器对音频数据的播放进行计时; 在每一帧音频帧播放结束时,获取所述计时器的计时时间; 将视频数据的播放与所述计时器的计时时间进行同步。2.根据权利要求1所述的方法,其特征在于,所述将视频数据的播放与所述计时器的计时时间进行同步包括: 在所述计时器的计时时间与当前播放的音频帧的时间戳满足同步条件时,将视频数据的播放与所述计时器的计时时间进行同步。3.根据权利要求2所述的方法,其特征在于,在所述计时器的计时时间与当前播放的音频帧的时间戳不满足同步条件时,所述方法还包括: 调整所述计时器的计时时间为当前播放的音频帧的时间戳; 将视频数据的播放与所述计时器调整之后的计时时间进行同步。4.根据权利要求2或3所述的方法,其特征在于,所述在所述计时器的计时时间与当前播放的音频帧的时间戳满足同步条件时,将视频数据的播放与所述计时器的计时时间进行同步包括: 在所述计时器的计时时间与当前播放的音频帧的时间戳的时间差大于预设值时,将视频数据的播放与所述计时器的计时时间进行同步。5.根据权利要求2或3所述的方法,其特征在于,所述网络视频的媒体文件为TS媒体文件, 所述在所述计时器的计时时间与当前播放的音频帧的时间戳满足同步条件时,将视频数据的播放与所述计时器的计时时间进行同步包括: 在所述计时器的计时时间与当前播放的音频帧的时间戳的时间差小于两个PES音频包的时间戳差值时,将视频数据的播放与所述计时器的计时时间进行同步。6.一种网络视频播放装置,其特征在于,包括: 计时启动模块,用于在进行网络视频播放时,启动计时器对音频数据的播放进行计时; 时间获取模块,用于在每一帧音频帧播放结束时,获取所述计时器的计时时间; 第一播放调整模块,用于将视频数据的播放与所述计时器的计时时间进行同步。7.根据权利要求6所述的装置,其特征在于,所述第一播放调整模块具体用于: 在所述计时器的计时时间与当前播放的音频帧的时间戳满足同步条件时,将视频数据的播放与所述计时器的计时时间进行同步。8.根据权利要求7所述的装置,其特征在于,还包括: 时间调整模块,用于在所述计时器的计时时间与当前播放的音频帧的时间戳不满足同步条件时,调整所述计时器的计时时间为所述下一个音频帧的时间戳; 第二播放调整模块,用于将视频数据的播放与所述计时器调整之后的计时时间进行同步。9.根据权利要求7或8所述的装置,其特征在于,所述第一播放调整模块具体用于: 在所述计时器的计时时间与当前播放的音频帧的时间戳的时间差大于预设值时,将视频数据的播放与所述计时器的计时时间进行同步。10.根据权利要求7或8所述的装置,其特征在于,所述第一播放调整模块具体用于: 在所述网络视频的媒体文件为TS媒体文件,所述计时器的计时时间与当前播放的音频帧的时间戳的时间差小于两个PES音频包的时间戳差值时,将视频数据的播放与所述计时器的计时时间进行同步。
【文档编号】H04N21/43GK105898500SQ201510971468
【公开日】2016年8月24日
【申请日】2015年12月22日
【发明人】平凯
【申请人】乐视云计算有限公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1
网络视频播放器相关技术
下载网络视频的方法相关技术
网络视频下载方法相关技术
网络视频播放不了相关技术