CN110519627B - 一种音频数据的同步方法和装置 - Google Patents
一种音频数据的同步方法和装置 Download PDFInfo
- Publication number
- CN110519627B CN110519627B CN201810488234.3A CN201810488234A CN110519627B CN 110519627 B CN110519627 B CN 110519627B CN 201810488234 A CN201810488234 A CN 201810488234A CN 110519627 B CN110519627 B CN 110519627B
- Authority
- CN
- China
- Prior art keywords
- data packet
- video
- video data
- audio
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 18
- 230000001360 synchronised effect Effects 0.000 claims abstract description 14
- 230000005540 biological transmission Effects 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000000007 visual effect Effects 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 208000003028 Stuttering Diseases 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005070 sampling Methods 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/4307—Synchronising 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
-
- 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/439—Processing of audio elementary streams
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明实施例提供了一种音频数据的同步方法和装置,该方法包括:接收视频数据包与音频数据包;播放所述视频数据包;根据所述视频数据包确定目标时间范围;基于所述目标时间范围对所述音频数据包进行同步处理。本发明实施例以视频数据包作为基准,校准音频数据包,在保证视频数据包与音频数据包同步播放的情况下,减少丢弃视频数据包,减少画面卡顿的现象,提高画面播放的流畅度。
Description
技术领域
本发明涉及通信的技术领域,特别是涉及一种音视频数据的同步方法和一种音视频数据的同步装置。
背景技术
在生活、工作中,用户经常在网络中观看各种类型的节目,例如,体育直播、综艺节目、电视剧、电影,等等。
这些节目的视频数据与音频数据在编码之后,一般是分开进行传输,传统的播放器对视频数据与音频数据进行解码处理直接播放,会导致视频数据与音频数据不同步的现象产生,即用户感觉声音与画面中的内容(如口型、字幕等)无法对应。
目前,某些播放器以音频数据为基准,丢掉一定的视频数据,以同步音频数据与视频数据,但是,这样会导致画面丢帧、卡顿。
发明内容
本发明实施例提出了一种音频数据的同步方法和装置,以解决以音频数据为基准进行同步时导致画面丢帧、卡顿的问题。
依据本发明的一个方面,提供了一种音视频数据的同步方法,包括:
接收视频数据包与音频数据包;
播放所述视频数据包;
根据所述视频数据包确定目标时间范围;
基于所述目标时间范围对所述音频数据包进行同步处理。
可选地,所述接收视频数据包与音频数据包,包括:
若接收到视频数据包,则将所述视频数据包写入预设的第一接收队列中;
若所述第一接收队列中存储的视频数据包超过预设的第一数量阈值,则将所述第一接收队列中存储的视频数据包写入预设的第一播放队列中;
若接收到音频数据包,则将所述视频数据包写入预设的第二接收队列中;
若所述第二接收队列中存储的音频数据包超过预设的第二数量阈值,则将所述第二接收队列中存储的视频数据包写入预设的第二播放队列中。
可选地,所述根据所述视频数据包确定目标时间范围,包括:
查询在初始接收到所述视频数据包或所述音频数据包时记录的基准时间;
在所述视频数据包中识别视频头信息;
在所述视频头信息中提取视频时间戳;
计算所述视频数据包的视频播放时长;
在所述视频时间戳的基础上减去所述基准时间,获得视频时间差;
以所述视频时间差作为一端值,在所述视频时间差的基础上加上所述视频播放时长的值作为另一端值,生成目标时间范围。
可选地,所述基于所述视频时间差计算目标时间范围,还包括:
计算波动时间,所述波动时间包括传输时延和/或视觉差时间;
采用所述波动时间扩展所述目标时间范围。
可选地,所述基于所述目标时间范围对所述音频数据包进行同步处理,包括:
查询在初始接收到所述视频数据包或所述音频数据包时记录的基准时间;
在所述音频数据包中识别音频头信息;
在所述音频头信息中提取音频时间戳;
将所述音频时间戳的基础上减去所述基准时间,获得音频时间差;
将所述音频时间差与所述目标时间范围进行比较;
若所述音频时间差小于所述目标时间范围,则丢弃所述音频数据包;
若所述音频时间差在所述目标时间范围内,则播放所述音频数据包;
若所述音频时间差大于所述目标时间范围,则保持所述音频数据包,以等待下一次同步处理。
可选地,在所述接收视频数据包与音频数据包之后,所述方法还包括:
判断传输时延是否低于预设的时延阈值;若是,则执行所述播放所述视频数据包。
根据本发明的另一方面,提供了一种音视频数据的同步装置,包括:
媒体数据包接收模块,用于接收视频数据包与音频数据包;
视频数据包播放模块,用于播放所述视频数据包;
目标时间范围确定模块,用于根据所述视频数据包确定目标时间范围;
音频数据包同步模块,用于基于所述目标时间范围对所述音频数据包进行同步处理。
可选地,所述媒体数据包接收模块包括:
第一接收队列写子模块,用于若接收到视频数据包,则将所述视频数据包写入预设的第一接收队列中;
第一播放队列写子模块,用于若所述第一接收队列中存储的视频数据包超过预设的第一数量阈值,则将所述第一接收队列中存储的视频数据包写入预设的第一播放队列中;
第二接收队列写子模块,用于若接收到音频数据包,则将所述视频数据包写入预设的第二接收队列中;
第二播放队列写子模块,用于若所述第二接收队列中存储的音频数据包超过预设的第二数量阈值,则将所述第二接收队列中存储的视频数据包写入预设的第二播放队列中。
可选地,所述目标时间范围确定模块包括:
第一基准时间查询子模块,用于查询在初始接收到所述视频数据包或所述音频数据包时记录的基准时间;
视频头信息识别子模块,用于在所述视频数据包中识别视频头信息;
视频时间戳提取子模块,用于在所述视频头信息中提取视频时间戳;
视频播放时长计算子模块,用于计算所述视频数据包的视频播放时长;
视频时间差计算子模块,用于在所述视频时间戳的基础上减去所述基准时间,获得视频时间差;
目标时间范围生成子模块,用于以所述视频时间差作为一端值,在所述视频时间差的基础上加上所述视频播放时长的值作为另一端值,生成目标时间范围。
可选地,所述目标时间范围确定模块还包括:
波动时间计算子模块,用于计算波动时间,所述波动时间包括传输时延和/或视觉差时间;
目标时间范围扩展子模块,用于采用所述波动时间扩展所述目标时间范围。
可选地,所述音频数据包同步模块包括:
第二基准时间查询子模块,用于查询在初始接收到所述视频数据包或所述音频数据包时记录的基准时间;
音频头信息识别子模块,用于在所述音频数据包中识别音频头信息;
音频时间戳提取子模块,用于在所述音频头信息中提取音频时间戳;
音频时间差计算子模块,用于将所述音频时间戳的基础上减去所述基准时间,获得音频时间差;
时间比较子模块,用于将所述音频时间差与所述目标时间范围进行比较;
音频数据包丢弃子模块,用于若所述音频时间差小于所述目标时间范围,则丢弃所述音频数据包;
音频数据包播放子模块,用于若所述音频时间差在所述目标时间范围内,则播放所述音频数据包;
音频数据包等待子模块,用于若所述音频时间差大于所述目标时间范围,则保持所述音频数据包,以等待下一次同步处理。
可选地,还包括:
传输时延判断模块,用于判断传输时延是否低于预设的时延阈值;若是,则调用所述视频数据包播放模块。
本发明实施例包括以下优点:
在本发明实施例中,接收视频数据包与音频数据包,播放视频数据包,根据视频数据包确定目标时间范围,基于目标时间范围对音频数据包进行同步处理,以视频数据包作为基准,校准音频数据包,在保证视频数据包与音频数据包同步播放的情况下,减少丢弃视频数据包,减少画面卡顿的现象,提高画面播放的流畅度。
附图说明
图1是本发明一个实施例的一种音视频数据的同步方法的步骤流程图;
图2是本发明一个实施例的一种音视频数据的同步示例图;
图3是本发明一个实施例的一种音视频数据的同步装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明一个实施例的一种音视频数据的同步方法的步骤流程图,具体可以包括如下步骤:
步骤101,接收视频数据包与音频数据包。
在具体实现中,用户在客户端(如浏览器、直播客户端等)进行操作,加载服务器可提供的节目的信息(如节目封面、节目简介等),从中选定某个节目,客户端针对用户选定的节目,向流媒体服务器发送节目播放请求,流媒体服务器分别打包该节目的视频数据包与音频数据包,向该客户端返回该节目的视频数据包与音频数据包。
对于客户端而言,分别接收该节目的视频数据包与音频数据包。
在本发明的一个实施例中,步骤101包括如下子步骤:
子步骤S11,若接收到视频数据包,则将所述视频数据包写入预设的第一接收队列中。
子步骤S12,若所述第一接收队列中存储的视频数据包超过预设的第一数量阈值,则将所述第一接收队列中存储的视频数据包写入预设的第一播放队列中。
子步骤S13,若接收到音频数据包,则将所述视频数据包写入预设的第二接收队列中。
子步骤S14,若所述第二接收队列中存储的音频数据包超过预设的第二数量阈值,则将所述第二接收队列中存储的视频数据包写入预设的第二播放队列中。
在本发明实施例中,客户端在内存中设置第一接收队列、第二接收队列、第一播放队列与第二播放队列。
若客户端接收到媒体数据包(Media Packet),则可以识别其类型。
若该媒体数据包为视频数据包,则将该视频数据包写入第一接收队列,如果第一接收队列中存储的视频数据包超过第一数量阈值,则可以将第一接收队列中存储的视频数据包写入第一播放队列中,等待播放。
若该媒体数据包为音频数据包,则将该音频数据包写入第二接收队列,如果第二接收队列中存储的音频数据包超过第二数量阈值,则可以将第二接收队列中存储的音频数据包写入第二播放队列中,等待播放。
步骤102,播放所述视频数据包。
在本发明实施例中,以视频数据包作为播放的基准,对音频数据包的播放进行校准。
在实际应用中,在网络传输较好的环境下,以视频数据包作为播放的基准,对音频数据包的播放进行校准,可以获得较佳的播放效果。
因此,可以判断传输时延是否低于预设的时延阈值(如600ms);若是,则执行步骤102,若否,则可以采用其他方式对视频数据包与音频数据包进行同步处理。
在视频数据包中,包括视频头信息Header和视频帧数据Data。
其中,视频头信息Header包含自定义的视频信息(如编码格式、分辨率等),视频帧数据Data为视频的内容。
在具体实现中,可以从第一播放队列中提取视频数据包,从视频数据包中提取视频帧数据,播放视频帧数据。
步骤103,根据所述视频数据包确定目标时间范围。
若以视频数据包作为播放的基准,对音频数据包的播放进行校准,则可以以正在播放的视频数据包作为基点,在附近时间内圈定一个较为合理的目标时间范围,以此筛选出在该目标时间范围内的音频数据包。
在本发明的一个实施例中,步骤103可以包括如下子步骤:
子步骤S21,查询在初始接收到所述视频数据包或所述音频数据包时记录的基准时间。
客户端在首次接收到媒体数据包(视频数据包或音频数据包)时,记录此时的系统时间,作为基准时间。
子步骤S22,在所述视频数据包中识别视频头信息。
子步骤S23,在所述视频头信息中提取视频时间戳。
服务器在打包视频数据包时,记录此时的系统时间,作为视频时间戳写入该视频数据包的视频头信息中。
客户端则可以在视频数据包中识别出视频头信息,从而在该视频头信息中提取视频时间戳。
子步骤S24,计算所述视频数据包的视频播放时长。
在具体实现中,当一个视频数据包播放开始时进行计时,在播放结束时结束计时,两个时间之间的时差即为该视频数据包的视频播放时长。
需要说明的是,视频数据包的播放时间是一个全局变量,下一个视频数据包的播放时长会覆盖上一个视频数据包的播放时长,但是,每个视频数据包的播放时长浮动较小。子步骤S25,在所述视频时间戳的基础上减去所述基准时间,获得视频时间差。
子步骤S26,以所述视频时间差作为一端值,在所述视频时间差的基础上加上所述视频播放时长的值作为另一端值,生成目标时间范围。
在视频时间戳的基础上减去基准时间,两者之间的视频时间差可以表示该视频数据包在节目的相对位置,作为一端值(即最小值),在此基础上加上视频播放时长,作为另一端值(即最大值),以此确定与其适配的音频数据包在该节目中所处的目标时间范围。
在一个示例中,如图2所示,假设基准时间为t0,视频时间戳为t1,视频播放时长Δt1,则目标时间范围为[(t1-t0),(t1-t0)+Δt1],在整个时间轴为[t1,t2]。
在本发明的一个实施例中,步骤103还可以包括如下子步骤:
子步骤S27,计算波动时间。
在具体实现中,波动时间包括传输时延和/或视觉差时间。
其中,传输时延可以指服务器传输数据至客户端的时延,可以实时进行测量,也可以预设设置一个合适的值。
视觉差时间可以指人的眼睛视觉残留的时间(如400ms)。
子步骤S28,采用所述波动时间扩展所述目标时间范围。
原有的目标时间范围的最小值减去该波动时间,重新扩展波动时间的最小值,以及,在原有的目标时间范围的最大值加上该波动时间,重新扩展波动时间的最大值,从而扩展目标时间范围。
在一个示例中,如图2所示,若目标时间范围为[(t1-t0),(t1-t0)+Δt1],在整个时间轴为[t1,t2],而波动时间为Δt2,则扩展之后的目标时间范围为[(t1-t0-Δt2),(t1-t0)+Δt1+Δt2],在整个时间轴为[t1-Δt2,t2+Δt2],即[t1',t2']。
在本发明实施例中,考虑传输时延和/或视觉差时间等因素计算波动时间,以此扩展目标时间范围,在保证视频数据包与音频数据包同步的情况下,提高音频数据包选中的几率,从而提高音频播放的流畅度。
步骤104,基于所述目标时间范围对所述音频数据包进行同步处理。
若以正在播放的视频数据包作为播放的基准,确定了目标时间范围,则可以以此对音频数据包进行同步处理,使得播放的音频数据包与视频数据包同步播放。
在本发明的一个实施例中,步骤104可以包括如下子步骤:
子步骤S31,查询在初始接收到所述视频数据包或所述音频数据包时记录的基准时间。
子步骤S32,在所述音频数据包中识别音频头信息。
子步骤S33,在所述音频头信息中提取音频时间戳。
在音频数据包中,包括音频头信息Header和音频帧数据Data。
其中,音频头信息Header包含自定义的音频信息(如编码格式、采样率等),音频帧数据Data为音频的内容。
服务器在打包音频数据包时,记录此时的系统时间,作为音频时间戳写入该视频数据包的音频头信息中。
客户端则可以从第二播放队列中提取音频数据包,在音频数据包中识别出音频头信息,从而在该音频头信息中提取音频时间戳。
子步骤S34,将所述音频时间戳的基础上减去所述基准时间,获得音频时间差。
在音频时间戳的基础上减去基准时间,两者之间的音频时间差可以表示该音频数据包在节目的相对位置。
子步骤S35,将所述音频时间差与所述目标时间范围进行比较。
子步骤S36,若所述音频时间差小于所述目标时间范围,则丢弃所述音频数据包。
如果音频数据包的音频时间差小于目标时间范围的最小值,则在第二播放队列中删除该音频数据包。
子步骤S37,若所述音频时间差在所述目标时间范围内,则播放所述音频数据包。
如果音频数据包的音频时间差大于或等于目标时间范围的最小值、并且、小于或等于目标时间范围的最大值,则从该音频数据包中提取音频帧数据,播放音频帧数据。
子步骤S38,若所述音频时间差大于所述目标时间范围,则保持所述音频数据包,以等待下一次同步处理。
如果音频数据包的音频时间差大于目标时间范围的最大值,则将该音频数据包保持在第二播放队列中,等待下一个视频数据包播放时进行同步处理。
在一个示例中,如图2所示,若目标时间范围为[(t1-t0-Δt2),(t1-t0)+Δt1+Δt2],在整个时间轴为[t1',t2'],假设在第二播放队列中存储有3个音频数据包,其中,音频数据包A的音频时间戳为ta、音频数据包B的音频时间戳为tb、音频数据包C的音频时间戳为tc。
由于ta-t0<(t1-t0-Δt2),即ta<t1',因此,丢弃音频数据包A。
由于(t1-t0-Δt2)<tb-t0<(t1-t0)+Δt1+Δt2,即t1'<tb<t2',因此,播放音频数据包B。
由于tc-t0>(t1-t0)+Δt1+Δt2,即tc>t2',因此,音频数据包C在第二播放队列中等待下一次同步处理。
在本发明实施例中,接收视频数据包与音频数据包,播放视频数据包,根据视频数据包确定目标时间范围,基于目标时间范围对音频数据包进行同步处理,以视频数据包作为基准,校准音频数据包,在保证视频数据包与音频数据包同步播放的情况下,减少丢弃视频数据包,减少画面卡顿的现象,提高画面播放的流畅度。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图3,示出了本发明一个实施例的一种音视频数据的同步装置的结构框图,具体可以包括如下模块:
媒体数据包接收模块301,用于接收视频数据包与音频数据包;
视频数据包播放模块302,用于播放所述视频数据包;
目标时间范围确定模块303,用于根据所述视频数据包确定目标时间范围;
音频数据包同步模块304,用于基于所述目标时间范围对所述音频数据包进行同步处理。
在本发明的一个实施例中,所述媒体数据包接收模块301包括:
第一接收队列写子模块,用于若接收到视频数据包,则将所述视频数据包写入预设的第一接收队列中;
第一播放队列写子模块,用于若所述第一接收队列中存储的视频数据包超过预设的第一数量阈值,则将所述第一接收队列中存储的视频数据包写入预设的第一播放队列中;
第二接收队列写子模块,用于若接收到音频数据包,则将所述视频数据包写入预设的第二接收队列中;
第二播放队列写子模块,用于若所述第二接收队列中存储的音频数据包超过预设的第二数量阈值,则将所述第二接收队列中存储的视频数据包写入预设的第二播放队列中。
在本发明的一个实施例中,所述目标时间范围确定模块303包括:
第一基准时间查询子模块,用于查询在初始接收到所述视频数据包或所述音频数据包时记录的基准时间;
视频头信息识别子模块,用于在所述视频数据包中识别视频头信息;
视频时间戳提取子模块,用于在所述视频头信息中提取视频时间戳;
视频播放时长计算子模块,用于计算所述视频数据包的视频播放时长;
视频时间差计算子模块,用于在所述视频时间戳的基础上减去所述基准时间,获得视频时间差;
目标时间范围生成子模块,用于以所述视频时间差作为一端值,在所述视频时间差的基础上加上所述视频播放时长的值作为另一端值,生成目标时间范围。
在本发明的一个实施例中,所述目标时间范围确定模块303还包括:
波动时间计算子模块,用于计算波动时间,所述波动时间包括传输时延和/或视觉差时间;
目标时间范围扩展子模块,用于采用所述波动时间扩展所述目标时间范围。
在本发明的一个实施例中,所述音频数据包同步模块304包括:
第二基准时间查询子模块,用于查询在初始接收到所述视频数据包或所述音频数据包时记录的基准时间;
音频头信息识别子模块,用于在所述音频数据包中识别音频头信息;
音频时间戳提取子模块,用于在所述音频头信息中提取音频时间戳;
音频时间差计算子模块,用于将所述音频时间戳的基础上减去所述基准时间,获得音频时间差;
时间比较子模块,用于将所述音频时间差与所述目标时间范围进行比较;
音频数据包丢弃子模块,用于若所述音频时间差小于所述目标时间范围,则丢弃所述音频数据包;
音频数据包播放子模块,用于若所述音频时间差在所述目标时间范围内,则播放所述音频数据包;
音频数据包等待子模块,用于若所述音频时间差大于所述目标时间范围,则保持所述音频数据包,以等待下一次同步处理。
在本发明的一个实施例中,还包括:
传输时延判断模块,用于判断传输时延是否低于预设的时延阈值;若是,则调用所述视频数据包播放模块302。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本发明实施例中,接收视频数据包与音频数据包,播放视频数据包,根据视频数据包确定目标时间范围,基于目标时间范围对音频数据包进行同步处理,以视频数据包作为基准,校准音频数据包,在保证视频数据包与音频数据包同步播放的情况下,减少丢弃视频数据包,减少画面卡顿的现象,提高画面播放的流畅度。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种音视频数据的同步方法和一种音视频数据的同步装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种音视频数据的同步方法,其特征在于,包括:
接收视频数据包与音频数据包;
播放所述视频数据包;
根据所述视频数据包确定目标时间范围;
基于所述目标时间范围对所述音频数据包进行同步处理;
其中,所述根据所述视频数据包确定目标时间范围,包括:
查询在初始接收到所述视频数据包或所述音频数据包时记录的基准时间;
在所述视频数据包中识别视频头信息;
在所述视频头信息中提取视频时间戳;
计算所述视频数据包的视频播放时长;
在所述视频时间戳的基础上减去所述基准时间,获得视频时间差;
以所述视频时间差作为一端值,在所述视频时间差的基础上加上所述视频播放时长的值作为另一端值,生成目标时间范围。
2.根据权利要求1所述的方法,其特征在于,所述接收视频数据包与音频数据包,包括:
若接收到视频数据包,则将所述视频数据包写入预设的第一接收队列中;
若所述第一接收队列中存储的视频数据包超过预设的第一数量阈值,则将所述第一接收队列中存储的视频数据包写入预设的第一播放队列中;
若接收到音频数据包,则将所述视频数据包写入预设的第二接收队列中;
若所述第二接收队列中存储的音频数据包超过预设的第二数量阈值,则将所述第二接收队列中存储的视频数据包写入预设的第二播放队列中。
3.根据权利要求1所述的方法,其特征在于,所述基于所述视频时间差计算目标时间范围,还包括:
计算波动时间,所述波动时间包括传输时延和/或视觉差时间;
采用所述波动时间扩展所述目标时间范围。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述基于所述目标时间范围对所述音频数据包进行同步处理,包括:
查询在初始接收到所述视频数据包或所述音频数据包时记录的基准时间;
在所述音频数据包中识别音频头信息;
在所述音频头信息中提取音频时间戳;
将所述音频时间戳的基础上减去所述基准时间,获得音频时间差;
将所述音频时间差与所述目标时间范围进行比较;
若所述音频时间差小于所述目标时间范围,则丢弃所述音频数据包;
若所述音频时间差在所述目标时间范围内,则播放所述音频数据包;
若所述音频时间差大于所述目标时间范围,则保持所述音频数据包,以等待下一次同步处理。
5.根据权利要求1-3任一项所述的方法,其特征在于,在所述接收视频数据包与音频数据包之后,所述方法还包括:
判断传输时延是否低于预设的时延阈值;若是,则执行所述播放所述视频数据包。
6.一种音视频数据的同步装置,其特征在于,包括:
媒体数据包接收模块,用于接收视频数据包与音频数据包;
视频数据包播放模块,用于播放所述视频数据包;
目标时间范围确定模块,用于根据所述视频数据包确定目标时间范围;
音频数据包同步模块,用于基于所述目标时间范围对所述音频数据包进行同步处理;
所述目标时间范围确定模块包括:
第一基准时间查询子模块,用于查询在初始接收到所述视频数据包或所述音频数据包时记录的基准时间;
视频头信息识别子模块,用于在所述视频数据包中识别视频头信息;
视频时间戳提取子模块,用于在所述视频头信息中提取视频时间戳;
视频播放时长计算子模块,用于计算所述视频数据包的视频播放时长;
视频时间差计算子模块,用于在所述视频时间戳的基础上减去所述基准时间,获得视频时间差;
目标时间范围生成子模块,用于以所述视频时间差作为一端值,在所述视频时间差的基础上加上所述视频播放时长的值作为另一端值,生成目标时间范围。
7.根据权利要求6所述的装置,其特征在于,所述媒体数据包接收模块包括:
第一接收队列写子模块,用于若接收到视频数据包,则将所述视频数据包写入预设的第一接收队列中;
第一播放队列写子模块,用于若所述第一接收队列中存储的视频数据包超过预设的第一数量阈值,则将所述第一接收队列中存储的视频数据包写入预设的第一播放队列中;
第二接收队列写子模块,用于若接收到音频数据包,则将所述视频数据包写入预设的第二接收队列中;
第二播放队列写子模块,用于若所述第二接收队列中存储的音频数据包超过预设的第二数量阈值,则将所述第二接收队列中存储的视频数据包写入预设的第二播放队列中。
8.根据权利要求6所述的装置,其特征在于,所述目标时间范围确定模块还包括:
波动时间计算子模块,用于计算波动时间,所述波动时间包括传输时延和/或视觉差时间;
目标时间范围扩展子模块,用于采用所述波动时间扩展所述目标时间范围。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810488234.3A CN110519627B (zh) | 2018-05-21 | 2018-05-21 | 一种音频数据的同步方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810488234.3A CN110519627B (zh) | 2018-05-21 | 2018-05-21 | 一种音频数据的同步方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110519627A CN110519627A (zh) | 2019-11-29 |
CN110519627B true CN110519627B (zh) | 2021-05-14 |
Family
ID=68622045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810488234.3A Active CN110519627B (zh) | 2018-05-21 | 2018-05-21 | 一种音频数据的同步方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110519627B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111510759B (zh) * | 2020-03-17 | 2023-10-13 | 视联动力信息技术股份有限公司 | 视频显示方法、装置及可读存储介质 |
CN111988654B (zh) * | 2020-08-31 | 2022-10-18 | 维沃移动通信有限公司 | 视频数据对齐方法、装置和电子设备 |
CN114007108B (zh) * | 2021-10-28 | 2023-09-19 | 广州华多网络科技有限公司 | 音频流混音控制方法及其装置、设备、介质、产品 |
CN113794813B (zh) * | 2021-11-16 | 2022-02-11 | 珠海视熙科技有限公司 | 一种控制音画同步的方法、装置及计算机存储介质 |
CN114915840A (zh) * | 2022-05-07 | 2022-08-16 | 广州力加贺电子科技有限公司 | 适用于嵌入式设备的音视频处理方法、装置、设备及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101312530A (zh) * | 2007-05-24 | 2008-11-26 | 中兴通讯股份有限公司 | 平滑时分流媒体传输码率的方法及装置 |
US8913104B2 (en) * | 2011-05-24 | 2014-12-16 | Bose Corporation | Audio synchronization for two dimensional and three dimensional video signals |
CN104780422A (zh) * | 2014-01-13 | 2015-07-15 | 北京兆维电子(集团)有限责任公司 | 流媒体播放方法及流媒体播放器 |
CN105744334A (zh) * | 2016-02-18 | 2016-07-06 | 海信集团有限公司 | 一种音视频同步和同步播放的方法及设备 |
CN106034263A (zh) * | 2015-03-09 | 2016-10-19 | 腾讯科技(深圳)有限公司 | 媒体文件中音视频的校准方法及装置 |
CN103731716B (zh) * | 2014-01-08 | 2017-01-18 | 珠海全志科技股份有限公司 | 一种ts流播放中的音视频同步方法 |
CN107438192A (zh) * | 2017-07-26 | 2017-12-05 | 武汉烽火众智数字技术有限责任公司 | 音视频播放同步的方法及相关系统和多媒体播放终端 |
CN107517400A (zh) * | 2016-06-15 | 2017-12-26 | 成都鼎桥通信技术有限公司 | 流媒体播放方法及流媒体播放器 |
CN107801080A (zh) * | 2017-11-10 | 2018-03-13 | 普联技术有限公司 | 一种音视频同步方法、装置及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10623801B2 (en) * | 2015-12-17 | 2020-04-14 | James R. Jeffries | Multiple independent video recording integration |
-
2018
- 2018-05-21 CN CN201810488234.3A patent/CN110519627B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101312530A (zh) * | 2007-05-24 | 2008-11-26 | 中兴通讯股份有限公司 | 平滑时分流媒体传输码率的方法及装置 |
US8913104B2 (en) * | 2011-05-24 | 2014-12-16 | Bose Corporation | Audio synchronization for two dimensional and three dimensional video signals |
CN103731716B (zh) * | 2014-01-08 | 2017-01-18 | 珠海全志科技股份有限公司 | 一种ts流播放中的音视频同步方法 |
CN104780422A (zh) * | 2014-01-13 | 2015-07-15 | 北京兆维电子(集团)有限责任公司 | 流媒体播放方法及流媒体播放器 |
CN106034263A (zh) * | 2015-03-09 | 2016-10-19 | 腾讯科技(深圳)有限公司 | 媒体文件中音视频的校准方法及装置 |
CN105744334A (zh) * | 2016-02-18 | 2016-07-06 | 海信集团有限公司 | 一种音视频同步和同步播放的方法及设备 |
CN107517400A (zh) * | 2016-06-15 | 2017-12-26 | 成都鼎桥通信技术有限公司 | 流媒体播放方法及流媒体播放器 |
CN107438192A (zh) * | 2017-07-26 | 2017-12-05 | 武汉烽火众智数字技术有限责任公司 | 音视频播放同步的方法及相关系统和多媒体播放终端 |
CN107801080A (zh) * | 2017-11-10 | 2018-03-13 | 普联技术有限公司 | 一种音视频同步方法、装置及设备 |
Non-Patent Citations (1)
Title |
---|
基于视频监控系统的音视频同步技术的设计与实现;徐强;《中国优秀硕士学位论文全文数据库信息科技辑》;20131215;第4.2、4.4节 * |
Also Published As
Publication number | Publication date |
---|---|
CN110519627A (zh) | 2019-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110519627B (zh) | 一种音频数据的同步方法和装置 | |
TWI788744B (zh) | 動態縮減替換內容之播放以幫助對齊替換內容之結束與已替換內容之結束 | |
CN106658133B (zh) | 一种音视频同步播放的方法及终端 | |
CN104869467B (zh) | 媒体播放中的信息输出方法、装置和系统 | |
CN103747287B (zh) | 应用于flash的视频播放速度调整的方法及系统 | |
CN110139148B (zh) | 一种视频切换清晰度的方法及相关装置 | |
JP2019050636A (ja) | 複数のオーバーザトップストリーミングクライアントを同期させること | |
US11812103B2 (en) | Dynamic playout of transition frames while transitioning between playout of media streams | |
CN109714622B (zh) | 一种视频数据处理方法、装置及电子设备 | |
JP2002199360A (ja) | 同期方法 | |
CN106791994B (zh) | 一种低延时快速开播方法及装置 | |
CN107690093B (zh) | 一种视频播放方法及装置 | |
CN106385525A (zh) | 一种视频播放方法及装置 | |
CN110139128B (zh) | 一种信息处理方法、拦截器、电子设备及存储介质 | |
CN114697712B (zh) | 一种媒体流的下载方法、装置、设备及存储介质 | |
CN107135407B (zh) | 一种钢琴视频教学中的同步方法及系统 | |
CN115914708A (zh) | 媒体的音视频同步方法及系统、电子设备 | |
JP7365212B2 (ja) | 動画再生装置、動画再生システム、および動画再生方法 | |
JP4364619B2 (ja) | 複数映像時刻同期表示端末、複数映像時刻同期表示方法、プログラム、および記録媒体 | |
KR102273795B1 (ko) | 영상 동기화 처리를 위한 시스템 및 그 제어방법 | |
CN116017011B (zh) | 一种音视频的字幕同步方法、播放设备及可读存储介质 | |
JP7237927B2 (ja) | 情報処理装置、情報処理装置およびプログラム | |
CN101771576B (zh) | 一种测试的方法、装置和系统 | |
CN113132806B (zh) | 一种播放终端及其节目播放方法 | |
CN112887772A (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 |