CN107801080A - 一种音视频同步方法、装置及设备 - Google Patents

一种音视频同步方法、装置及设备 Download PDF

Info

Publication number
CN107801080A
CN107801080A CN201711106765.3A CN201711106765A CN107801080A CN 107801080 A CN107801080 A CN 107801080A CN 201711106765 A CN201711106765 A CN 201711106765A CN 107801080 A CN107801080 A CN 107801080A
Authority
CN
China
Prior art keywords
audio
frame
video
buffer
timestamp
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
Application number
CN201711106765.3A
Other languages
English (en)
Inventor
李铁辉
张斌伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TP Link Technologies Co Ltd
Original Assignee
TP Link Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by TP Link Technologies Co Ltd filed Critical TP Link Technologies Co Ltd
Priority to CN201711106765.3A priority Critical patent/CN107801080A/zh
Publication of CN107801080A publication Critical patent/CN107801080A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content 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

一种音视频同步方法包括:通过音频缓冲区和视频缓冲区分别缓冲待同步的音频数据和视频数据;计算当前播放的音频帧的时间戳与当前播放的视频帧的时间戳的时间差值;根据所述时间差值,调整所述音频缓冲区发送至音频解码器中的速度和/或方式。从而可以有效的解决视频画面马赛克、卡顿或花屏的问题,并且不需要修改视频流的播放格式,更契合NVR设备上1路音频多路视频的应用场景。

Description

一种音视频同步方法、装置及设备
技术领域
本发明属于音视频处理领域,尤其涉及一种音视频同步方法、装置及设备。
背景技术
在视频监控领域,NVR(英文全称为Network Video Recorder,中文全称为网络视频监控)通常需要接收来自各个IPC(IP Camera)端传输过来的实时音视频码流,通过显示以及音频输出接口实时的输出视频画面以及音频。
由于音频帧的数据通常较小,较为不容易受到网络传输以及解码造成的延迟影响。NVR设备上,一般会配置音视频解码芯片,视频帧以及音频帧的数据通常由芯片硬解码完成,音频帧由于芯片解码层对格式种类支持不足的问题,也会调整为由软件来解码,其数据量小,其解码产生的延迟可以通过软件层面解决。因此,常见的音视频同步方案一般以音频帧时间戳为参考,调节视频帧的播放速度,或者还包括丢弃视频帧的方法,如果超出同步范围许可的话,有的方案会停止音频帧的播放,从而实现音视频同步。
但是,以音频帧的时间戳为参考时间进行播放时,音频的开闭会影响画面的卡顿,视频流的后向视频帧通常会对前向视频帧有依赖,如果在同步时丢弃视频帧,可能会引起画面出现马赛克、卡顿及花屏。
发明内容
有鉴于此,本发明实施例提供了音视频同步方法、装置及设备,以解决现有技术中以音频帧的时间戳为参考时间进行播放时,音频的开闭会影响画面的卡顿,如果在同步时丢弃视频帧,可能会引起画面出现马赛克、卡顿及花屏的问题。
本发明实施例的第一方面提供了一种音视频同步方法,所述音视频同步方法包括:
通过音频缓冲区和视频缓冲区分别缓冲待同步的音频数据和视频数据;
计算当前播放的音频帧的时间戳与当前播放的视频帧的时间戳的时间差值;
根据所述时间差值,调整所述音频缓冲区发送至音频解码器中的速度和/或方式。
结合第一方面,在第一方面的第一种可能实现方式中,所述根据所述时间差值,调整所述音频缓冲区发送至音频解码器中的速度和/或方式的步骤包括:
如果当前播放的音频帧超前且所述时间差值的绝对值大于预定的时间阈值,则延长当前音频帧离开缓冲区的时间;
如果当前播放的音频帧落后且所述时间差值的绝对值大于预定的时间阈值,则使当前帧离开缓冲区但不送入音频解码器。
结合第一方面,在第一方面的第二种可能实现方式中,所述计算当前播放的音频帧的时间戳与当前播放的视频帧的时间戳的时间差值的步骤包括:
获取最新离开音频缓冲区的音频帧的时间戳A,以及最新离开视频缓冲区的视频帧的时间戳V;
根据音频解码器中剩余的音频播放时长Ta,计算当前在播的音频帧的时间戳Pa=A-Ta;
根据当前播放的视频帧的时间戳Pv=V,计算当前播放的音频帧的时间戳与当前播放的视频帧的时间戳的时间差值Td=Pa-Pv。
结合第一方面,在第一方面的第三种可能实现方式中,所述方法还包括:
检测所述音频缓冲区所缓冲的音频帧数,以及所述视频缓冲区所缓冲的视频帧数;
如果缓冲的视频帧数大于预定的第一缓冲阈值,则视频帧队列进入播放状态;
如果缓冲的音频帧数也大于预定的第一缓冲阈值,则音频帧队列进入播放状态;
如果缓冲的视频帧数小于预定的第二缓冲阈值,则视频帧队列进入暂停播放状态,同时音频帧队列中音频帧数据出队但不送入解码器。
结合第一方面、第一方面的第一种可能实现方式、第一方面的第二种可能实现方式或第一方面的第三种可能实现方式,在第一方面的第四种可能实现方式中,所述方法还包括:
通过预定的等间隔定时器驱动所述音频缓冲区的音频帧离开所述音频缓冲区,和/或视频缓冲区的视频帧离开所述视频缓冲区。
本发明实施例的第二方面提供了一种音视频同步装置,所述音视频同步装置包括:
缓冲单元,用于通过音频缓冲区和视频缓冲区分别缓冲待同步的音频数据和视频数据;
时间差值计算单元,用于计算当前播放的音频帧的时间戳与当前播放的视频帧的时间戳的时间差值;
调整单元,用于根据所述时间差值,调整所述音频缓冲区发送至音频解码器中的速度和/或方式。
结合第二方面,在第二方面的第一种可能实现方式中,所述调整单元包括:
延长子单元,用于如果当前播放的音频帧超前且所述时间差值的绝对值大于预定的时间阈值,则延长当前音频帧离开缓冲区的时间;
丢弃子单元,用于如果当前播放的音频帧落后且所述时间差值的绝对值大于预定的时间阈值,则使当前帧离开缓冲区但不送入音频解码器。
结合第二方面,在第二方面的第二种可能实现方式中,所述时间差值计算单元包括:
第一时间戳获取子单元,用于获取最新离开音频缓冲区的音频帧的时间戳A,以及最新离开视频缓冲区的视频帧的时间戳V;
第二时间戳获取子单元,用于根据音频解码器中剩余的音频播放时长Ta,计算当前在播的音频帧的时间戳Pa=A-Ta;
计算子单元,用于根据当前播放的视频帧的时间戳Pv=V,计算当前播放的音频帧的时间戳与当前播放的视频帧的时间戳的时间差值Td=Pa-Pv。
本发明实施例的第三方面提供了一种音视频同步设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述音视频同步方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述音视频同步方法的步骤。
本发明实施例与现有技术相比存在的有益效果是:通过设置音频帧缓冲区和视频帧缓冲区缓冲用于播放的音视频数据,并且根据当前播放的音频帧与视频帧的时间戳的时间差值,调整所述音频缓冲区中的速度和/或方式,从而使得进入到解码器中的音频帧可以与视频帧同步,从而可以有效的解决视频画面马赛克、卡顿或花屏的问题,并且不需要修改视频流格式,可以有效的节省***资源开销。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种音视频同步方法的实现流程示意图;
图2是本发明实施例提供的一种音视频缓冲区的音视频帧缓冲方法的实现流程示意图;
图3是本发明实施例提供的一种时间差值计算方法的实现流程示意图;
图4是本发明实施例提供的一种根据时间差值调整所述音频帧发送方法的实现流程示意图;
图5是本发明实施例提供的一种音视频同步装置的示意图;
图6是本发明实施例提供的音视频同步设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
如图1所示为本申请实施例提供的一种音视频同步方法的实现流程示意图,详述如下:
在步骤S101中,通过音频缓冲区和视频缓冲区分别缓冲待同步的音频数据和视频数据;
具体的,本申请在音频解码器以及视频解码器之前,可以分别设置音频缓冲区和视频缓冲区,通过音频缓冲区来缓冲待播放的音频帧,通过视频缓冲区缓冲待播放的视频帧,在音频帧和视频帧进入解码器之前,以帧为单元进行存取。
可以通过设置音频帧队列和视频帧队列,通过音频帧队列计算并记录队列中音频帧的时间戳间隔,可以设置默认的出帧间隔,以及通过视频帧队列计算并记录视频帧的时间戳间隔。可以通过动态控制的方式对音视频帧的出队时间进行调整,可以通过定时器进行音视频帧同步状态计算后,动态判断音视频帧是否需要出队以及送往对应的音视频解码器中。
所述音视频帧队列(包括音频帧队列和视频帧队列)用于记录缓冲在所述缓冲区的所述音频帧和视频帧的相关信息,包括比如音频帧或视频帧在队列中的位置,以及动态的控制音频帧和视频帧,判断音视频帧是否需要出队,即是否需要离开缓冲区。
本申请音频缓冲区和视频缓冲区(即音视频缓冲区)的空间的申请和释放操作,与音视频帧队列的相关操作可以独立进行,即音视频帧队列只需要完成音视频帧出队速度控制即可。
本申请通过缓冲区和队列的设计,可以通过以下方式来有效的确保缓冲机制的安全性,包括:
1.音视频缓冲区缓冲的处理帧数要小于音视频缓冲区间所能容纳的帧数,从而确保队列能够得到正常执行,避免视频帧或音频帧溢出影响正常播放;
2.当音视频缓冲区(音频缓冲区和视频缓冲区)因为异常因素需要销毁整个缓冲区中的数据时,音视频帧队列(音频帧队列和视频帧队列)做同步销毁操作,避免操作无效的数据出现异常;
3.音视频队列(音频帧队列和视频帧队列)中的音视频帧出队,即音视频从缓冲区送到解码器时,在送数据到解码器时,可以增加对数据进行校验的步骤,若发现数据无效,则丢弃当前旧的数据,获取最新的数据。
另外,作为本申请优选的一种实施方式,本申请可以采用预定时间间隔的定时器来触发和驱动音视频帧的缓冲和解码。根据所述定时器,在每个定时器所设定的时刻到来时,驱动音视频列队执行音视频帧的出队判断。
比如可以使用5ms的等间隔定时器。定时器的间隔长度与视频帧播放时间精度相关,如果当前视频帧帧间隔的最小值为40ms,音频帧帧间隔最小值为23ms,则采用5ms定时器可以有效的满足视频帧和音频帧的驱动精度要求。
通过所述音频缓冲区和视频缓冲区,可以对播放的音视频形成缓冲保护,避免因为网络延迟过大造成的视频卡顿现象,如图2为本申请实施例提供的一种音视频缓冲区的音视频帧缓冲方法的实现流程,详述如下:
在步骤S201中,检测所述音频缓冲区所缓冲的音频帧数,以及所述视频缓冲区所缓冲的视频帧数;
检测所述音频缓冲区和视频缓冲区所缓冲的音频帧或视频帧的多少,从而确定当前播放状态的改变。
可以预先设定音视频缓冲区所缓冲的最大帧数为N_max,音视频队列按照先进先出的方式记录视频帧信息,可以包括缓冲区中所缓冲的视频帧的存储地址、帧大小、时间戳信息等。音视频队列包括“暂停播放”状态和“播放”状态两种状态。
在“暂停播放”状态下,音视频队列只有音视频帧信息进入音视频队列的操作,在“播放”状态下,音视频帧信息有进入音视频队列和离开音视频队列的操作。
在步骤S202中,如果缓冲的视频帧数大于预定的第一缓冲阈值,则视频帧队列进入播放状态;
在步骤S203中,如果缓冲的音频帧数也大于预定的第一缓冲阈值,则音频帧队列进入播放状态。
在步骤S204中,如果缓冲的视频帧数小于预定的第二缓冲阈值,则视频帧队列进入暂停播放状态,同时音频帧队列中音频帧数据出队但不送入解码器。
其中,所述第一缓冲阈值大于第二缓冲阈值。
在步骤S102中,计算当前播放的音频帧的时间戳与当前播放的视频帧的时间戳的时间差值;
当前播放的音频帧的时间戳,可以通过音频帧队列当前出队的音频帧的时间戳,结合音频解码器中的音频的播放时长来确定,所述当前播放的视频帧的时间戳,可以根据视频帧队列直接确定,具体可以如图3所示,包括:
在步骤S301中,获取最新离开音频缓冲区的音频帧的时间戳A,以及最新离开视频缓冲区的视频帧的时间戳V;
通过音视频队列可以直接读取当前最新离开视频缓冲区的时间戳V,以及当前最新离开音频缓冲区的时间戳A。
在步骤S302中,根据音频解码器中剩余的音频播放时长Ta,计算当前在播的音频帧的时间戳Pa=A-Ta;
根据解码器中未解码的音频时长以及已解码待播放的音频时长,可以确定解码器中的音频帧的待播放时长Ta,根据最新离开音频缓冲区的音频帧的时间戳A,以及解码器中的音频帧的待播放时长Ta,即可得到当前在播放的音频帧的时间戳为Pa=A-Ta。
在步骤S303中,根据当前播放的视频帧的时间戳Pv=V,计算当前播放的音频帧的时间戳与当前播放的视频帧的时间戳的时间差值Td=Pa-Pv。
在计算音视频帧队列的同步性能时,采用当前已经出队的音视频帧的时间戳来计算,其中视频帧本质上一个画面,其出队的时间戳即可表示当前正在播放的画面的时间戳;其中音频帧本质上是一段连续的声音采样数据,需要依据音频解码器中的待解码的音频帧余量以及已解码待播放的音频数据计算出当前音频实际播放的时刻,即队列中最新出队的音频帧的时间戳减去解码器中音频的时间余量即可。
将当前播放的音频帧的时间戳,与当前播放的视频帧的时间戳求差值,得到时间差值。当所述时间差值为正值时,则表示音频帧快于视频帧播放,当所述时间差值为负值时,则表示音频帧慢于视频帧播放。
在步骤S103中,根据所述时间差值,调整所述音频缓冲区发送至音频解码器中的速度和/或方式。
可以根据音频帧与视频帧的时间差值的容忍度,设定相应的时间阈值,通过比较结果,调整所述音视频缓冲区中的音频帧队列的时间间隔,即音频帧的出队速度,具体可以如图4所示,包括:
在步骤S401中,如果当前播放的音频帧超前且所述时间差值的绝对值大于预定的时间阈值,则延长当前音频帧离开缓冲区的时间,当通过等间隔定时器驱动时,可以在当次定时器下,使音频帧不出队,即音频帧不离开缓冲区;
在步骤S402中,如果当前播放的音频帧落后且所述时间差值的绝对值大于预定的时间阈值,则使当前帧离开缓冲区但不送入音频解码器。当通过等间隔定时器驱动时,可以在当次定时器下,使音频帧队列的队首的音频帧出队但不送入解码器,即离开音频帧缓冲区但不送入音频解码器。
可以使得音频帧超前时,通过延时的方式,降低音频帧的播放速度;当音频帧落后时,通过丢弃当前音频帧,从而使得音频帧与视频帧进入到解码器的时间戳匹配,实现音视频同步。
如果当前播放的音频帧与视频帧的时间差值在预定范围内,可以不需要调整所述音频帧队列的出队时间。
通过设置音频帧缓冲区和视频帧缓冲区缓冲用于播放的音视频数据,并且根据当前播放的音频帧与视频帧的时间戳的时间差值,调整所述音频缓冲区中的速度和/或方式,从而使得进入到解码器中的音频帧可以与视频帧同步,从而可以有效的解决视频画面马赛克、卡顿或花屏的问题,并且不需要修改视频流的播放格式,更契合NVR设备上1路音频多路视频的应用场景。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图5为本申请实施例提供的一种音视频同步装置的结构示意图,详述如下:
本申请所述音视频同步装置,包括:
缓冲单元501,用于通过音频缓冲区和视频缓冲区分别缓冲待同步的音频数据和视频数据;
时间差值计算单元502,用于计算当前播放的音频帧的时间戳与当前播放的视频帧的时间戳的时间差值;
调整单元503,用于根据所述时间差值,调整所述音频缓冲区发送至音频解码器中的速度和/或方式。
优选的,所述调整单元包括:
延长子单元,用于如果当前播放的音频帧超前且所述时间差值的绝对值大于预定的时间阈值,则延长当前音频帧离开缓冲区的时间;
丢弃子单元,用于如果当前播放的音频帧落后且所述时间差值的绝对值大于预定的时间阈值,则使当前帧离开缓冲区但不送入音频解码器。
优选的,所述时间差值计算单元包括:
第一时间戳获取子单元,用于获取最新离开音频缓冲区的音频帧的时间戳A,以及最新离开视频缓冲区的视频帧的时间戳V;
第二时间戳获取子单元,用于根据音频解码器中剩余的音频播放时长Ta,计算当前在播的音频帧的时间戳Pa=A-Ta;
计算子单元,用于根据当前播放的视频帧的时间戳Pv=V,计算当前播放的音频帧的时间戳与当前播放的视频帧的时间戳的时间差值Td=Pa-Pv。
图5所述音视频同步装置,与图1所述的音视频同步方法对应,在此不作重复赘述。
图6是本发明一实施例提供的音视频同步设备的示意图。如图6所示,该实施例的音视频同步设备6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如音视频同步程序。所述处理器60执行所述计算机程序62时实现上述各个音视频同步方法实施例中的步骤,例如图1所示的步骤101至103。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图5所示模块501至503的功能。
示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述音视频同步设备6中的执行过程。例如,所述计算机程序62可以被分割成缓冲单元、时间差值计算单元和调整单元,各单元具体功能如下:
缓冲单元,用于通过音频缓冲区和视频缓冲区分别缓冲待同步的音频数据和视频数据;
时间差值计算单元,用于计算当前播放的音频帧的时间戳与当前播放的视频帧的时间戳的时间差值;
调整单元,用于根据所述时间差值,调整所述音频缓冲区发送至音频解码器中的速度和/或方式。
所述音视频同步设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述音视频同步设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是音视频同步设备6的示例,并不构成对音视频同步设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述音视频同步设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61可以是所述音视频同步设备6的内部存储单元,例如音视频同步设备6的硬盘或内存。所述存储器61也可以是所述音视频同步设备6的外部存储设备,例如所述音视频同步设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述音视频同步设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述音视频同步设备所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种音视频同步方法,其特征在于,所述音视频同步方法包括:
通过音频缓冲区和视频缓冲区分别缓冲待同步的音频数据和视频数据;
计算当前播放的音频帧的时间戳与当前播放的视频帧的时间戳的时间差值;
根据所述时间差值,调整所述音频缓冲区发送至音频解码器中的速度和/或方式。
2.根据权利要求1所述的音视频同步方法,其特征在于,所述根据所述时间差值,调整所述音频缓冲区发送至音频解码器中的速度和/或方式的步骤包括:
如果当前播放的音频帧超前且所述时间差值的绝对值大于预定的时间阈值,则延长当前音频帧离开缓冲区的时间;
如果当前播放的音频帧落后且所述时间差值的绝对值大于预定的时间阈值,则使当前帧离开缓冲区但不送入音频解码器。
3.根据权利要求1所述的音视频同步方法,其特征在于,所述计算当前播放的音频帧的时间戳与当前播放的视频帧的时间戳的时间差值的步骤包括:
获取最新离开音频缓冲区的音频帧的时间戳A,以及最新离开视频缓冲区的视频帧的时间戳V;
根据音频解码器中剩余的音频播放时长Ta,计算当前在播的音频帧的时间戳Pa=A-Ta;
根据当前播放的视频帧的时间戳Pv=V,计算当前播放的音频帧的时间戳与当前播放的视频帧的时间戳的时间差值Td=Pa-Pv。
4.根据权利要求1所述的音视频同步方法,其特征在于,所述方法还包括:
检测所述音频缓冲区所缓冲的音频帧数,以及所述视频缓冲区所缓冲的视频帧数;
如果缓冲的视频帧数大于预定的第一缓冲阈值,则视频帧队列进入播放状态;
如果缓冲的音频帧数也大于预定的第一缓冲阈值,则音频帧队列进入播放状态;
如果缓冲的视频帧数小于预定的第二缓冲阈值,则视频帧队列进入暂停播放状态,同时音频帧队列中音频帧数据出队但不送入解码器。
5.根据权利要求1-4任一项所述的音视频同步方法,其特征在于,所述方法还包括:
通过预定的等间隔定时器驱动所述音频缓冲区的音频帧离开所述音频缓冲区,和/或视频缓冲区的视频帧离开所述视频缓冲区。
6.一种音视频同步装置,其特征在于,所述音视频同步装置包括:
缓冲单元,用于通过音频缓冲区和视频缓冲区分别缓冲待同步的音频数据和视频数据;
时间差值计算单元,用于计算当前播放的音频帧的时间戳与当前播放的视频帧的时间戳的时间差值;
调整单元,用于根据所述时间差值,调整所述音频缓冲区发送至音频解码器中的速度和/或方式。
7.根据权利要求6所述的音视频同步装置,其特征在于,所述调整单元包括:
延长子单元,用于如果当前播放的音频帧超前且所述时间差值的绝对值大于预定的时间阈值,则延长当前音频帧离开缓冲区的时间;
丢弃子单元,用于如果当前播放的音频帧落后且所述时间差值的绝对值大于预定的时间阈值,则使当前帧离开缓冲区但不送入音频解码器。
8.根据权利要求6所述的音视频同步方法,其特征在于,所述时间差值计算单元包括:
第一时间戳获取子单元,用于获取最新离开音频缓冲区的音频帧的时间戳A,以及最新离开视频缓冲区的视频帧的时间戳V;
第二时间戳获取子单元,用于根据音频解码器中剩余的音频播放时长Ta,计算当前在播的音频帧的时间戳Pa=A-Ta;
计算子单元,用于根据当前播放的视频帧的时间戳Pv=V,计算当前播放的音频帧的时间戳与当前播放的视频帧的时间戳的时间差值Td=Pa-Pv。
9.一种音视频同步设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述音视频同步方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述音视频同步方法的步骤。
CN201711106765.3A 2017-11-10 2017-11-10 一种音视频同步方法、装置及设备 Pending CN107801080A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711106765.3A CN107801080A (zh) 2017-11-10 2017-11-10 一种音视频同步方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711106765.3A CN107801080A (zh) 2017-11-10 2017-11-10 一种音视频同步方法、装置及设备

Publications (1)

Publication Number Publication Date
CN107801080A true CN107801080A (zh) 2018-03-13

Family

ID=61534845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711106765.3A Pending CN107801080A (zh) 2017-11-10 2017-11-10 一种音视频同步方法、装置及设备

Country Status (1)

Country Link
CN (1) CN107801080A (zh)

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108495164A (zh) * 2018-04-09 2018-09-04 珠海全志科技股份有限公司 音视频同步处理方法及装置、计算机装置及存储介质
CN108616768A (zh) * 2018-05-02 2018-10-02 腾讯科技(上海)有限公司 多媒体资源的同步播放方法、装置、存储位置及电子装置
CN108769768A (zh) * 2018-05-29 2018-11-06 四川长虹网络科技有限责任公司 Dvb字幕同步方法及***
CN109167890A (zh) * 2018-08-22 2019-01-08 青岛海信电器股份有限公司 一种音画同步方法和装置及显示设备
CN109168059A (zh) * 2018-10-17 2019-01-08 上海赛连信息科技有限公司 一种在不同设备上分别播放音频与视频的唇音同步方法
CN109348247A (zh) * 2018-11-23 2019-02-15 广州酷狗计算机科技有限公司 确定音视频播放时间戳的方法、装置及存储介质
CN110072137A (zh) * 2019-04-26 2019-07-30 湖南琴岛网络传媒科技有限公司 一种视频直播的数据传输方法及传输装置
CN110177294A (zh) * 2019-06-11 2019-08-27 亦非云互联网技术(上海)有限公司 播放器音视频同步方法及***、存储介质及终端
CN110225385A (zh) * 2019-06-19 2019-09-10 鼎桥通信技术有限公司 一种音视频同步调整方法和装置
CN110493164A (zh) * 2018-05-15 2019-11-22 视联动力信息技术股份有限公司 一种媒体包的处理方法和装置
CN110519627A (zh) * 2018-05-21 2019-11-29 视联动力信息技术股份有限公司 一种音频数据的同步方法和装置
CN111277885A (zh) * 2020-03-09 2020-06-12 北京三体云时代科技有限公司 音视频同步方法、装置、服务器和计算机可读存储介质
CN111372138A (zh) * 2018-12-26 2020-07-03 杭州登虹科技有限公司 一种播放器端的直播低延迟技术方案
CN111464256A (zh) * 2020-04-14 2020-07-28 北京百度网讯科技有限公司 时间戳的校正方法、装置、电子设备和存储介质
CN111654736A (zh) * 2020-06-10 2020-09-11 北京百度网讯科技有限公司 音视频同步误差的确定方法、装置、电子设备和存储介质
CN111669645A (zh) * 2020-06-12 2020-09-15 腾讯科技(深圳)有限公司 视频的播放方法、装置、电子设备及存储介质
CN111726669A (zh) * 2019-03-18 2020-09-29 浙江宇视科技有限公司 一种分布式解码设备及其音视频同步的方法
CN111757158A (zh) * 2020-06-29 2020-10-09 北京百度网讯科技有限公司 音视频同步播放方法、装置、设备和存储介质
CN112004133A (zh) * 2020-09-04 2020-11-27 成都极米科技股份有限公司 音画同调方法、装置、投影设备及可读存储介质
CN112511885A (zh) * 2020-11-20 2021-03-16 深圳乐播科技有限公司 音视频同步方法、装置及存储介质
CN112995720A (zh) * 2019-12-16 2021-06-18 成都鼎桥通信技术有限公司 一种音视频同步方法和装置
CN113079421A (zh) * 2020-01-03 2021-07-06 阿里巴巴集团控股有限公司 信息处理方法、装置、设备及存储介质
CN113596550A (zh) * 2021-08-31 2021-11-02 安徽创变信息科技有限公司 一种音视频同步控制方法及装置
CN114095771A (zh) * 2021-09-06 2022-02-25 贵阳语玩科技有限公司 一种音视频同步方法、存储介质及电子设备
CN114268830A (zh) * 2021-12-06 2022-04-01 咪咕文化科技有限公司 云导播同步方法、装置、设备及存储介质
CN114520907A (zh) * 2020-11-20 2022-05-20 湖北微模式科技发展有限公司 一种检测音频流和视频流是否同步的方法及装置
CN114866830A (zh) * 2022-03-30 2022-08-05 中国经济信息社有限公司 一种音视频同步的方法、装置及计算机可读存储介质
CN114974321A (zh) * 2021-02-27 2022-08-30 华为技术有限公司 一种音频播放方法、设备及***
CN115174980A (zh) * 2022-06-21 2022-10-11 浪潮卓数大数据产业发展有限公司 一种基于安全队列的音视频同步方法、装置、设备及介质
CN115474082A (zh) * 2022-10-13 2022-12-13 闪耀现实(无锡)科技有限公司 播放媒体数据的方法和装置、***、车辆、设备和介质
CN115720278A (zh) * 2022-11-03 2023-02-28 深圳创维-Rgb电子有限公司 声音与画面的同步处理方法及相关装置
CN115866309A (zh) * 2022-11-29 2023-03-28 广州后为科技有限公司 一种支持多路视频同步的音视频缓存方法和装置
CN116958331A (zh) * 2023-09-20 2023-10-27 四川蜀天信息技术有限公司 一种音画同步的调整方法、装置和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101207822A (zh) * 2006-12-22 2008-06-25 上海晨兴电子科技有限公司 流媒体终端的音频视频同步的方法
CN102404650A (zh) * 2011-11-30 2012-04-04 江苏奇异点网络有限公司 在线视频的音视频同步控制方法
CN102802075A (zh) * 2012-08-24 2012-11-28 乐视网信息技术(北京)股份有限公司 一种在线播放缓冲***和方法
CN102868939A (zh) * 2012-09-10 2013-01-09 杭州电子科技大学 一种实时视频监控***中音视频数据的同步方法
CN103338386A (zh) * 2013-07-10 2013-10-02 航天恒星科技有限公司 基于简化时间戳的音视频同步方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101207822A (zh) * 2006-12-22 2008-06-25 上海晨兴电子科技有限公司 流媒体终端的音频视频同步的方法
CN102404650A (zh) * 2011-11-30 2012-04-04 江苏奇异点网络有限公司 在线视频的音视频同步控制方法
CN102802075A (zh) * 2012-08-24 2012-11-28 乐视网信息技术(北京)股份有限公司 一种在线播放缓冲***和方法
CN102868939A (zh) * 2012-09-10 2013-01-09 杭州电子科技大学 一种实时视频监控***中音视频数据的同步方法
CN103338386A (zh) * 2013-07-10 2013-10-02 航天恒星科技有限公司 基于简化时间戳的音视频同步方法

Cited By (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108495164B (zh) * 2018-04-09 2021-01-29 珠海全志科技股份有限公司 音视频同步处理方法及装置、计算机装置及存储介质
CN108495164A (zh) * 2018-04-09 2018-09-04 珠海全志科技股份有限公司 音视频同步处理方法及装置、计算机装置及存储介质
CN108616768A (zh) * 2018-05-02 2018-10-02 腾讯科技(上海)有限公司 多媒体资源的同步播放方法、装置、存储位置及电子装置
CN108616768B (zh) * 2018-05-02 2021-10-15 腾讯科技(上海)有限公司 多媒体资源的同步播放方法、装置、存储位置及电子装置
CN110493164A (zh) * 2018-05-15 2019-11-22 视联动力信息技术股份有限公司 一种媒体包的处理方法和装置
CN110519627A (zh) * 2018-05-21 2019-11-29 视联动力信息技术股份有限公司 一种音频数据的同步方法和装置
CN110519627B (zh) * 2018-05-21 2021-05-14 视联动力信息技术股份有限公司 一种音频数据的同步方法和装置
CN108769768A (zh) * 2018-05-29 2018-11-06 四川长虹网络科技有限责任公司 Dvb字幕同步方法及***
WO2020038344A1 (zh) * 2018-08-22 2020-02-27 青岛海信电器股份有限公司 一种音画同步方法和装置及显示设备
CN109167890B (zh) * 2018-08-22 2021-03-05 海信视像科技股份有限公司 一种音画同步方法和装置及显示设备
CN109167890A (zh) * 2018-08-22 2019-01-08 青岛海信电器股份有限公司 一种音画同步方法和装置及显示设备
CN113286184A (zh) * 2018-10-17 2021-08-20 上海赛连信息科技有限公司 一种在不同设备上分别播放音频与视频的唇音同步方法
CN113286184B (zh) * 2018-10-17 2024-01-30 上海赛连信息科技有限公司 一种在不同设备上分别播放音频与视频的唇音同步方法
CN109168059A (zh) * 2018-10-17 2019-01-08 上海赛连信息科技有限公司 一种在不同设备上分别播放音频与视频的唇音同步方法
CN109168059B (zh) * 2018-10-17 2021-06-18 上海赛连信息科技有限公司 一种在不同设备上分别播放音频与视频的唇音同步方法
CN109348247A (zh) * 2018-11-23 2019-02-15 广州酷狗计算机科技有限公司 确定音视频播放时间戳的方法、装置及存储介质
CN111372138A (zh) * 2018-12-26 2020-07-03 杭州登虹科技有限公司 一种播放器端的直播低延迟技术方案
CN111726669B (zh) * 2019-03-18 2022-12-23 浙江宇视科技有限公司 一种分布式解码设备及其音视频同步的方法
CN111726669A (zh) * 2019-03-18 2020-09-29 浙江宇视科技有限公司 一种分布式解码设备及其音视频同步的方法
CN110072137A (zh) * 2019-04-26 2019-07-30 湖南琴岛网络传媒科技有限公司 一种视频直播的数据传输方法及传输装置
CN110072137B (zh) * 2019-04-26 2021-06-08 湖南琴岛网络传媒科技有限公司 一种视频直播的数据传输方法及传输装置
CN110177294A (zh) * 2019-06-11 2019-08-27 亦非云互联网技术(上海)有限公司 播放器音视频同步方法及***、存储介质及终端
CN110225385A (zh) * 2019-06-19 2019-09-10 鼎桥通信技术有限公司 一种音视频同步调整方法和装置
CN112995720B (zh) * 2019-12-16 2022-11-18 成都鼎桥通信技术有限公司 一种音视频同步方法和装置
CN112995720A (zh) * 2019-12-16 2021-06-18 成都鼎桥通信技术有限公司 一种音视频同步方法和装置
CN113079421A (zh) * 2020-01-03 2021-07-06 阿里巴巴集团控股有限公司 信息处理方法、装置、设备及存储介质
CN113079421B (zh) * 2020-01-03 2023-10-24 阿里巴巴集团控股有限公司 信息处理方法、装置、设备及存储介质
CN111277885A (zh) * 2020-03-09 2020-06-12 北京三体云时代科技有限公司 音视频同步方法、装置、服务器和计算机可读存储介质
CN111464256A (zh) * 2020-04-14 2020-07-28 北京百度网讯科技有限公司 时间戳的校正方法、装置、电子设备和存储介质
CN111654736A (zh) * 2020-06-10 2020-09-11 北京百度网讯科技有限公司 音视频同步误差的确定方法、装置、电子设备和存储介质
CN111669645A (zh) * 2020-06-12 2020-09-15 腾讯科技(深圳)有限公司 视频的播放方法、装置、电子设备及存储介质
CN111669645B (zh) * 2020-06-12 2021-09-07 腾讯科技(深圳)有限公司 视频的播放方法、装置、电子设备及存储介质
CN111757158A (zh) * 2020-06-29 2020-10-09 北京百度网讯科技有限公司 音视频同步播放方法、装置、设备和存储介质
CN112004133A (zh) * 2020-09-04 2020-11-27 成都极米科技股份有限公司 音画同调方法、装置、投影设备及可读存储介质
CN112511885A (zh) * 2020-11-20 2021-03-16 深圳乐播科技有限公司 音视频同步方法、装置及存储介质
CN114520907A (zh) * 2020-11-20 2022-05-20 湖北微模式科技发展有限公司 一种检测音频流和视频流是否同步的方法及装置
CN114974321B (zh) * 2021-02-27 2023-11-03 华为技术有限公司 一种音频播放方法、设备及***
CN114974321A (zh) * 2021-02-27 2022-08-30 华为技术有限公司 一种音频播放方法、设备及***
CN113596550A (zh) * 2021-08-31 2021-11-02 安徽创变信息科技有限公司 一种音视频同步控制方法及装置
CN113596550B (zh) * 2021-08-31 2024-05-24 小帧科技(深圳)有限公司 一种音视频同步控制方法及装置
CN114095771A (zh) * 2021-09-06 2022-02-25 贵阳语玩科技有限公司 一种音视频同步方法、存储介质及电子设备
CN114095771B (zh) * 2021-09-06 2024-04-02 贵阳语玩科技有限公司 一种音视频同步方法、存储介质及电子设备
CN114268830B (zh) * 2021-12-06 2024-05-24 咪咕文化科技有限公司 云导播同步方法、装置、设备及存储介质
CN114268830A (zh) * 2021-12-06 2022-04-01 咪咕文化科技有限公司 云导播同步方法、装置、设备及存储介质
CN114866830A (zh) * 2022-03-30 2022-08-05 中国经济信息社有限公司 一种音视频同步的方法、装置及计算机可读存储介质
CN115174980A (zh) * 2022-06-21 2022-10-11 浪潮卓数大数据产业发展有限公司 一种基于安全队列的音视频同步方法、装置、设备及介质
CN115474082A (zh) * 2022-10-13 2022-12-13 闪耀现实(无锡)科技有限公司 播放媒体数据的方法和装置、***、车辆、设备和介质
CN115720278A (zh) * 2022-11-03 2023-02-28 深圳创维-Rgb电子有限公司 声音与画面的同步处理方法及相关装置
CN115866309A (zh) * 2022-11-29 2023-03-28 广州后为科技有限公司 一种支持多路视频同步的音视频缓存方法和装置
CN115866309B (zh) * 2022-11-29 2023-09-22 广州后为科技有限公司 一种支持多路视频同步的音视频缓存方法和装置
CN116958331B (zh) * 2023-09-20 2024-01-19 四川蜀天信息技术有限公司 一种音画同步的调整方法、装置和电子设备
CN116958331A (zh) * 2023-09-20 2023-10-27 四川蜀天信息技术有限公司 一种音画同步的调整方法、装置和电子设备

Similar Documents

Publication Publication Date Title
CN107801080A (zh) 一种音视频同步方法、装置及设备
US8762580B2 (en) Common event-based multidevice media playback
US9338208B2 (en) Common event-based multidevice media playback
CN111246178B (zh) 视频处理方法和装置、存储介质及电子装置
CN108495164B (zh) 音视频同步处理方法及装置、计算机装置及存储介质
CN110581973B (zh) 数据回放方法、装置、终端设备及存储介质
US10856018B2 (en) Clock synchronization techniques including modification of sample rate conversion
EP2955930B1 (en) Method and device for estimating temporary storage status
CN112154669B (zh) 基于***时钟的视频流帧时间戳的相关
CN106533399B (zh) 修改时钟信号的电路和方法及执行时间敏感任务的装置
CN107277594A (zh) 一种视音频与弹幕同步方法及装置
CN107040549A (zh) 一种tcp粘包处理方法、服务器及***
EP2920953A1 (en) Common event-based multidevice media playback
CN107566889A (zh) 音频流流速误差处理方法、装置、计算机装置及计算机可读存储介质
US10708033B2 (en) Network time correction method and apparatus
CN104113778B (zh) 一种视频流解码方法及装置
CN108289232B (zh) 一种播放设备的控制方法、终端设备及存储介质
CN108401190A (zh) 一种用于对视频帧进行实时标注的方法与设备
WO2024099194A1 (zh) 语音处理方法、装置、电子设备及存储介质
CN106533598B (zh) 事件之间的发生时间差的估计电路和方法、计算机可读存储介质
WO2023078232A1 (zh) 一种传输方法及装置
WO2016183955A1 (zh) 一种语音同步的方法和装置
CN110177294A (zh) 播放器音视频同步方法及***、存储介质及终端
JP2013009332A5 (zh)
EP3223478A1 (en) Packet processing method and device, and storage medium

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: 20180313