音视频同步方法和装置制造方法及图纸

技术编号:11456541 阅读:71 留言:0更新日期:2015-05-14 13:35
本发明专利技术涉及一种音视频同步方法和装置。所述方法包括以下步骤:对分别接收的音频数据包和视频数据包进行解码得到音频数据的时间戳和视频数据的时间戳;获取当前播放视频数据的时间戳和当前播放音频数据的时间戳;根据所述当前播放视频数据的时间戳和当前播放音频数据的时间戳计算当前音视频播放的时间差;根据所述当前音视频播放的时间差获取调节速率;根据所述调节速率调节所述视频播放速率或控制音频停止播放,以使所述音频数据和视频数据播放同步。在发送端网络出现卡顿时,并不会引起接收方播放的视频和音频同时出现卡顿,提高了音频播放的流畅性,尤其应用于在音视频分开采集、编码和传输场景下的视频直播中音视频同步。

【技术实现步骤摘要】
音视频同步方法和装置
本专利技术涉及网络信息传输领域,特别是涉及一种音视频同步方法和装置。
技术介绍
随着网络技术的发展,用户通过网络进行在线交互活动频繁,例如进行在线视频会议或在线视频聊天,需要采集会话用户的图像数据和声音数据,即音视频数据传输给其他用户,并在其他用户处播放该采集的音视频数据。传统的音视频采集传输方式是在发送端对音视频进行合流,然后采用单一通道传输合流后的数据,并在接收端将合流后的数据分离播放,在发送端网络出现卡顿的时候,在接收方播放的视频和声音将同时出现卡顿。
技术实现思路
基于此,有必要针对传统的音视频播放中发送端网络出现卡顿引起接收方播放的视频和音频同时出现卡顿的问题,提供一种音视频同步方法和装置,能避免视频和音频同时出现卡顿,提高了音频播放的流畅性。一种音视频同步方法,包括以下步骤:对分别接收的音频数据包和视频数据包进行解码得到音频数据的时间戳和视频数据的时间戳;获取当前播放视频数据的时间戳和当前播放音频数据的时间戳;根据所述当前播放视频数据的时间戳和当前播放音频数据的时间戳计算当前音视频播放的时间差;根据所述当前音视频播放的时间差获取调节速率;根据所述调节速率调节所述视频播放速率或控制音频停止播放,以使所述音频数据和视频数据播放同步。一种音视频同步装置,包括:解码模块,用于对分别接收的音频数据包和视频数据包进行解码得到音频数据的时间戳和视频数据的时间戳;时间戳获取模块,用于获取当前播放视频数据的时间戳和当前播放音频数据的时间戳;时间差计算模块,用于根据所述当前播放视频数据的时间戳和当前播放音频数据的时间戳计算当前音视频播放的时间差;调节速率获取模块,用于根据所述当前音视频播放的时间差获取调节速率;调节模块,用于根据所述调节速率调节所述视频播放速率或控制音频停止播放,以使所述音频数据和视频数据播放同步。上述音视频同步方法和装置,通过根据当前播放视频数据的时间戳和音频数据的时间戳计算当前音视频播放的时间差,并根据当前音视频播放的时间差获取调节速率,根据调节速率调节视频播放速率或控制音频停止播放,使得音频数据和视频数据播放同步,在发送端网络出现卡顿时,并不会引起接收方播放的视频和音频同时出现卡顿,提高了音频播放的流畅性,尤其应用于在音视频分开采集、编码和传输场景下的视频直播中音视频同步,即便在发送端网络出现拥塞和丢包的场景下,同步也会在网络正常之后恢复,并且声音播放的流畅性更易于保证。附图说明图1为一个实施例中音视频同步方法和装置的应用环境示意图;图2为一个实施例中音视频同步方法的流程图;图3为另一个实施例中音视频同步方法的流程图;图4为一个实施例中音视频同步装置的结构示意图;图5为另一个实施例中音视频同步装置的结构示意图;图6为另一个实施例中音视频同步装置的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。可以理解,本专利技术所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本专利技术的范围的情况下,可以将第一终端称为第二终端,且类似地,可将第二终端称为第一终端。第一终端和第二终端两者都是终端,但其不是同一终端。图1为一个实施例中音视频同步方法和装置的应用环境示意图。如图1所示,该应用环境包括第一终端110、音频服务器120、视频服务器130和第二终端140。其中,第一终端110和第二终端140均可为台式计算机、笔记本电脑、平板电脑、个人数字助理、智能手机等。第一终端110和第二终端140的数量可为一个或多个,在此不做限定,此处仅为了说明而举例。第一终端110作为音视频数据的发送端,第二终端140作为音视频数据的接收端。第一用户位于第一终端110上,第二用户位于第二终端140上。第一终端110用于采集第一用户的视频数据及其对应的时间戳和音频数据及其对应的时间戳,并将采集的视频数据及其对应的时间戳编码并封装成视频数据包后发送给视频服务器130,以及将采集的音频数据及其对应的时间戳编码并封装成音频数据包后发送给音频服务器120。音频服务器120将音频数据包发送给第二终端140,视频服务器130将视频数据包发送给第二终端140上的第二用户。第二终端140接收到音频数据包和视频数据包后分别进行解码得到音频数据及其对应的时间戳和视频数据及其对应的时间戳,并根据当前播放的视频数据的时间戳和音频数据的时间戳计算音视频播放的时间差,并根据时间差计算调节速率,根据调节速率调节视频数据的播放速率或控制音频数据停止播放,以使该音频数据和视频数据播放同步。第二终端140通过调节视频数据的播放速率,使得视频数据和音频数据播放同步,在第一终端110上第一用户所处的网络出现拥堵和丢包的场景下,当网络恢复正常后,能及时的恢复视频数据和音频数据的播放同步,且提高了音频播放的流畅性。该音视频同步方法应用于音视频分离传输场景下的直播音视频同步,更能保证音视频数据播放的同步。此外,在其他应用环境中,音频服务器120和视频服务器130可合并为一个服务器,但音频数据和视频数据分离传输。图2为一个实施例中音视频同步方法的流程图。图2中的音视频同步方法应用于图1的应用环境中。如图2所示,一种音视频同步方法,包括以下步骤:步骤202,对分别接收的音频数据包和视频数据包进行解码得到音频数据的时间戳和视频数据的时间戳。具体的,接收的音频数据包和视频数据包是经过编码的,对接收的音频数据包进行解码得到音频数据及其对应的时间戳,对接收的视频数据包进行解码得到视频数据及其对应的时间戳。音频数据包解码会按照时间戳顺序进行解码。视频数据包解码后会重排视频帧的顺序,使其和最初采集顺序相对应。步骤204,获取当前播放视频数据的时间戳和当前播放音频数据的时间戳。具体的,当在播放视频数据时,获取当前播放视频数据的时间戳,并查询当前播放音频数据的时间戳。步骤206,根据该当前播放视频数据的时间戳和当前播放音频数据的时间戳计算当前音视频播放的时间差。具体的,将当前播放视频数据的时间戳和当前播放音频数据的时间戳求差值得到当前音频视频播放的时间差。步骤208,根据该当前音视频播放的时间差获取调节速率。在一个实施例中,该调节速率可为当前播放视频数据的时间戳与当前播放音频数据的时间戳之差的线性函数。具体的,播放器的播放速率是由递交给渲染模块解码后图像数据的速率决定的。图像数据的速率取决于一个时间间隔TP,理想情况下是TP等于1000/平均帧率,若平均帧率为20帧/毫秒,则该TP为50毫秒。当计算出音视频播放的时间差TC=TV-TA,其中,TA为音频数据的时间戳,TV为视频数据的时间戳。调节速率为当前播放视频数据的时间戳与当前播放音频数据的时间戳之差的线性函数,例如可为ACC=A+A*TC/1000,其中,ACC即为调节速率,A为一个基本值,可根据需要设置大小,例如,基本值可为5毫秒。在TC很小时,TC对ACC的影响比较小,当TC较大时,TC对ACC的影响比较大。计算得到一个真实递交给渲染模块的时间间隔TR,TR=TC-ACC本文档来自技高网...
音视频同步方法和装置

【技术保护点】
一种音视频同步方法,包括以下步骤:对分别接收的音频数据包和视频数据包进行解码得到音频数据的时间戳和视频数据的时间戳;获取当前播放视频数据的时间戳和当前播放音频数据的时间戳;根据所述当前播放视频数据的时间戳和当前播放音频数据的时间戳计算当前音视频播放的时间差;根据所述当前音视频播放的时间差获取调节速率;根据所述调节速率调节所述视频播放速率或控制音频停止播放,以使所述音频数据和视频数据播放同步。

【技术特征摘要】
1.一种音视频同步方法,包括以下步骤:将采集的音频数据和视频数据分别标记对应的时间戳;将音频数据及其对应的时间戳进行编码,并将编码后的音频数据和对应的时间戳封装成音频数据包;将视频数据及其对应的时间戳进行编码,并将编码后的视频数据和编码后带出的对应时间戳封装成视频数据包;发送所述视频数据包和所述音频数据包;对分别接收的音频数据包和视频数据包进行解码得到音频数据的时间戳和视频数据的时间戳;获取当前播放视频数据的时间戳和当前播放音频数据的时间戳;根据所述当前播放视频数据的时间戳和当前播放音频数据的时间戳计算当前音视频播放的时间差;根据所述当前音视频播放的时间差获取调节速率;根据所述调节速率调节所述视频播放速率或控制音频停止播放,以使所述音频数据和视频数据播放同步;所述将采集的音频数据和视频数据分别标记对应的时间戳的步骤包括:将采集的第一帧视频数据标记对应的系统时间戳,在第一帧之后每采集到一帧视频数据,统计已采集视频数据的平均帧率,并根据所述平均帧率递增视频数据的时间戳,获取递增之后的时间戳与当前系统时间戳的差值;当所述递增之后的时间戳与当前系统时间戳的差值在误差允许范围内,则将所述递增之后的时间戳作为所述视频数据的时间戳;当所述递增之后的时间戳与当前系统时间戳的差值未在误差允许范围内,则根据所述当前系统时间戳修正所述视频数据的时间戳。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述当前音视频播放的时间差的绝对值在预定范围内,则判定所述当前音视频播放同步;若所述当前音视频播放的时间差的绝对值小于或等于预定上限值,则根据所述当前音视频播放的时间戳获取调节速率;若所述当前音视频播放的时间差的绝对值大于预定上限值,则表示所述音视频播放无法同步。3.根据权利要求1或2所述的方法,其特征在于,根据所述调节速率调节所述视频播放速率或控制音频停止播放,以使所述音频数据和视频数据播放同步的步骤包括:所述调节速率为当前播放视频数据的时间戳与当前播放音频数据的时间戳之差的线性函数;若调节速率为正值,则降低所述视频数据的播放速率,以使所述音频数据和视频数据播放同步;若调节速率为负值,则增加所述视频数据的播放速率,以使所述音频数据和视频数据播放同步;若调节速率为负值且调节速率的绝对值大于预设值,则控制音频停止播放,以使所述音频数据和视频数据播放同步。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:计算所述视频数据编码所消耗的延时时间;将所述音频数据包缓存所述延时时间后再发送。5.一种音视频同步装置,其特征在于,包括:解码模块,用于对分别接收的音频...

【专利技术属性】
技术研发人员:黄从韬
申请(专利权)人:深圳市腾讯计算机系统有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1