多媒体数据播放方法及装置与流程

文档序号:13299635阅读:324来源:国知局
多媒体数据播放方法及装置与流程

本发明涉及多媒体通信技术领域,尤其涉及一种多媒体数据播放方法及装置。



背景技术:

观看多媒体节目,例如:电视节目,对于大多数用户而言,都已成为日常生活不可或缺的一部分,通常情况下,用户在观看多媒体节目之前,都需要选择某一播放器用于播放该多媒体节目。

多媒体节目的数据通常包括音频数据和视频数据,现有技术中,为了增加观看的效果,多数播放器在播放多媒体节目时,均采用音频数据和视频数据同步机制进行音频数据和视频数据的同步播放,以便人们同时获得听觉上和视觉上的感触,从而提高用户的体验感。但是,在采用音频数据和视频数据同步机制播放多媒体节目之前,需要先计算出准确的音频数据和视频数据的播放点,使得视频数据的播放点按照音频数据的播放点进行播放,从而实现音频数据与视频数据的同步播放。然而,音频数据和视频数据的播放点是通过音频数据和视频数据各自的rtp(real-timetransportprotocol,实时传输协议)包对应的rtcp(real-timetransportcontrolprotocol,实时传输控制协议)sr(senderreport,发送端报告)中的参数计算得到的,因此,若任一rtcpsr中的参数记录错误,则导致音频数据和视频数据的各自的播放点计算不准确,从而使得多媒体节目播放出现卡顿或快进的现象。

然而,现有技术中,多媒体数据播放的流畅性不高。



技术实现要素:

本发明提供一种多媒体数据播放方法及装置,以提高多媒体数据播放的流畅性。

本发明提供一种多媒体数据播放方法,包括:

获取第一音频数据的第一实时传输控制协议rtcp发送端报告sr,所述第一rtcpsr中包含第一网络时间协议ntp时间和第一实时传输协议rtp时间,所述第一rtcpsr对应第一系统时间;

获取第二音频数据的第二rtcpsr,所述第二rtcpsr中包含第二ntp时间和第二rtp时间,所述第二rtcpsr对应第二系统时间,其中,所述第一音频数据是所述第二音频数据之前的数据;

获取第一视频数据的第三rtcpsr,所述第三rtcpsr中包含第三ntp时间和第三rtp时间,所述第三rtcpsr对应第三系统时间;

获取第二视频数据的第四rtcpsr,所述第四rtcpsr中包含第四ntp时间和第四rtp时间,所述第四rtcpsr对应第四系统时间,其中,所述第一视频数据是所述第二视频数据之前的数据;

根据所述第一系统时间、所述第二系统时间、所述第一ntp时间、所述第二ntp时间、所述第一rtp时间和所述第二rtp时间确定所述第二rtp时间准确性;

根据所述第三系统时间、所述第四系统时间、所述第三ntp时间、所述第四ntp时间,所述第三rtp时间和所述第四rtp时间确定所述第四rtp时间准确性;

根据所述第二rtp时间的准确性和所述第四rtp时间的准确性,确定所述第二音频数据的播放点和所述第二视频数据的播放点。

在本发明一实施例中,所述根据所述第二rtp时间的准确性和所述第四rtp时间的准确性,确定所述第二音频数据的播放点和所述第二视频数据的播放点,包括:

若所述第二rtp时间准确,则根据所述第二rtp时间、初始音频rtp时间和音频采样率,确定所述第二音频数据的播放点;

若所述第四rtp时间准确,则根据所述第四rtp时间、初始视频rtp时间和视频采样率,确定所述第二视频数据的播放点。

在本发明一实施例中,所述根据所述第二rtp时间、初始音频rtp时间和音频采样率,确定所述第二音频数据的播放点,包括:

确定所述第二rtp时间与所述初始音频rtp时间的差值除以所述音频采样率,得到的时间点为所述第二音频数据的播放点;

确定所述第四rtp时间与所述初始视频rtp时间的差值除以所述视频采样率,得到的时间点为所述第二视频数据的播放点。

在本发明一实施例中,所述根据所述第二rtp时间的准确性和所述第四rtp时间的准确性,确定所述第二音频数据的播放点和所述第二视频数据的播放点,包括:

若所述第二rtp时间不准确,或者所述第四rtp时间不准确;

则根据所述第二视频数据之前的帧率,播放所述第二视频数据。

在本发明一实施例中,所述根据所述第一系统时间、所述第二系统时间、所述第一ntp时间、所述第二ntp时间、所述第一rtp时间和所述第二rtp时间确定所述第二rtp时间准确性,包括:

确定第一差值和第二差值的差值绝对值是否小于第一预设阈值,所述第一差值为所述第二系统时间与所述第一系统时间的差值,所述第二差值为所述第二ntp时间和所述第一ntp时间的差值;

若所述第一差值和所述第二差值的差值绝对值小于第一预设阈值,则确定所述第二差值与第三差值的差值绝对值是否小于第二预设阈值,其中,所述第三差值为所述第二rtp时间除以音频采样率,与所述第一rtp时间除以音频采样率的差值;

若所述第二差值与所述第三差值的差值绝对值小于第二预设阈值,则确定所述第二rtp时间准确。

在本发明一实施例中,所述根据所述第三系统时间、所述第四系统时间、所述第三ntp时间、所述第四ntp时间,所述第三rtp时间和所述第四rtp时间确定所述第四rtp时间准确性,包括:

确定第四差值和第五差值的差值绝对值是否小于第三预设阈值,所述第四差值为所述第四系统时间与第三系统时间差值,所述第五差值为所述第四ntp时间和所述第三ntp时间的差值;

若所述第四差值和所述第五差值的差值绝对值小于第三预设阈值,则确定所述第五差值与第六差值的差值绝对值是否小于第四预设阈值,其中,所述第五差值为所述第四rtp时间除以视频采样率,与所述第三rtp时间除以视频采样率的差值;

若所述第四差值与所述第五差值的差值绝对值小于第四预设阈值,则确定所述第四rtp时间准确。

本发明还提供一种多媒体数据播放装置,包括:

第一获取模块,用于获取第一音频数据的第一rtcpsr,所述第一rtcpsr中包含第一ntp时间和第一rtp时间,所述第一rtcpsr对应第一系统时间;

第二获取模块,用于获取第二音频数据的第二rtcpsr,所述第二rtcpsr中包含第二ntp时间和第二rtp时间,所述第二rtcpsr对应第二系统时间,其中,所述第一音频数据是所述第二音频数据之前的数据;

第三获取模块,用于获取第一视频数据的第三rtcpsr,所述第三rtcpsr中包含第三ntp时间和第三rtp时间,所述第三rtcpsr对应第三系统时间;

第四获取模块,用于获取第二视频数据的第四rtcpsr,所述第四rtcpsr中包含第四ntp时间和第四rtp时间,所述第四rtcpsr对应第四系统时间,其中,所述第一视频数据是所述第二视频数据之前的数据;

第一处理模块,用于根据所述第一系统时间、所述第二系统时间、所述第一ntp时间、所述第二ntp时间、所述第一rtp时间和所述第二rtp时间确定所述第二rtp时间准确性;

第二处理模块,用于根据所述第三系统时间、所述第四系统时间、所述第三ntp时间、所述第四ntp时间,所述第三rtp时间和所述第四rtp时间确定所述第四rtp时间准确性;

第三处理模块,用于根据所述第二rtp时间的准确性和所述第四rtp时间的准确性,确定所述第二音频数据的播放点和所述第二视频数据的播放点。

在本发明一实施例中,所述第三处理模块具体用于若所述第二rtp时间准确,则根据所述第二rtp时间、初始音频rtp时间和音频采样率,确定所述第二音频数据的播放点;若所述第四rtp时间准确,则根据所述第四rtp时间、初始视频rtp时间和视频采样率,确定所述第二视频数据的播放点。

在本发明一实施例中,所述第三处理模块具体用于确定所述第二rtp时间与所述初始音频rtp时间的差值除以所述音频采样率,得到的时间点为所述第二音频数据的播放点;确定所述第四rtp时间与所述初始视频rtp时间的差值除以所述视频采样率,得到的时间点为所述第二视频数据的播放点。

在本发明一实施例中,所述第三处理模块具体用于若所述第二rtp时间不准确,或者所述第四rtp时间不准确;则根据所述第二视频数据之前的帧率,播放所述第二视频数据。

在本发明一实施例中,所述第一处理模块具体用于确定第一差值和第二差值的差值绝对值是否小于第一预设阈值,所述第一差值为所述第二系统时间与所述第一系统时间的差值,所述第二差值为所述第二ntp时间和所述第一ntp时间的差值;若所述第一差值和所述第二差值的差值绝对值小于第一预设阈值,则确定所述第二差值与第三差值的差值绝对值是否小于第二预设阈值,其中,所述第三差值为所述第二rtp时间除以音频采样率,与所述第一rtp时间除以音频采样率的差值;若所述第二差值与所述第三差值的差值绝对值小于第二预设阈值,则确定所述第二rtp时间准确。

在本发明一实施例中,所述第二处理模块具体用于确定第四差值和第五差值的差值绝对值是否小于第三预设阈值,所述第四差值为所述第四系统时间与第三系统时间差值,所述第五差值为所述第四ntp时间和所述第三ntp时间的差值;若所述第四差值和所述第五差值的差值绝对值小于第三预设阈值,则确定所述第五差值与第六差值的差值绝对值是否小于第四预设阈值,其中,所述第五差值为所述第四rtp时间除以视频采样率,与所述第三rtp时间除以视频采样率的差值;若所述第四差值与所述第五差值的差值绝对值小于第四预设阈值,则确定所述第四rtp时间准确。

在本实施例中,先根据第一系统时间、第二系统时间、第一ntp时间、第二ntp时间、第一rtp时间和第二rtp时间确定第二rtp时间准确性;根据第三系统时间、第四系统时间、第三ntp时间、第四ntp时间,第三rtp时间和第四rtp时间确定第四rtp时间准确性;之后,再根据第二rtp时间和第四rtp时间的准确性确定第二音频数据和第二视频数据的播放点,若第二rtp时间和第四rtp时间准确,则分别计算出第二音频数据的播放点和第二视频数据的播放点,从而使得第二视频数据可以按照计算出的播放点进行均匀播放,有效地提高了第二视频数据播放的流畅性,同时,因为第二视频数据的播放点与第二音频数据的播放点匹配,也可以实现第二音频数据与第二视频数据的同步播放。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明多媒体数据播放方法实施例一的流程图;

图2为本发明多媒体数据播放方法实施例二的流程图;

图3为本发明多媒体数据播放方法实施例三的流程图;

图4为本发明多媒体数据播放装置实施例一的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。

图1为本发明多媒体数据播放方法实施例一的流程图,该多媒体数据播放方法可以由多媒体数据播放装置执行,请参见图1所示,该多媒体数据播放方法可以包括:

s101、获取第一音频数据的第一实时传输控制协议rtcp发送端报告sr,第一rtcpsr中包含第一网络时间协议ntp时间和第一实时传输协议rtp时间,第一rtcpsr对应第一系统时间。

其中,第一音频数据可以是初始播放的音频数据,也可以不是初始播放的音频数据,只要是第二音频数据之前的音频数据即可,在此,本发明不做进一步地限制。

在实际应用过程中,发送端每发送一个数据包,都会周期性的发送该数据包对应的rtcpsr,rtcpsr中包括ntp时间和rtp时间,其中,ntp时间是发送端发送rtcpsr的系统时间,rtp时间可以看作是该数据包的采集时间,rtcpsr对应的系统时间是接收端接收到rtcpsr的接收时间。本实施例中的第一ntp时间是发送端发送第一音频数据对应的rtcpsr的系统时间,第一rtp时间是第一音频数据的采集时间,第一系统时间是接收端接收第一音频数据对应的rtcpsr的接收时间。可选的,发送端可以是服务器,也可以是终端,接收端可以为具有播放音频数据和视频数据功能的终端。

s102、获取第二音频数据的第二rtcpsr,第二rtcpsr中包含第二ntp时间和第二rtp时间,第二rtcpsr对应第二系统时间,其中,第一音频数据是第二音频数据之前的数据。

其中,第二音频数据可以是第二个播放的音频数据,也可以是第三个播放的音频数据,其主要是指代当前待播放的视频数据,且第二音频数据在第一音频数据之后播放。示例的,若此时已经接收到四个音频数据,且即将播放播放第四个音频数据,那么第二音频数据即为即将播放的第四个音频数据,第一音频数据可以是第一个播放的音频数据,也可以是第二个播放的音频数据,当然,也可以是第三个播放的音频数据,在此,对于第一音频数据具体指代哪个音频数据,本发明不做进一步地限制。

本实施例中的第二ntp时间是发送端发送第二音频数据对应的rtcpsr的系统时间,第二rtp时间是第二音频数据的采集时间,第二系统时间是接收端接收第二音频数据对应的rtcpsr的接收时间。

s103、获取第一视频数据的第三rtcpsr,第三rtcpsr中包含第三ntp时间和第三rtp时间,第三rtcpsr对应第三系统时间。

其中,第一视频数据可以是初始播放的视频数据,也可以不是初始播放的视频数据,只要是第二视频数据之前的视频数据即可,在此,本发明不做进一步地限制。

本实施例中的第一ntp时间是发送端发送第一视频数据对应的rtcpsr的系统时间,第一rtp时间是第一视频数据的采集时间,第一系统时间是接收端接收第一视频数据对应的rtcpsr的接收时间。

s104、获取第二视频数据的第四rtcpsr,第四rtcpsr中包含第四ntp时间和第四rtp时间,第四rtcpsr对应第四系统时间,其中,第一视频数据是第二视频数据之前的数据。

其中,第二视频数据可以是第二个播放的视频数据,也可以是第三个播放的视频数据,其主要是指代当前待播放的视频数据,且第二视频数据在第一视频数据之后播放。示例的,若此时已经接收到四个视频数据,且即将播放第四个视频数据,那么第二视频数据即为即将播放的第四个视频数据,第一视频数据可以是第一个播放的视频数据,也可以是第二个播放的视频数据,当然,也可以是第三个播放的视频数据,在此,对于第一视频数据具体指代哪个视频数据,本发明不做进一步地限制。

本实施例中的第二ntp时间是发送端发送第二视频数据对应的rtcpsr的系统时间,第二rtp时间是第二视频数据的采集时间,第二系统时间是接收端接收第二视频数据对应的rtcpsr的接收时间。

需要说明的是,在本实施例中,可以先执行步骤s101和s102,即先获取第一音频数据和第二音频数据,再执行步骤s103和s104,也可以先执行步骤s103和s104,即先获取第一视频数据和第二视频数据,再执行步骤s101和s102,在此,对于先执行步骤s101和s102,还是先执行步骤s103和s104,本发明不做进一步地限制。

s105、根据第一系统时间、第二系统时间、第一ntp时间、第二ntp时间、第一rtp时间和第二rtp时间确定第二rtp时间准确性。

其中,第一系统时间和第二系统时间分别为接收端接收到第一rtcpsr和第二rtcpsr的接收时间,该第一系统时间和第二系统时间是一个准确的时间点,可以根据该第一系统时间和第二系统时间的准确性确定第一ntp时间和第二ntp时间的准确性,进而再根据第一ntp时间和第二ntp时间的准确性最终确定第一rtp时间和第二rtp时间的准确性。

s106、根据第三系统时间、第四系统时间、第三ntp时间、第四ntp时间,第三rtp时间和第四rtp时间确定第四rtp时间准确性。

其中,第三系统时间和第四系统时间分别为接收端接收到第三rtcpsr和第四rtcpsr的接收时间,该第三系统时间和第四系统时间是一个准确的时间点,可以根据该第三系统时间和第四系统时间的准确性确定第三ntp时间和第四ntp时间的准确性,进而再根据第三ntp时间和第四ntp时间的准确性最终确定第三rtp时间和第四rtp时间的准确性。

需要说明的是,在本实施例中,可以先执行步骤s105,即先确定第二rtp时间的准确性,再执行步骤s106,也可以先执行步骤s106,即先确定第四rtp时间的准确性,再执行步骤s105,在此,对于先执行步骤s105,还是先执行步骤s106,本发明不做进一步地限制。

s107、根据第二rtp时间的准确性和第四rtp时间的准确性,确定第二音频数据的播放点和第二视频数据的播放点。

示例的,若第二rtp时间准确,则可以根据第二rtp时间确定第二音频数据的播放点,同样的,若第四rtp时间准确,则可以根据第四rtp时间确定第二视频数据的播放点,这样计算得到的第二音频数据与第二视频数据的播放点是一致的,即第二音频数据的播放点与第二视频数据的播放点匹配,此时可以按照第二音频数据与第二视频数据的播放点进行同步播放,有效地提高了第二视频数据播放的流畅性,同时,也可以实现第二音频数据与第二视频数据的同步播放。

在本实施例中,先根据第一系统时间、第二系统时间、第一ntp时间、第二ntp时间、第一rtp时间和第二rtp时间确定第二rtp时间准确性;根据第三系统时间、第四系统时间、第三ntp时间、第四ntp时间,第三rtp时间和第四rtp时间确定第四rtp时间准确性;之后,再根据第二rtp时间和第四rtp时间的准确性确定第二音频数据和第二视频数据的播放点,若第二rtp时间和第四rtp时间准确,则分别计算出第二音频数据的播放点和第二视频数据的播放点,从而使得第二视频数据可以按照计算出的播放点进行均匀播放,有效地提高了第二视频数据播放的流畅性,同时,因为第二视频数据的播放点与第二音频数据的播放点匹配,也可以实现第二音频数据与第二视频数据的同步播放。

基于图1对应的实施例,在图1对应的实施例的基础上,进一步地,本发明实施例提供了另一种多媒体数据播放方法,请参见图2所示,图2为本发明多媒体数据播放方法实施例二的流程示意图。

可选的,在本实施例中,根据第二rtp时间的准确性和第四rtp时间的准确性,确定第二音频数据的播放点和第二视频数据的播放点,包括:

s108、若第二rtp时间不准确,或者第四rtp时间不准确;则根据第二视频数据之前的帧率,播放第二视频数据。

示例的,结合上述实施例一的记载,可以根据第一系统时间,第二系统时间,第一ntp时间,第二ntp时间,第一rtp时间与第二rtp时间确定第二rtp时间是否准确。在确定第二rtp时间是否准确的过程中,先根据第一系统时间和第二系统时间确定第一ntp时间和第二ntp是否准确,因为第一系统时间与第二系统时间准确,所以可以根据第一系统时间和第二系统时间确定第一ntp时间和第二ntp时间是否准确,若确定第二rtp时间不准确,则无需再进一步确定第四rtp时间是否准确,可以直接统计第二视频数据之前的预设时间段内的视频数据的播放帧率,并按照该播放帧率对第二视频数据进行播放,从而提高第二视频数据播放的流畅性。或者,若确定第四rtp时间不准确,则无需再进一步确定第二rtp时间是否准确,可以直接统计第二视频数据之前的预设时间段内的视频数据的播放帧率,并按照该播放帧率对第二视频数据进行播放,从而提高第二视频数据播放的流畅性。其中,预设时间段可以为10s,当然,也可以为15s,具体可以根据实际需要进行设置,在此,对于预设时间段的具体值,本发明不做进一步地限制。

需要说明的是,在上述确定第二rtp时间是否准确的过程中,若第一ntp时间和第二ntp时间不准确,此时,可以不用再根据第一ntp时间和第二ntp时间确定第一rtp时间和第二rtp时间的准确性,即可得到第一rtp时间和第二rtp时间也不准确。同样的,第四rtp时间的准确性的确定过程与第二rtp时间的确定过程类似,在此,本发明不再赘述。

在本实施例中,若第二rtp时间不准确,或者第四rtp时间不准确,则计算得到的第二音频数据的播放点或第二视频数据的播放点就不准确,即第二音频数据的播放点与第二视频数据的播放点不匹配,此时如果还是按照上述实施例一中的第二音频数据与第二视频数据的播放点进行同步播放,会导致第二视频数据在播放时出现卡顿或者快进的现象,因此,为了使得第二视频数据可以均匀地播放,可以统计第二视频数据之前的预设时间段内的视频数据的播放帧率,并按照该播放帧率对第二视频数据进行播放,从而提高第二视频数据播放的流畅性。

基于图1对应的实施例,在图1对应的实施例的基础上,进一步地,本发明实施例提供了另一种多媒体数据播放方法,请参见图3所示,图3为本发明多媒体数据播放方法实施例三的流程示意图。

可选的,在本实施例中,根据第二rtp时间的准确性和第四rtp时间的准确性,确定第二音频数据的播放点和第二视频数据的播放点,包括:

若第二rtp时间准确,则根据第二rtp时间、初始音频rtp时间和音频采样率,确定第二音频数据的播放点;若第四rtp时间准确,则根据第四rtp时间、初始视频rtp时间和音频采样率,确定第二音频数据的播放点。

进一步地,根据第二rtp时间、初始音频rtp时间和音频采样率,确定第二音频数据的播放点,具体可以包括:

确定第二rtp时间与初始音频rtp时间的差值除以音频采样率,得到的时间点为第二音频数据的播放点;确定第四rtp时间与初始视频rtp时间的差值除以视频采样率,得到的时间点为第二音频数据的播放点。

其中,初始音频是第一个音频数据,初始视频是第一个视频数据。通常情况下,音频采样率为8000,视频采样率为90000。

示例的,假设接收端接收到四个音频数据,这四个音频数据对应的rtp时间分别为160,320,480,640,则按照上述音频播放点的计算方法,可以得到这四个音频数据的播放点依次为0ms,20ms,40ms,60ms,同样的,假设接收端接收到四个视频数据,这四个视频数据对应的rtp时间分别为0,3600,7200,10800,则按照上述视频播放点的计算方法,可以得到这四个视频数据的播放点依次为0ms,40ms,80ms,120ms,在计算得到音频数据的播放点和视频数据的播放点之后,因为音频数据的播放点和视频数据的播放点不匹配,若按照音频数据和视频数据的播放点进行同步播放时,则视频数据会出现卡顿的现象,因此,在这种情况下,当计算得到的音频数据和视频数据的播放点不匹配时,可以统计待播放的视频数据之前的预设时间段内的视频数据的播放帧率,并按照该播放帧率对待播放的视频数据进行播放,从而提高该待播放视频数据播放的流畅性。

上述计算得到的音频数据与视频数据的播放点不匹配,其原因在于:音频数据对应的rtcpsr中的rtp时间记录错误,或者视频数据对应的rtcpsr中的rtp时间记录错误,从而导致计算得出的音频数据的播放点不准确或者视频数据的播放点不准确,即音频数据的播放点与视频数据的播放点不匹配,进而导致视频数据和音频数据在同步播放时出现卡顿或快进的现象,即视频数据的播放不流畅。

那么,如何确定音频数据对应的rtcpsr中的rtp时间是否准确呢?在本实施例中,可选的,根据第一系统时间、第二系统时间、第一ntp时间、第二ntp时间、第一rtp时间和第二rtp时间确定第二rtp时间准确性,包括:

s1051、确定第一差值和第二差值的差值绝对值是否小于第一预设阈值,第一差值为第二系统时间与第一系统时间的差值,第二差值为第二ntp时间和第一ntp时间的差值。

s1052、若第一差值和第二差值的差值绝对值小于第一预设阈值,则确定第二差值与第三差值的差值绝对值是否小于第二预设阈值,其中,第三差值为第二rtp时间除以音频采样率,与第一rtp时间除以音频采样率的差值。

s1053、若第二差值与第三差值的差值绝对值小于第二预设阈值,则确定第二rtp时间准确。

其中,第一预设阈值和第二预设阈值可以相同,也可以不相同,具体可以根据实际需要进行设置,在本实施例中,第一预设阈值和第二预设阈值可以相同,均设置为10ms。

在实际应用过程中,先根据第一差值和第二差值的差值绝对值是否小于第一预设阈值10ms,从而确定第一ntp时间和第二ntp时间是否准确,若第一差值和第二差值的差值绝对值小于10ms,则说明第一ntp时间和第二ntp时间准确,接下来确定第二差值与第三差值的差值绝对值是否小于第二预设阈值10ms,若确定第二差值与第三差值的差值绝对值小于10ms,则确定第二rtp时间准确,说明第二音频数据对应的第二rtcpsr记录准确。若确定第二差值与第三差值的差值绝对值大于10ms,则确定第二rtp时间不准确,说明第二音频数据对应的第二rtcpsr记录不准确。

在上述确定第二rtp时间是否准确的过程中,若第一差值和第二差值的差值绝对值大于10ms,则说明第一ntp时间和第二ntp时间不准确,且因为第一rtp时间和第二rtp时间的准确性又是根据第一ntp时间和第二ntp时间的差值确定的,因此,当第一ntp时间和第二ntp时间不准确时,则直接得出第一rtp时间和第二rtp时间也不准确,而无需再进一步根据第二差值与第三差值的差值绝对值确定第二rtp时间是否准确。

在本实施例中,可以使用以下伪代码判断第二音频数据对应的第二rtcpsr是否记录准确:

在本实施例中,可选的,根据第三系统时间、第四系统时间、第三ntp时间、第四ntp时间,第三rtp时间和第四rtp时间确定第四rtp时间准确性,包括:

s1061、确定第四差值和第五差值的差值绝对值是否小于第三预设阈值,第四差值为第四系统时间与第三系统时间差值,第五差值为第四ntp时间和第三ntp时间的差值;

s1062、若第四差值和第五差值的差值绝对值小于第三预设阈值,则确定第五差值与第六差值的差值绝对值是否小于第四预设阈值,其中,第五差值为第四rtp时间除以视频采样率,与第三rtp时间除以视频采样率的差值;

s1063、若第四差值与第五差值的差值绝对值小于第四预设阈值,则确定第四rtp时间准确。

其中,第三预设阈值和第四预设阈值可以相同,也可以不相同,具体可以根据实际需要进行设置,在本实施例中,第三预设阈值和第四预设阈值可以相同,均设置为10ms。

在实际应用过程中,先根据第四差值和第五差值的差值绝对值是否小于第三预设阈值10ms,从而确定第三ntp时间和第四ntp时间是否准确,若第四差值和第五差值的差值绝对值小于10ms,则说明第三ntp时间和第四ntp时间准确,接下来确定第五差值与第六差值的差值绝对值是否小于第四预设阈值10ms,若确定第五差值与第六差值的差值绝对值小于10ms,则确定第四rtp时间准确,说明第二视频数据对应的第四rtcpsr记录准确。若确定第五差值与第六差值的差值绝对值大于10ms,则确定第四rtp时间不准确,说明第二视频数据对应的第四rtcpsr记录不准确。

在上述确定第四rtp时间是否准确的过程中,若第四差值和第五差值的差值绝对值大于10ms,则说明第三ntp时间和第四ntp时间不准确,且因为第三rtp时间和第四rtp时间的准确性又是根据第三ntp时间和第四ntp时间的差值确定的,因此,当第三ntp时间和第四ntp时间不准确时,则直接得出第三rtp时间和第四rtp时间也不准确,而无需再进一步根据第五差值与第六差值的差值绝对值确定第四rtp时间是否准确。

在本实施例中,可以使用以下伪代码判断第二视频数据对应的第四rtcpsr是否记录准确:

在本实施例中,在分别获取第一音频数据对应的第一rtcpsr,第二音频数据对应的第二rtcpsr,第一视频数据对应的第三rtcpsr及第二视频数据对应的第四rtcpsr之后,可以根据第一差值与第二差值之间的差值绝对值确定第一ntp时间与第二ntp时间是否准确,若确定第一ntp时间与第二ntp时间准确,则进一步根据第二差值与第三差值的之间的差值绝对值确定第一rtp时间与第二rtp时间是否准确,若确定第一rtp时间与第二rtp时间准确,则根据第二rtp时间与初始音频的rtp时间的差值除以音频采样率就可以计算得到第二音频数据的播放点,同样的,第二视频数据的播放点的计算过程与第二音频数据的播放点的计算过程类似,在此,不做赘述。这样,在确定第二rtp时间与第四rtp时间准确的情况下,计算得到的第二音频数据的播放点与第二视频数据的播放点是一致的,即第二音频数据的播放点与第二视频数据的播放点匹配,此时可以根据第二音频数据和第二视频数据的播放点进行同步播放,不仅可以提高第二视频数据播放的流畅性,而且也可以实现第二音频数据和第二视频数据的同步播放。值得注意的是,在确定第二rtp时间与第四rtp时间的过程中,只要确定第二ntp时间或者第四ntp时间中任一个ntp时间不准确,那么对应的第二rtp时间或者第四rtp时间就会不准确,而无需再进一步地根据第二ntp时间或者第四ntp时间确定第二rtp时间或者第四rtp时间是否准确,就可以直接统计第二视频数据之前的预设时间段内的视频数据的播放帧率,并按照该播放帧率对第二视频数据进行播放,从而提高第二视频数据播放的流畅性。

图4为本发明多媒体数据播放装置40实施例一的结构示意图,请参见图4所示,该多媒体数据播放装置40可以包括:

第一获取模块401,用于获取第一音频数据的第一rtcpsr,第一rtcpsr中包含第一ntp时间和第一rtp时间,第一rtcpsr对应第一系统时间。

第二获取模块402,用于获取第二音频数据的第二rtcpsr,第二rtcpsr中包含第二ntp时间和第二rtp时间,第二rtcpsr对应第二系统时间,其中,第一音频数据是第二音频数据之前的数据。

第三获取模块403,用于获取第一视频数据的第三rtcpsr,第三rtcpsr中包含第三ntp时间和第三rtp时间,第三rtcpsr对应第三系统时间。

第四获取模块404,用于获取第二视频数据的第四rtcpsr,第四rtcpsr中包含第四ntp时间和第四rtp时间,第四rtcpsr对应第四系统时间,其中,第一视频数据是第二视频数据之前的数据。

第一处理模块405,用于根据第一系统时间、第二系统时间、第一ntp时间、第二ntp时间、第一rtp时间和第二rtp时间确定第二rtp时间准确性。

第二处理模块406,用于根据第三系统时间、第四系统时间、第三ntp时间、第四ntp时间,第三rtp时间和第四rtp时间确定第四rtp时间准确性。

第三处理模块407,用于根据第二rtp时间的准确性和第四rtp时间的准确性,确定第二音频数据的播放点和第二视频数据的播放点。

本发明实施例所示的多媒体数据播放装置40,可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

可选的,第三处理模块407具体用于若第二rtp时间准确,则根据第二rtp时间、初始音频rtp时间和音频采样率,确定第二音频数据的播放点;若第四rtp时间准确,则根据第四rtp时间、初始视频rtp时间和视频采样率,确定第二视频数据的播放点。

可选的,第三处理模块407具体用于确定第二rtp时间与初始音频rtp时间的差值除以音频采样率,得到的时间点为第二音频数据的播放点;确定第四rtp时间与初始视频rtp时间的差值除以视频采样率,得到的时间点为第二视频数据的播放点。

可选的,第三处理模块407具体用于若第二rtp时间不准确,或者第四rtp时间不准确;则根据第二视频数据之前的帧率,播放第二视频数据。

可选的,第一处理模块405具体用于确定第一差值和第二差值的差值绝对值是否小于第一预设阈值,第一差值为第二系统时间与第一系统时间的差值,第二差值为第二ntp时间和第一ntp时间的差值;若第一差值和第二差值的差值绝对值小于第一预设阈值,则确定第二差值与第三差值的差值绝对值是否小于第二预设阈值,其中,第三差值为第二rtp时间除以音频采样率,与第一rtp时间除以音频采样率的差值;若第二差值与第三差值的差值绝对值小于第二预设阈值,则确定第二rtp时间准确。

可选的,第二处理模块406具体用于确定第四差值和第五差值的差值绝对值是否小于第三预设阈值,第四差值为第四系统时间与第三系统时间差值,第五差值为第四ntp时间和第三ntp时间的差值;若第四差值和第五差值的差值绝对值小于第三预设阈值,则确定第五差值与第六差值的差值绝对值是否小于第四预设阈值,其中,第五差值为第四rtp时间除以视频采样率,与第三rtp时间除以视频采样率的差值;若第四差值与第五差值的差值绝对值小于第四预设阈值,则确定第四rtp时间准确。

本发明实施例所示的多媒体数据播放装置40可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1