音视频同步误差的确定方法、装置、电子设备和存储介质制造方法及图纸

技术编号:25605564 阅读:32 留言:0更新日期:2020-09-12 00:01
本申请公开了一种音视频同步误差的确定方法、装置、电子设备和存储介质,涉及多媒体和直播领域中的图像处理和声音处理技术。具体实现方案为:获取直播流地址;根据直播流地址从流媒体服务器获取直播数据流的音频帧数据和视频帧数据;根据音频帧数据对应的显示时间信息和视频帧数据对应的显示时间信息,确定直播数据流中音频与视频的同步误差;或者,将音频帧数据和视频帧数据各自对应的显示时间信息进行可视化展示,以根据展示信息确定同步误差。由此,根据直播数据流的音频帧数据和视频帧数据各自对应的显示时间信息,直接计算同步误差或者根据显示时间信息展示结果确定同步误差,实现了量化展示直播数据流中音频和视频的同步误差的目的。

【技术实现步骤摘要】
音视频同步误差的确定方法、装置、电子设备和存储介质
本申请涉及计算机
,尤其涉及多媒体和直播领域中的图像处理和声音处理技术,具体涉及一种音视频同步误差的确定方法、装置、电子设备和存储介质。
技术介绍
在各大视频/游戏/电商直播平台观看直播时,经常会发现直播间内,主播的声音与动作出现不同步的情况。造成声音和动作不同步的原因是:音频帧和视频帧在播放时,其时间轴发生同步误差,因此解决不同步的问题,主要在于定位同步误差在直播数据流中的引入阶段和进行同步误差的量化。但是目前都是采用主观评估方法来判断音频和视频是否同步,无法对音频和视频的同步误差进行量化。
技术实现思路
本申请实施例提供一种音视频同步误差的确定方法、装置、电子设备和存储介质,以达到量化同步误差的目的。第一方面,本申请实施例提供了一种音视频同步误差的确定方法,包括:获取直播流地址;根据所述直播流地址从流媒体服务器获取直播数据流的音频帧数据和视频帧数据;根据所述音频帧数据对应的显示时间信息和所述视频帧数据对应的显示时间信息,确定所述直播数据流中音频与视频的同步误差;或者,将所述音频帧数据对应的显示时间信息和所述视频帧数据对应的显示时间信息进行可视化展示,以根据展示信息确定所述直播数据流中音频与视频的同步误差。第二方面,本申请实施例还提供了一种音视频同步误差的确定装置,包括:UI交互模块,用于获取直播流地址;WebSocketServer模块,用于将所述直播流地址发送至采集任务模块;r>采集任务模块,用于基于所述直播流地址,从流媒体服务器获取直播流的音频帧数据和视频帧数据;WebSocketServer模块还用于:根据所述音频帧数据对应的显示时间信息和所述视频帧数据对应的显示时间信息,确定所述直播数据流中音频与视频的同步误差;所述UI交互模块还用于:将所述音频帧数据对应的显示时间信息和所述视频帧数据对应的显示时间信息进行可视化展示,以根据展示信息确定所述直播数据流中音频与视频的同步误差。第三方面,本申请实施例还提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任意实施例所述的音视频同步误差的确定方法。第四方面,本申请实施例还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请任意实施例所述的音视频同步误差的确定方法。上述申请中的实施例具有如下优点或有益效果:由于直播流中的音频帧数据和视频帧数据各自对应的显示时间信息是传递给终端播放器的时间戳,两个显示时间信息是否相同决定了终端播放器中所播放的直播的音频和视频是否同步,因此在获取到直播数据流的音频帧数据和视频帧数据后,可根据音频帧数据和视频帧数据各自对应的显示时间信息,直接计算同步误差或者将显示时间信息进行可视化展示,以便根据展示结果确定同步误差,由此实现了量化展示直播数据流中音频和视频的同步误差的目的。上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。附图说明附图用于更好地理解本方案,不构成对本申请的限定。其中:图1a是根据本申请第一实施例的音视频同步误差的确定方法的流程示意图;图1b是根据本申请第一实施例的音频帧数据对应的显示时间信息和视频帧数据对应的显示时间信息进行对比化展示的效果图;图2a是根据本申请第二实施例的音视频同步误差的确定方法的流程示意图;图2b是根据本申请第二实施例的直播过程的示意图;图3是根据本申请第三实施例的音视频同步误差的确定装置确定同步误差的过程图;图4是根据本申请第四实施例的音视频同步误差的确定装置的结构示意图;图5是用来实现本申请实施例的音视频同步误差的确定方法的电子设备的框图。具体实施方式以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1a是根据本申请第一实施例的音视频同步误差的确定的方法的流程示意图,本实施例可适用于在直播过程中,检测直播数据流中音频和视频的同步误差的情况。该方法可由一种音视频同步误差的确定装置来执行,该装置采用软件和/或硬件的方式实现,优选是配置于电子设备中,例如服务器。参见图1a,音视频同步误差的确定的方法具体如下:S101、获取直播流地址。S102、根据所述直播流地址从流媒体服务器获取直播数据流的音频帧数据和视频帧数据。其中,流媒体服务器用于存储直播流数据;直播流地址用于确定直播流数据在流媒体服务器中的存储位置。由于直播过程中主播的声音与动作出现不同步的原因是:直播数据流的音频帧和视频帧在播放时,其时间轴发生同步误差。因此要量化直播时音频和视频之间的同步误差,必须要获取直播数据流的音频帧数据和视频帧数据。可选的,先获取直播流地址,进而根据直播流地址从流媒体服务器获取直播数据流的音频帧数据和视频帧数据,其中,直播流地址可以是检测人员手动输入的。本申请实施例中,在根据获取的直播数据流的音频帧数据和视频帧数据计算同步误差时,可以通过机器自动确定同步误差(参见S103),或者,进行展示后由人工确定误差(参见S104)。S103、根据所述音频帧数据对应的显示时间信息和所述视频帧数据对应的显示时间信息,确定所述直播数据流中音频与视频的同步误差。本申请实施例中,直播流的数据结构中包括时间戳,其中,DTS(DecodingTimeStamp)解码时间戳表示压缩帧的解码时间,PTS(PresentationTimeStamp)显示时间戳表示压缩帧解码后得到的原始帧的显示时间。音频中DTS和PTS是相同的,视频中由于B帧需要双向预测,依赖于前后的帧,因此含B帧的视频解码顺序和显示顺序不同,即DTS和PTS不同,不含B帧的视频,DTS和PTS是相同的。时间基time_base是时间戳的单位,如果一个视频帧DTS是40,PTS是160,其time_base是1/1000秒,则此视频帧的解码时刻是40ms,显示时刻是160ms。本装置中可使用ffprobe进行帧数据解析,其中PKT_PTS为帧的PTS时间,显示时间信息(即PKT_PTS_TIME)为帧通过时间基计算出来的显示时间,即传递给终端播放器的时间戳,由此可知,要确定终端播放器中所播放的直播的音频和视频是否同步,只需判断音频帧数据对应的PKT_PTS_TIME和视频帧数据对应的PKT_PTS_TIME是否相同。也即可根据音频帧数据对应的PKT_PTS_TIME和视频帧数据对应的PKT_PTS_TI本文档来自技高网...

【技术保护点】
1.一种音视频同步误差的确定方法,包括:/n获取直播流地址;/n根据所述直播流地址从流媒体服务器获取直播数据流的音频帧数据和视频帧数据;/n根据所述音频帧数据对应的显示时间信息和所述视频帧数据对应的显示时间信息,确定所述直播数据流中音频与视频的同步误差;或者,将所述音频帧数据对应的显示时间信息和所述视频帧数据对应的显示时间信息进行可视化展示,以根据展示信息确定所述直播数据流中音频与视频的同步误差。/n

【技术特征摘要】
1.一种音视频同步误差的确定方法,包括:
获取直播流地址;
根据所述直播流地址从流媒体服务器获取直播数据流的音频帧数据和视频帧数据;
根据所述音频帧数据对应的显示时间信息和所述视频帧数据对应的显示时间信息,确定所述直播数据流中音频与视频的同步误差;或者,将所述音频帧数据对应的显示时间信息和所述视频帧数据对应的显示时间信息进行可视化展示,以根据展示信息确定所述直播数据流中音频与视频的同步误差。


2.根据权利要求1所述的方法,其中,根据所述音频帧数据对应的显示时间信息和所述视频帧数据对应的显示时间信息,确定所述直播数据流中音频与视频的同步误差,包括:
根据所述音频帧数据和所述视频帧数据的到达顺序,对所述音频帧数据和所述视频帧数据进行配对,获得至少一个音视频帧对;
对于各音视频帧对,确定所述音视频帧对包含的音频帧数据对应的显示时间信息与视频帧数据对应的显示时间信息之间的差值,根据所述差值确定所述直播数据流中音频与视频的同步误差。


3.根据权利要求1所述的方法,其中,将所述音频帧数据对应的显示时间信息和所述视频帧数据对应的显示时间信息进行可视化展示,包括:
根据所述音频帧数据和所述视频帧数据的到达顺序,对所述音频帧数据和所述视频帧数据进行配对,获得至少一个音视频帧对;
对于各音视频帧对,将所述音视频帧对包含的音频帧数据对应的显示时间信息和视频帧数据对应的显示时间信息进行对比化展示。


4.根据权利要求3所述的方法,其中,获取直播流地址,根据所述直播流地址从流媒体服务器获取直播数据流的音频帧数据和视频帧数据,包括:
通过UI交互模块获取用户输入的直播流地址;
通过WebSocketServer模块,将所述直播流地址发送至采集任务模块;
通过所述采集任务模块基于所述直播流地址,从流媒体服务器获取直播数据流的音频帧数据和视频帧数据;和
通过UI交互模块,将各所述音视频帧对包含的音频帧数据对应的显示时间信息和视频帧数据对应的显示时间信息,进行对比化展示。


5.根据权利要求2或3所述的方法,其中,根据所述音频帧数据和所述视频帧数据的到达顺序,对所述音频帧数据和所述视频帧数据进行配对,获得至少一个音视频帧对,包括:
对于接收到的所述流媒体服务器发送的当前帧数据,若所述当前帧数据为音频帧数据,则将该音频帧数据与第一缓存单元缓存的视频帧数据进行配对;若所述当前帧数据为视频帧数据,则将该视频帧数据与第二缓存单元缓存的音频帧数据进行配对;
其中,所述第一缓存单元用于缓存最近到达的视频帧数据,所述第二缓存单元用于缓存最近到达的音频帧数据。


6.根据权利要求1-4中任一项所述的方法,其中,所述直播流地址为推流地址;所述直播数据流为推流端向所述流媒体服务器推送的直播数据流。


7.根据权利要求6所述的方法,其中,所述方法还包括:
若确定所述直播数据流中音频与视频的同步误差不为零,则确定所述同步误差的引入阶段为推流阶段。


8.根据权利要求1-4中任一项所述的方法,其中,所述直播流地址为拉流地址;所述直播数据流为拉流端从所述流媒体服务器拉取的直播数据流。


9.根据权利要求8所述的方法,其中,所述方法还包括:
若确定所述直播数据流中音频与视频的同步误差不为零,...

【专利技术属性】
技术研发人员:王伟刘一卓
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

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

1