CN111432258B - 一种音视频信号同步方法和装置 - Google Patents

一种音视频信号同步方法和装置 Download PDF

Info

Publication number
CN111432258B
CN111432258B CN201910355606.XA CN201910355606A CN111432258B CN 111432258 B CN111432258 B CN 111432258B CN 201910355606 A CN201910355606 A CN 201910355606A CN 111432258 B CN111432258 B CN 111432258B
Authority
CN
China
Prior art keywords
video data
video
time length
audio
playing time
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
Application number
CN201910355606.XA
Other languages
English (en)
Other versions
CN111432258A (zh
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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201910355606.XA priority Critical patent/CN111432258B/zh
Publication of CN111432258A publication Critical patent/CN111432258A/zh
Application granted granted Critical
Publication of CN111432258B publication Critical patent/CN111432258B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4335Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
    • 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/44Processing 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/44004Processing 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供一种音视频信号同步方法和装置。本申请提供的音视频信号同步方法,包括:通过音频缓存区和视频缓存区分别缓存音频数据和视频数据;在所述视频缓存区缓存的视频数据的第一播放时长与所述音频缓存区缓存的音频数据的第二播放时长两者之间相差的时长不小于指定值时,通过对所述视频缓存区缓存的视频数据进行处理缩短所述第一播放时长与所述第二播放时长两者之间相差的时长;分别从所述音频缓存区和所述视频缓存区取出等时间量的音频数据和视频数据输出。本申请提供的音视频信号同步方法和装置,在实现音视频同步时,不需要技术人员的参与,工作量较小。

Description

一种音视频信号同步方法和装置
技术领域
本申请涉及音视频技术领域,尤其涉及一种音视频信号同步方法和装置。
背景技术
音视频设备在播放音视频数据时,要保证音视频同步。音视频同步的方法主要在编码端和播放端进行,主要通过编码端在编码封装时将音视频数据打上时间戳、解码端播放时按照时间戳播放来实现。然而,通过上述方法实现音视频同步时,需要保证音视频信号在编码封装前是同步的。
目前,音视频设备存在各种各样的差异,很难做到采集的音视频信号是同步的,常通过技术人员手动设置音视频延时的方法来保证音视频信号在编码封装前是同步的,进而保证时间戳的正确性,实现播放时音视频同步。然而,通过上述方法来实现音视频同步时,需要技术人员的参与,工作量较大。
发明内容
有鉴于此,本申请提供一种音视频信号同步方法和装置,以降低音视频同步的工作量。
本申请第一方面提供一种音视频信号同步方法,所述方法包括:
通过音频缓存区和视频缓存区分别缓存音频数据和视频数据;
当所述视频缓存区缓存的视频数据的第一播放时长与所述音频缓存区缓存的音频数据的第二播放时长两者之间相差的时长不小于指定值时,通过对所述视频缓存区缓存的视频数据进行处理缩短所述第一播放时长与所述第二播放时长两者之间相差的时长;
分别从所述音频缓存区和所述视频缓存区取出等时间量的音频数据和视频数据输出。
本申请第二方面提供一种音视频信号同步装置,所述装置包括缓存模块、处理模块和输出模块,其中,
所述缓存模块,用于通过音频缓存区和视频缓存区分别缓存音频数据和视频数据;
所述处理模块,用于当所述视频缓存区缓存的视频数据的第一播放时长与所述音频缓存区缓存的音频数据的第二播放时长两者之间相差的时长不小于指定值时,通过对视频缓存区缓存的视频数据进行处理缩短所述第一播放时长与所述第二播放时长两者之间相差的时长;
所述输出模块,用于分别从所述音频缓存区和所述视频缓存区取出等时间量的音频数据和视频数据输出。
本申请提供的音视频信号同步方法和装置,首先通过音频缓存区和视频缓存区分别缓存音频数据和视频数据,进而在视频缓存区缓存的视频数据的第一播放时长与音频缓存区缓存的音频数据的第二播放时长两者之间相差的时长不小于指定值时,通过对视频缓存区缓存的视频数据进行处理缩短第一播放时长与第二播放时长两者之间相差的时长,并分别从音频缓存区和视频缓存区取出等时间量的音频数据和视频数据输出。这样,在不需要技术人员参与的情况下,达到消除音视频设备差异的目的,实现音视频同步,工作量较小。
附图说明
图1为本申请提供的音视频信号同步方法实施例一的流程图;
图2为本申请提供的音视频信号同步方法实施例二的流程图;
图3为本申请提供的音视频信号同步方法实施例三的流程图;
图4为本申请提供的音视频信号同步方法实施例四的流程图;
图5为本申请提供的音视频信号同步方法实施例五的流程图;
图6为本申请提供的音视频信号同步方法实施例六的流程图;
图7为本申请一示例性实施例示出的音视频信号同步装置所在计算机设备的硬件结构图;
图8为本申请提供的音视频信号同步装置实施例一的结构示意图;
图9为本申请提供的音视频信号同步装置实施例二的结构示意。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请提供一种音视频信号同步方法和装置,以降低音视频同步的工作量。
下面给出几个具体的实施例,用以详细介绍本申请的技术方案,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图1为本申请提供的音视频信号同步方法实施例一的流程图。请参照图1,本实施例提供的方法,可以包括:
S101、通过音频缓存区和视频缓存区分别缓存音频数据和视频数据。
具体的,本申请提供的方法,应用于计算机设备。本步骤中,计算机设备可以从音频设备获取音频数据,从视频设备获取视频数据,并通过音频缓存区和视频缓存区分别缓存音频数据和视频数据。
S102、当上述视频缓存区缓存的视频数据的第一播放时长与上述音频缓存区缓存的音频数据的第二播放时长两者之间相差的时长不小于指定值时,通过对上述视频缓存区缓存的视频数据进行处理缩短上述第一播放时长与上述第二播放时长两者之间相差的时长。
具体的,指定值是根据实际需要设定,本实施例中,不对指定值的具体值进行限定。例如,一实施例中,指定值等于视频缓存区缓存的一帧视频数据的播放时长。
需要说明的是,当第一播放时长与第二播放时长两者之间相差的时长不小于指定值时,此时,认为音频缓存区缓存的音频数据的数据量与视频缓存区缓存的视频数据的数据量不相等。例如,当第二播放时长大于第一播放时长时,说明音频数据的数据量多于视频数据的数据量,这样,会造成音视频不同步,具体表现为先听到声音后看到画面的现象。再例如,当第二播放时长小于第一播放时长时,说明音频数据的数据量小于视频数据的数据量,这样,会造成音视频不同步,具体表现为先看到画面后听到声音的现象。本步骤中,需要缩短第一播放时长与第二播放时长两者之间相差的时长,实现音视频同步。
具体实现时,可对视频缓存区缓存的视频数据进行处理,以缩短第一播放时长与第二播放时长两者之间相差的时长。
S103、分别从上述音频缓存区和上述视频缓存区获取等时间量的音频数据和视频数据输出。
具体的,可根据视频数据的帧率确定获取多大时间量的音频数据和视频数据。例如,当视频数据的帧率为25Hz时,音频数据的采样率为16k时,此时,可以分别取出40ms的音频数据和视频数据(即取出640k的音频数据、1帧视频数据)输出。
需要说明的是,“取出”在这里主要是指从视频缓存区和音频缓存区获取视频数据和音频数据,并在获取后,将获取到的视频数据和音频数据分别从视频缓存区和音频缓存区删除。
示例性地,一实施例中,可将取出的视频数据和音频数据输出给编码设备编码,进而在编码后,将编码后的数据发送给播放设备进行解码播放。当然,另一实施例中,可将取出的视频数据和音频数据直接输出给播放设备进行播放。
本实施例提供的音视频信号同步方法,首先通过音频缓存区和视频缓存区分别缓存音频数据和视频数据,进而在视频缓存区缓存的视频数据的第一播放时长与音频缓存区缓存的音频数据的第二播放时长两者之间相差的时长不小于指定值时,通过对视频缓存区缓存的视频数据进行处理缩短第一播放时长与第二播放时长两者之间相差的时长,并分别从音频缓存区和视频缓存区取出等时间量的音频数据和视频数据输出。这样,在不需要技术人员参与的情况下,达到消除音视频设备差异的目的,实现音视频同步,工作量较小。
图2为本申请提供的音视频信号同步方法实施例二的流程图。请参照图2,本实施例提供的方法,步骤S102,可以包括:
S201、当上述第二播放时长大于上述第一播放时长时,对上述视频缓存区缓存的视频数据进行补帧处理。
具体的,补帧处理是指向视频缓存区增加视频数据。例如,一实施例中,可复制视频缓存区缓存的任一帧视频数据,得到复制帧视频数据,并将复制帧视频数据插入到被复制的视频数据之后,实现补帧处理的目的。
可选地,在一可能的实现方式中,本步骤的具体实现过程,可以包括:
复制所述视频缓存区最新缓存的第二目标帧视频数据,得到复制帧视频数据,并将所述复制帧视频数据插入到所述第二目标帧视频数据之后,得到补帧处理后的处理后视频数据。
例如,一实施例中,视频缓存区缓存的视频帧有:T11、T12、T13、T14、T15、T16(按照缓存时刻从早到晚命名),本步骤中,复制T16,得到复制帧视频数据T16*,之后,将T16*插入到T16之后,得到补帧处理后的处理后视频数据(即视频缓存区此时存放的视频帧有T11、T12、T13、T14、T15、T16、T16*)。
S202、当上述第二播放时长小于上述第一播放时长时,对上述视频缓存区缓存的视频数据进行抽帧处理。
具体的,抽帧处理是指从视频缓存区删除视频数据。例如,一实施例中,可将视频缓存区缓存的任一帧视频数据从视频缓存区删除,实现抽帧处理的目的。
可选地,在一可能的实现方式中,本步骤的具体实现过程,可以包括:
将所述视频缓存区最开始缓存的第一目标帧视频数据从所述视频缓存区删除。
例如,一实施例中,视频缓存区缓存的视频帧有:T21、T22、T23、T24、T25、T26、……(按照缓存时刻从早到晚命名),本例中,将T21从视频缓存区删除。
本实施例提供的方法,在第二播放时长大于第一播放时长时,对所述视频缓存区缓存的视频数据进行补帧处理,在所述第二播放时长小于所述第一播放时长时,对所述视频缓存区缓存的视频数据进行抽帧处理。这样,即可实现缩短第一播放时长和第二播放时长两者之间相差的时长的目的,实现音视频同步。
图3为本申请提供的音视频信号同步方法实施例三的流程图。本实施例提供的音视频同步方法,对视频缓存区缓存的视频数据进行抽帧处理的过程,可以包括:
S301、将上述视频缓存区最开始缓存的第一目标帧视频数据从上述视频缓存区删除。
S302、在上述视频缓存区剩下的视频数据的播放时长与上述第二播放时长两者之间相差的时长不小于上述指定值时,对上述视频缓存区剩下的视频数据进行抽帧处理。
例如,一实施例中,视频缓存区缓存的视频帧有:T31、T32、T33、T34、T35、T36、……(按照缓存时刻从早到晚命名),本例中,首先,将T31从视频缓存区删除(此时,视频缓存区剩下的视频数据有:T32、T33、T34、T35、T36、……)。进一步地,判断视频缓存区剩下的视频数据的播放时长与第二播放时长之间相差的时长是否小于指定值,并在视频缓存区剩下的视频数据的播放时长与第二播放时长之间相差的时长不小于指定值,对上述视频缓存区剩下的视频数据进行抽帧处理。具体实现时,示例性的,可将视频缓存区剩下的任一帧视频数据删除,实现对上述视频缓存区剩下的视频数据进行抽帧处理的目的。
本实施例提供的方法,通过将上述视频缓存区最开始缓存的第一目标帧视频数据从上述视频缓存区删除,进而在上述视频缓存区剩下的视频数据的播放时长与上述第二播放时长两者之间相差的时长不小于指定值时,对上述视频缓存区剩下的视频数据进行抽帧处理。这样,可减小视频缓存区最终缓存的视频数据的播放时长和音频缓存区缓存的音频数据的播放时长的差异,使两者逼近,实现音视频同步。
图4为本申请提供的音视频信号同步方法实施例四的流程图。请参照图4,本实施例提供的方法,在上述实施例的基础上,对上述视频缓存区剩下的视频数据进行抽帧处理的过程,可以包括:
S401、在上述第一播放时长与上述第二播放时长两者之间相差的时长大于预设阈值时,从上述视频缓存区剩下的视频数据中的第二帧视频数据开始,按照缓存时刻从早到晚的顺序,间隔删除视频数据,直至上述视频缓存区最终剩下的视频数据的播放时长与上述第二播放时长两者之间相差的时长小于上述指定值。
具体的,预设阈值是根据实际需要设定的。本实施例中,不对预设阈值的具体值进行限定。下面以“预设阈值等于1秒为例”进行说明。
结合实施例三中的例子,例如,实施例三中,第一播放时长与第二播放时长两者之间相差的时长大于预设阈值,对视频缓存区缓存的视频数据进行抽帧处理后,视频缓存区剩下的视频数据有:T32、T33、T34、T35、T36、……,本步骤中,就从T33开始,按照缓存时刻从早到晚的顺序,间隔删除视频数据,直至上述视频缓存区最终剩下的视频数据的播放时长与上述第二播放时长两者之间相差的时长小于上述指定值。
具体实现时,可按照如下过程实现:
(1)按照缓存时刻从早到晚的顺序,将所述视频缓存区剩下的视频数据中的第二帧视频数据作为本次待删除的待删除视频数据。
(2)将待删除视频数据从所述视频缓存区删除,得到第一视频数据。
(3)判断所述第一视频数据的播放时长与所述第二播放时长两者之间相差的时长是否小于所述指定值。
(4)如果是,结束,如果否,按照缓存时刻从早到晚的顺序,将与所述待删除视频数据间隔一帧视频数据的目标帧视频数据作为下一次待删除的待删除视频数据,返回执行将待删除视频数据从所述视频缓存区删除的步骤。
结合上面的例子,视频缓存区剩下的视频数据有:T32、T33、T34、T35、T36、……,本例中,首先,将T33作为待删除视频数据,并将T33从视频缓存区删除,得到第一视频数据(即视频缓存区此时剩下的视频数据有T32、T34、T35、T36、……),此时,判断第一视频数据的播放时长与第二播放时长两者之间相差的时长是否小于指定值。例如,经判断,确定第一视频数据的播放时长与第二播放时长两者之间相差的时长不小于指定值,此时,将与T33间隔一帧视频数据的T35作为待删除视频数据,返回执行将待删除视频数据从视频缓存区删除的步骤。
S402、在上述第一播放时长与所述第二播放时长两者之间相差的时长不大于预设阈值时,从上述视频缓存区剩下的视频数据中的第一帧视频数据开始,按照缓存时刻从早到晚的顺序,顺序删除视频数据,直至上述视频缓存区最终剩下的视频数据的播放时长与上述第二播放时长两者之间相差的时长小于上述指定值。
具体实现时,该过程可以包括以下步骤:
(1)按照缓存时刻从早到晚的顺序,将所述视频缓存区剩下的视频数据中的第一帧视频数据作为本次待删除的待删除视频数据。
(2)将待删除视频数据从所述视频缓存区删除,得到第二视频数据。
(3)判断所述第二视频数据的播放时长与所述第二播放时长两者之间相差的时长是否小于所述指定值。
(4)如果是,结束,如果否,按照缓存时刻从早到晚的顺序,将与所述待删除视频数据间隔零帧视频数据的目标帧视频数据作为下一次待删除的待删除视频数据,返回执行将待删除视频数据从所述视频缓存区删除的步骤。
例如,一实施例中,视频缓存区缓存的视频帧有:T41、T42、T43、T44、T45、T46、……(按照缓存时刻从早到晚命名),且第一播放时长与第二播放时长两者之间相差的时长不大于预设阈值。本例中,首先,将T41从视频缓存区删除,删除后,视频缓存区剩下的视频数据有:T42、T43、T44、T45、T46、……,且视频缓存区剩下的视频数据的播放时长与第二播放时长两者之间相差的时长仍然不小于指定值,此时,对视频缓存区剩下的视频数据进行抽帧处理。
本例中,紧接着将T42作为待删除视频数据,将T42从视频缓存区删除,得到第二视频数据。进而判断第二视频数据的播放时长与第二播放时长两者之间相差的时长是否小于所述指定值,例如,此时,经判断,确定该第二视频数据与第二播放时长两者之间相差的时长不小于所述指定值,此时,将T43作为待删除视频数据,返回执行将待删除视频数据从所述视频缓存区删除的步骤。
本实施例提供的方法,提供了一种对视频缓存区剩下的视频数据进行抽帧处理的方法,通过该方法,可使视频缓存区最终剩下的视频数据的播放时长与第二播放时长两者之间相差的时长小于指定值,这样,可最大程度的减小视频缓存区的数据量和音频缓存区的数据量之间的差异,实现音视频同步。
图5为本申请提供的音视频信号同步方法实施例五的流程图。本实施例提供的方法,在上述实施例的基础上,对视频缓存区缓存的视频数据进行补帧处理的过程,可以包括:
S501、复制上述视频缓存区最新缓存的第二目标帧视频数据,得到复制帧视频数据,并将上述复制帧视频数据插入到上述第二目标帧视频数据之后,得到补帧处理后的处理后视频数据。
S502、在上述处理后视频数据的播放时长与上述第二播放时长两者之间相差的时长不小于上述指定值时,对上述处理后视频数据进行补帧处理。
例如,一实施例中,视频缓存区缓存的视频帧有:T51、T52、T53、T54、T55、T56(按照缓存时刻从早到晚命名),本例中,首先,复制T56,得到复制帧视频数据T56*,并将T56*插入到T56之后,得到补帧处理后的处理后视频数据(处理后视频数据包含的视频帧有:T51、T52、T53、T54、T55、T56、T56*)。进一步地,经判断,确定处理后视频数据的播放时长与第二播放时长之间相差的时长不小于指定值,此时,对处理后视频数据进行补帧处理。具体实现时,可复制处理后视频数据中的任一帧视频数据,得到复制帧视频数据,并将复制帧视频数据插入到被复制的视频数据之后,实现对上述处理后视频数据进行补帧处理的目的。
本实施例提供的方法,通过复制上述视频缓存区最新缓存的第二目标帧视频数据,得到复制帧视频数据,并将上述复制帧视频数据插入到上述第二目标帧视频数据之后,得到补帧处理后的处理后视频数据,进而在上述处理后视频数据的播放时长与上述第二播放时长两者之间相差的时长不小于上述指定值时,对上述处理后视频数据进行补帧处理。这样,可减小视频缓存区最终缓存的视频数据的播放时长和音频缓存区缓存的音频数据的播放时长的差异,使两者逼近,实现音视频同步。
可选地,一实施例中,对处理后视频数据进行补帧处理的过程,可以包括:
按照缓存时刻从晚到早的顺序,从与所述第二目标帧视频数据间隔一帧视频数据的第三目标帧视频数据开始,间隔复制视频数据,得到复制帧视频数据,并将复制帧视频数据插入到被复制的视频数据之后,直至所述视频缓存区最终存放的视频数据的播放时长与所述第二播放时长两者之间相差的时长小于所述指定值。
具体实现时,该过程可以包括以下步骤:
(1)按照缓存时刻从晚到早的顺序,将与所述第二目标帧视频数据间隔一帧视频数据的第三目标帧视频数据作为本次复制的待复制视频数据;
(2)复制待复制视频数据,得到复制帧视频数据,并将上述复制帧视频数据插入到上述待复制视频数据之后,得到第三视频数据;
(3)判断上述第三视频数据的播放时长与第二播放时长两者之间相差的时长是否小于上述指定值。
(4)如果是,结束,如果否,按照缓存时刻从晚到早的顺序,将与待复制视频数据间隔一帧视频数据的目标帧视频数据作为下次待复制的待复制视频数据,返回执行复制待复制视频数据的步骤。
例如,一实施例中,视频缓存区缓存的视频帧有:T61、T62、T63、T64、T65、T66(按照缓存时刻从早到晚命名),本例中,首先,复制T66,得到复制帧视频数据T66*,之后,将T66*插入到T66之后,得到处理后视频数据(即视频缓存区此时存放的视频帧有T61、T62、T63、T64、T65、T66、T66*),且处理后视频数据与第二播放时长两者之间相差的时长不小于指定值,此时,对处理后视频数据进行补帧处理。
本例中,按照缓存时间从晚到早的顺序,将与T66间隔一帧视频数据的T64作为待复制视频数据,复制T64,得到复制帧视频数据T64*,之后,将T64*插入到T64之后,得到第三视频数据(即视频缓存区此时存放的视频帧有T61、T62、T63、T64、T64*、T65、T66、T66*),并判断第三视频数据的播放时长与第二播放时长两者之间相差的时长是否小于所述指定值,例如,本例中,经判断,确定该第三视频数据与第二播放时长两者之间相差的时长不小于所述指定值,将T62作为待复制视频数据,返回执行复制待复制视频数据的步骤。
本实施例提供的方法,提供了一种对处理后视频数据进行补帧处理的方法,通过该方法,可使视频缓存区最终存放的视频数据的播放时长与第二播放时长两者之间相差的时长小于指定值,这样,可最大程度的减小视频缓存区的数据量和音频缓存区的数据量之间的差异,实现音视频同步。
下面给出一个更具体的实施例,用以详细说明本申请的技术方案。图6为本申请提供的音视频信号同步方法实施例六的流程图,请参照图6,本实施例提供的音视频信号同步方法,可以包括:
S601、通过音频缓存区和视频缓存区分别缓存音频数据和视频数据。
具体的,该步骤的具体实现过程和实现原理可以参见步骤S101中的描述,此处不再赘述。
S602、判断上述视频缓存区缓存的视频数据的第一播放时长与上述音频缓存区缓存的音频数据的第二播放时长两者之间相差的时长是否小于指定值,若否,执行步骤S603,若是,执行步骤S611。
需要说明的是,当判断第一播放时长与第二播放时长两者之间相差的时长小于指定值时,执行步骤S611。
S603、判断上述第二播放时长是否大于上述第一播放时长,若否,执行步骤S604,若是,执行步骤S608。
S604、将上述视频缓存区最开始缓存的第一目标帧视频数据从上述视频缓存区删除。
具体的,有关该步骤的具体实现过程和实现原理可以参见步骤S301中的描述,此处不再赘述。
S605、判断上述视频缓存区剩下的视频数据的播放时长与上述第二播放时长两者之间相差的时长是否小于上述指定值,若否,执行步骤S606,若是,执行步骤S611。
需要说明的是,当判断上述视频缓存区剩下的视频数据的播放时长与第二播放时长两者之间相差的时长小于指定值时,执行步骤S611。
S606、在上述第一播放时长与上述第二播放时长两者之间相差的时长大于预设阈值时,从上述视频缓存区剩下的视频数据中的第二帧视频数据开始,按照缓存时刻从早到晚的顺序,间隔删除视频数据,直至上述视频缓存区最终剩下的视频数据的播放时长与上述第二播放时长两者之间相差的时长小于上述指定值。
S607、在上述第一播放时长与上述第二播放时长两者之间相差的时长不大于预设阈值时,从上述视频缓存区剩下的视频数据中的第一帧视频数据开始,按照缓存时刻从早到晚的顺序,顺序删除视频数据,直至上述视频缓存区最终剩下的视频数据的播放时长与上述第二播放时长两者之间相差的时长小于上述指定值。
具体的,有关步骤S606和步骤S607的具体实现过程和实现原理可以参见实施例四中的描述,此处不再赘述。
参见图6,需要说明的是,执行完步骤S606或步骤S607后,执行步骤S611。
S608、复制上述视频缓存区最新缓存的第二目标帧视频数据,得到复制帧视频数据,并将上述复制帧视频数据插入到上述第二目标帧视频数据之后,得到补帧处理后的处理后视频数据。
具体的,有关该步骤的具体实现过程和实现原理可以参见步骤S501中的描述,此处不再赘述。
S609、判断上述处理后视频数据的播放时长与上述第二播放时长两者之间相差的时长是否小于上述指定值,若否,执行步骤S610,若是,执行步骤S611。
需要说明的是,当判断处理后视频数据的播放时长与第二播放时长两者之间相差的时长小于指定值时,执行步骤S611。
S610、按照缓存时刻从晚到早的顺序,从与上述第二目标帧视频数据间隔一帧视频数据的第三目标帧视频数据开始,间隔复制视频数据,得到复制帧视频数据,并将复制帧视频数据插入到被复制的视频数据之后,直至上述视频缓存区最终存放的视频数据的播放时长与上述第二播放时长两者之间相差的时长小于上述指定值。
具体的,有关该步骤的具体实现过程和实现原理可以参见上面实施例中的描述,此处不再赘述。
参见图6,需要说明的是,执行完步骤S610后,执行步骤S611。
S611、分别从上述音频缓存区和上述视频缓存区取出等时间量的音频数据和视频数据输出。
具体的,该步骤的具体实现过程和实现原理可以参见步骤S103中的描述,此处不再赘述。
本实施例提供的方法,提供了一种音视频信号同步方法,通过该方法,在不需要技术人员的参与的情况下,即可实现音视频同步,工作量较小。
与前述音视频信号同步方法的实施例相对应,本申请还提供了音视频信号同步装置的实施例。
本申请音视频信号同步装置的实施例可以应用在计算机设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在计算机设备的处理器将存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,为本申请一示例性实施例示出的音视频信号同步装置所在计算机设备的硬件结构图,除了图7所示的存储器710、处理器720、内存730和网络接口740之外,实施例中装置所在的计算机设备通常根据该音视频信号同步装置的实际功能,还可以包括其他硬件,对此不再赘述。
图8为本申请提供的音视频信号同步装置实施例一的结构示意图。请参照图8,本实施例提供的装置,可以包括缓存模块810、处理模块820和输出模块830;其中,
所述缓存模块810,用于通过音频缓存区和视频缓存区分别缓存音频数据和视频数据;
所述处理模块820,用于当所述视频缓存区缓存的视频数据的第一播放时长与所述音频缓存区缓存的音频数据的第二播放时长两者之间相差的时长不小于指定值时,通过对所述视频缓存区缓存的视频数据进行处理缩短所述第一播放时长与所述第二播放时长两者之间相差的时长;
所述输出模块830,用于分别从所述音频缓存区和所述视频缓存区取出等时间量的音频数据和视频数据输出。
本实施例的装置,可用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
进一步地,图9为本申请提供的音视频信号同步装置实施例二的结构示意图。请参照图9,在上述实施例的基础上,本实施例提供的装置,所述处理模块820包括补帧模块8201和抽帧模块8202,其中,
所述补帧模块8201,具体用于当所述第二播放时长大于所述第一播放时长时,对所述视频缓存区缓存的视频数据进行补帧处理;
所述抽帧模块8202,具体用于当所述第二播放时长小于所述第一播放时长时,对所述视频缓存区缓存的视频数据进行抽帧处理。
进一步,所述抽帧模块8202,具体用于将所述视频缓存区最开始缓存的第一目标帧视频数据从所述视频缓存区删除。
进一步地,所述抽帧模块8202,还具体用于在将所述视频缓存区最开始缓存的第一目标帧视频数据从所述视频缓存区删除之后,在所述视频缓存区剩下的视频数据的播放时长与所述第二播放时长两者之间相差的时长不小于所述指定值时,对所述视频缓存区剩下的视频数据进行抽帧处理。
进一步地,所述抽帧模块8202,还具体用于:
在所述第一播放时长与所述第二播放时长两者之间相差的时长大于预设阈值时,从所述视频缓存区剩下的视频数据中的第二帧视频数据开始,按照缓存时刻从早到晚的顺序,间隔删除视频数据,直至所述视频缓存区最终剩下的视频数据的播放时长与所述第二播放时长两者之间相差的时长小于所述指定值;
在所述第一播放时长与所述第二播放时长两者之间相差的时长不大于预设阈值时,从所述视频缓存区剩下的视频数据中的第一帧视频数据开始,按照缓存时刻从早到晚的顺序,顺序删除视频数据,直至所述视频缓存区最终剩下的视频数据的播放时长与所述第二播放时长两者之间相差的时长小于所述指定值。
进一步地,所述补帧模块8201,具体用于复制所述视频缓存区最新缓存的第二目标帧视频数据,得到复制帧视频数据,并将所述复制帧视频数据插入到所述第二目标帧视频数据之后,得到补帧处理后的处理后视频数据。
进一步地,所述补帧模块8201,还具体用于在得到补帧处理后的处理后视频数据之后,在所述处理后视频数据的播放时长与所述第二播放时长两者之间相差的时长不小于所述指定值时,对所述处理后视频数据进行补帧处理。
进一步地,所述补帧模块8201,具体用于按照缓存时刻从晚到早的顺序,从与所述第二目标帧视频数据间隔一帧视频数据的第三目标帧视频数据开始,间隔复制视频数据,得到复制帧视频数据,并将复制帧视频数据插入到被复制的视频数据之后,直至所述视频缓存区最终存放的视频数据的播放时长与所述第二播放时长两者之间相差的时长小于所述指定值。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本申请提供的任一音视频信号同步的方法的步骤。
具体的,适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。
请继续参照图7,本申请还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请提供的任一音视频信号同步的方法的步骤。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (5)

1.一种音视频信号同步方法,其特征在于,所述方法包括:
通过音频缓存区和视频缓存区分别缓存音频数据和视频数据;
若所述视频缓存区缓存的视频数据的第一播放时长与所述音频缓存区缓存的音频数据的第二播放时长两者之间相差的时长不小于指定值,则在所述第二播放时长大于所述第一播放时长的情况下,对所述视频缓存区缓存的视频数据进行补帧处理,在所述第二播放时长小于所述第一播放时长的情况下,对所述视频缓存区缓存的视频数据进行抽帧处理;
分别从所述音频缓存区和所述视频缓存区取出等时间量的音频数据和视频数据输出;
其中,对所述视频缓存区缓存的视频数据进行抽帧处理,包括:
将所述视频缓存区最开始缓存的第一目标帧视频数据从所述视频缓存区删除;
若所述视频缓存区剩下的视频数据的播放时长与所述第二播放时长两者之间相差的时长不小于所述指定值,且所述第一播放时长与所述第二播放时长两者之间相差的时长大于预设阈值,则从所述视频缓存区剩下的视频数据中的第二帧视频数据开始,按照缓存时刻从早到晚的顺序,间隔删除视频数据,直至所述视频缓存区最终剩下的视频数据的播放时长与所述第二播放时长两者之间相差的时长小于所述指定值;
若所述视频缓存区剩下的视频数据的播放时长与所述第二播放时长两者之间相差的时长不小于所述指定值,且所述第一播放时长与所述第二播放时长两者之间相差的时长不大于预设阈值,则从所述视频缓存区剩下的视频数据中的第一帧视频数据开始,按照缓存时刻从早到晚的顺序,顺序删除视频数据,直至所述视频缓存区最终剩下的视频数据的播放时长与所述第二播放时长两者之间相差的时长小于所述指定值。
2.根据权利要求1所述的方法,其特征在于,所述对所述视频缓存区缓存的视频数据进行补帧处理,包括:
复制所述视频缓存区最新缓存的第二目标帧视频数据,得到复制帧视频数据,并将所述复制帧视频数据插入到所述第二目标帧视频数据之后,得到补帧处理后的处理后视频数据。
3.根据权利要求2所述的方法,其特征在于,所述得到补帧处理后的处理后视频数据之后,所述方法还包括:
在所述处理后视频数据的播放时长与所述第二播放时长两者之间相差的时长不小于所述指定值时,对所述处理后视频数据进行补帧处理。
4.根据权利要求3所述的方法,其特征在于,所述对所述处理后视频数据进行补帧处理,包括:
按照缓存时刻从晚到早的顺序,从与所述第二目标帧视频数据间隔一帧视频数据的第三目标帧视频数据开始,间隔复制视频数据,得到复制帧视频数据,并将复制帧视频数据插入到被复制的视频数据之后,直至所述视频缓存区最终存放的视频数据的播放时长与所述第二播放时长两者之间相差的时长小于所述指定值。
5.一种音视频信号同步装置,其特征在于,所述装置包括缓存模块、处理模块和输出模块,其中,
所述缓存模块,用于通过音频缓存区和视频缓存区分别缓存音频数据和视频数据;
所述处理模块,用于若所述视频缓存区缓存的视频数据的第一播放时长与所述音频缓存区缓存的音频数据的第二播放时长两者之间相差的时长不小于指定值,则在所述第二播放时长大于所述第一播放时长的情况下,对所述视频缓存区缓存的视频数据进行补帧处理,在所述第二播放时长小于所述第一播放时长的情况下,对所述视频缓存区缓存的视频数据进行抽帧处理;
所述输出模块,用于分别从所述音频缓存区和所述视频缓存区取出等时间量的音频数据和视频数据输出;
其中,对所述视频缓存区缓存的视频数据进行抽帧处理,包括:
将所述视频缓存区最开始缓存的第一目标帧视频数据从所述视频缓存区删除;
若所述视频缓存区剩下的视频数据的播放时长与所述第二播放时长两者之间相差的时长不小于所述指定值,且所述第一播放时长与所述第二播放时长两者之间相差的时长大于预设阈值,则从所述视频缓存区剩下的视频数据中的第二帧视频数据开始,按照缓存时刻从早到晚的顺序,间隔删除视频数据,直至所述视频缓存区最终剩下的视频数据的播放时长与所述第二播放时长两者之间相差的时长小于所述指定值;
若所述视频缓存区剩下的视频数据的播放时长与所述第二播放时长两者之间相差的时长不小于所述指定值,且所述第一播放时长与所述第二播放时长两者之间相差的时长不大于预设阈值,则从所述视频缓存区剩下的视频数据中的第一帧视频数据开始,按照缓存时刻从早到晚的顺序,顺序删除视频数据,直至所述视频缓存区最终剩下的视频数据的播放时长与所述第二播放时长两者之间相差的时长小于所述指定值。
CN201910355606.XA 2019-04-29 2019-04-29 一种音视频信号同步方法和装置 Active CN111432258B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910355606.XA CN111432258B (zh) 2019-04-29 2019-04-29 一种音视频信号同步方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910355606.XA CN111432258B (zh) 2019-04-29 2019-04-29 一种音视频信号同步方法和装置

Publications (2)

Publication Number Publication Date
CN111432258A CN111432258A (zh) 2020-07-17
CN111432258B true CN111432258B (zh) 2022-09-30

Family

ID=71546717

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910355606.XA Active CN111432258B (zh) 2019-04-29 2019-04-29 一种音视频信号同步方法和装置

Country Status (1)

Country Link
CN (1) CN111432258B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115720278A (zh) * 2022-11-03 2023-02-28 深圳创维-Rgb电子有限公司 声音与画面的同步处理方法及相关装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2275851B (en) * 1993-03-05 1997-02-26 Sony Broadcast & Communication A combined digital video/audio synchroniser
US7012650B2 (en) * 2001-06-14 2006-03-14 Sony Corporation Start/stop audio encoder apparatus and method for synchronizing digital audio and video signals
CN101453655A (zh) * 2007-11-30 2009-06-10 深圳华为通信技术有限公司 用户可控的音视频同步调节的方法、系统和设备
CN103167320B (zh) * 2011-12-15 2016-05-25 中国电信股份有限公司 音视频同步方法、系统及手机直播客户端
CN104394421B (zh) * 2013-09-23 2018-08-17 贵阳朗玛信息技术股份有限公司 视频帧的处理方法及装置
CN105933800A (zh) * 2016-04-29 2016-09-07 联发科技(新加坡)私人有限公司 一种视频播放方法及其控制终端
CN106603543B (zh) * 2016-12-22 2019-08-09 努比亚技术有限公司 校正流媒体音视频同步的方法及装置
CN109275008B (zh) * 2018-09-17 2021-04-13 海信视像科技股份有限公司 一种音视频同步的方法和装置

Also Published As

Publication number Publication date
CN111432258A (zh) 2020-07-17

Similar Documents

Publication Publication Date Title
CN110418186B (zh) 音视频播放方法、装置、计算机设备和存储介质
KR101926018B1 (ko) 동영상 녹화 방법 및 시스템
US10129587B2 (en) Fast switching of synchronized media using time-stamp management
US20170324792A1 (en) Dynamic track switching in media streaming
CN110149518B (zh) 媒体数据的处理方法、系统、装置、设备以及存储介质
CN111432258B (zh) 一种音视频信号同步方法和装置
WO2019109678A1 (zh) 字幕切换方法及显示设备
CN110175081B (zh) 一种针对Android音频播放的优化系统及其方法
JP2023520651A (ja) メディア・ストリーミング方法及び装置
JP2022524073A (ja) Httpによる動的適応ストリーミングのための方法及び装置
CN105632541A (zh) 一种录制手机输出音频的方法、系统及手机
CN113205822A (zh) 一种多路音频数据录制混音方法及装置、存储介质
CN103873804B (zh) 用于嵌入式nvr的录像回放时间轴与内容同步控制方法
CN103269460B (zh) 一种音视频文件时长计算装置及方法
JP6869135B2 (ja) 再生装置、再生装置の制御方法、及び、プログラム
CN110944197A (zh) 一种图像、音频编码的方法和装置
CN110602524B (zh) 一种多路数字流同步方法、装置、系统及存储介质
CN108200303B (zh) 语音电话回音消除方法、存储介质、电子设备及系统
US20120106860A1 (en) Image processing device and image processing method
CN116112720A (zh) 一种基于ptp网络同步的超高清音视频同步系统
WO2018076899A1 (zh) 一种数据切换方法、装置、终端及计算机可读存储介质
CN110225351B (zh) 视频文件处理方法、装置、电子设备及存储介质
CN111026810B (zh) 数据同步方法、装置及存储介质
CN109905752B (zh) 音频数据处理方法、装置、电子设备和存储介质
CN112292660B (zh) 一种调度存储器中数据的方法、数据调度设备及系统

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