CN107995503A - 音视频播放方法和装置 - Google Patents

音视频播放方法和装置 Download PDF

Info

Publication number
CN107995503A
CN107995503A CN201711101446.3A CN201711101446A CN107995503A CN 107995503 A CN107995503 A CN 107995503A CN 201711101446 A CN201711101446 A CN 201711101446A CN 107995503 A CN107995503 A CN 107995503A
Authority
CN
China
Prior art keywords
time
synchronized
delay
receiving terminal
data
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.)
Granted
Application number
CN201711101446.3A
Other languages
English (en)
Other versions
CN107995503B (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.)
Xian Wanxiang Electronics Technology Co Ltd
Original Assignee
Xian Wanxiang Electronics 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 Xian Wanxiang Electronics Technology Co Ltd filed Critical Xian Wanxiang Electronics Technology Co Ltd
Priority to CN201711101446.3A priority Critical patent/CN107995503B/zh
Publication of CN107995503A publication Critical patent/CN107995503A/zh
Application granted granted Critical
Publication of CN107995503B publication Critical patent/CN107995503B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/2625Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for delaying content or additional data distribution, e.g. because of an extended sport event
    • 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/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • 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/4402Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display

Landscapes

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

Abstract

本发明公开了一种音视频播放方法和装置。其中,该方法包括:在待播放数据发送至接收端后,获取待播放数据的采集时间以及获取发送端至接收端的同步时延;根据接收端的当前时间、采集时间、同步时延分别确定待同步音频数据和待同步视频数据从采集时间至当前时间的当前延迟;比较当前延迟与预设播放延迟值的大小,确定是否播放待同步音频数据和/或待同步视频数据,其中,待播放数据包括待同步音频数据和待同步视频数据,同步时延包括发送端与接收端之间的时钟差和发送端至接收端的传播时延。本发明解决了现有技术中使用时标的方式实现对音频和视频的同步处理时过于复杂的技术问题。

Description

音视频播放方法和装置
技术领域
本发明涉及计算机互联网领域,具体而言,涉及一种音视频播放方法和装置。
背景技术
现有技术中在对音频和视频进行播放时,往往会存在音频和视频播放不同步的问题,因此需要对音频和视频进行同步控制,目前为了实现音频和视频的同步,往往会采用两种方式,第一种方式是同时采集音频和视频,并将同时采集得到的音频视频打包进行发送以保证音频和视频的同步性,另外一种方式是在音频和视频为分别采集分别发送的情况下,采用时标的方式对音频和视频采集、编码、发送、解码等过程中的多个环节进行同步处理,由于需要多次操作,操作复杂的同时耗费人力物力。
针对上述现有技术中使用时标的方式实现对音频和视频的同步处理时过于复杂的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种音视频播放方法和装置,以至少解决现有技术中使用时标的方式实现对音频和视频的同步处理时过于复杂的技术问题。
根据本发明实施例的一个方面,提供了一种音视频播放方法,包括:在待播放数据发送至接收端后,获取待播放数据的采集时间以及获取发送端至接收端的同步时延,其中,待播放数据包括待同步音频数据和待同步视频数据,同步时延包括发送端与接收端之间的时钟差和发送端至接收端的传播时延;根据接收端的当前时间、采集时间、同步时延分别确定待同步音频数据和待同步视频数据从采集时间至当前时间的当前延迟;比较当前延迟与预设播放延迟值的大小,确定是否播放待同步音频数据和/或待同步视频数据。
进一步的,采集时间包括待同步音频数据的第一采集时间和待同步视频数据的第二采集时间,当前延迟包括:待同步音频数据从采集时间至当前时间的第一当前延迟和待同步视频数据从采集时间至当前时间的第二当前延迟。
进一步的,获取发送端至接收端的同步时延,包括:从发送端向接收端发送一个同步包,其中,同步包包括发送端发送同步包的发送时间;计算发送时间和接收端接收同步包的接收时间的差值,得到同步时延。
进一步的,获取发送端至接收端的同步时延,包括:每隔第一预设时间间隔,从发送端向接收端发送一个同步包,其中,同步包包括发送端发送同步包的发送时间;每隔第二预设时间间隔,计算一次部分或所有同步包的发送时间和接收端接收到同步包的接收时间差值的均值,得到同步时延。
进一步的,根据接收端的当前时间、采集时间、同步时延分别确定待同步音频数据从采集时间至当前时间的第一当前延迟和待同步视频数据从采集时间至当前时间的第二当前延迟包括:A1=B-C-D1;A2=B-C-D2;其中,A1表示第一当前延迟,A2表示第二当前延迟,B表示接收端的当前时间,C表示同步时延,D1表示第一采集时间,D2表示第二采集时间。
进一步的,在待播放数据发送至接收端后,方法还包括:将待播放数据放置于播放缓存区中。
进一步的,比较第一当前延迟与预设播放延迟值的大小确定是否播放待同步音频数据之前,方法还包括:确定预设播放延迟值;其中,确定预设播放延迟值包括:根据历史待同步音频数据的采集时间、同步时延和历史待同步音频数据放置于播放缓存区中时的放置时刻计算历史待同步音频数据从采集至放置于播放缓存区的延迟的第一均值,以及根据历史待同步视频数据的采集时间、同步时延和历史待同步视频数据放置于播放缓存区中时的放置时刻计算历史待同步视频数据从采集至放置于播放缓存区的延迟的第二均值;将第一均值和第二均值中的较大值与预设容忍值的和确定为预设播放延迟值。
进一步的,在待播放数据发送至接收端之前,方法还包括:采集待播放数据并在待播放数据中添加采集时间;将添加了采集时间的待播放数据从发送端发送至接收端。
根据本发明实施例的另一方面,还提供了一种音视频播放装置,包括:获取模块,用于在待播放数据发送至接收端后,获取待播放数据的采集时间以及获取发送端至接收端的同步时延,其中,待播放数据包括待同步音频数据和待同步视频数据,同步时延包括发送端与接收端之间的时钟差和发送端至接收端的传播时延;第一确定模块,用于根据接收端的当前时间、采集时间、同步时延分别确定待同步音频数据和待同步视频数据从采集时间至当前时间的当前延迟;第二确定模块,用于比较当前延迟与预设播放延迟值的大小,确定是否播放待同步音频数据和/或待同步视频数据。
进一步的,获取模块包括:第一发送模块,用于从发送端向接收端发送一个同步包,其中,同步包包括发送端发送同步包的发送时间;第一计算模块,用于计算发送时间和接收端接收同步包的接收时间的差值,得到同步时延。
在本发明实施例中,通过在待播放数据发送至接收端后,获取待播放数据的采集时间以及获取发送端至接收端的同步时延,其中,待播放数据包括待同步音频数据和待同步视频数据,同步时延包括发送端与接收端之间的时钟差和发送端至接收端的传播时延;根据接收端的当前时间、采集时间、同步时延分别确定待同步音频数据和待同步视频数据从采集时间至当前时间的当前延迟;比较当前延迟与预设播放延迟值的大小确定是否播放待同步音频数据和/或待同步视频数据,达到了确定何时播放待同步音频数据以及何时播放待同步视频数据最终达到音视频同步的目的,本发明在对音频数据和视频数据进行同步处理时,只需要在接收端接收到音频数据和视频数据之后进行同步处理,从而实现了简单方便的实现待同步音频数据和待同步视频数据同步处理的技术效果,进而解决了现有技术中使用时标的方式实现对音频和视频的同步处理时过于复杂的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种音视频播放方法的示意图;
图2是根据本发明实施例的一种可选的音视频播放方法的示意图;
图3是根据本发明实施例的一种可选的音视频播放方法的示意图;
图4是根据本发明实施例的一种可选的音视频播放方法的示意图;
图5是根据本发明实施例的一种可选的音视频播放方法的示意图;
图6是根据本发明实施例的一种可选的音视频播放方法的示意图;以及
图7是根据本发明实施例的一种音视频播放装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种音视频播放方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的音视频播放方法,如图1所示,该方法包括如下步骤:
步骤S102,在待播放数据发送至接收端后,获取待播放数据的采集时间以及获取发送端至接收端的同步时延,其中,同步时延包括发送端与接收端之间的时钟差和发送端至接收端的传播时延。
需要说明的是,待播放数据包括待同步音频数据和待同步视频数据,采集时间包括待同步音频数据的第一采集时间和待同步视频数据的第二采集时间。
具体的,如图2和图3所示,本发明中对待同步音频数据和待同步视频数据是分别采集的,在采集时可以对采集时间进行记录,具体可以记录采集待同步音频数据的时间为第一采集时间,采集待同步视频数据的时间为第二采集时间,采集到待同步音频数据和待同步视频数据之后,可以将待同步音频数据和待同步视频数据分别进行编码、打包,分两路也就是分别将待同步音频数据打包形成的音频数据包和待同步视频数据打包形成的视频数据包由发送端传输给接收端,接收端接收到音频数据包和视频数据包后,可以对音频数据包和视频数据包分别进行拆包、解码,解码后的待同步音频数据和待同步视频数据进入等待同步处理以及待播放状态。发送端和接收端的同步时延可以是一个预设的固定值,也可以使用从发送端向接收端发送同步包的方式进行计算。
具体的,本发明中的待同步音频数据和待同步视频数据可以以帧为单位进行采集、编码、打包、传输、解码、播放等。
步骤S104,根据接收端的当前时间、采集时间、同步时延分别确定待同步音频数据和待同步视频数据从采集时间至当前时间的当前延迟,其中,当前延迟包括:待同步音频数据从采集时间至当前时间的第一当前延迟和待同步视频数据从采集时间至当前时间的第二当前延迟。
步骤S106,比较当前延迟与预设播放延迟值的大小,确定是否播放待同步音频数据和/或播放待同步视频数据。
具体的,预设播放延迟值可以是一个预设的固定值,也可以是根据历史的播放延迟值进行计算得到的结果,计算出第一当前延迟和第二当前延迟后,可以将第一当前延迟和第二当前延迟分别与预设播放延迟值进行比较,并且根据比较结果确定是否播放待同步音频数据和待同步视频数据。其中,可通过比较第一当前延迟与预设播放延迟值的大小确定是否播放待同步音频数据,以及比较第二当前延迟与预设播放延迟值的大小确定是否播放待同步视频数据。例如,当第一当前延迟大于等于预设播放延迟值时,可以播放待同步音频数据,当第二当前延迟大于等于预设播放延迟值时,可以播放待同步视频数据,通过第一当前延迟和第二当前延迟与预设播放延迟值的比较,实现待同步音频数据和待同步视频数据的同步。
在本发明实施例中,通过在待播放数据发送至接收端后,获取待播放数据的采集时间以及获取发送端至接收端的同步时延,其中,待播放数据包括待同步音频数据和待同步视频数据,同步时延包括发送端与接收端之间的时钟差和发送端至接收端的传播时延;根据接收端的当前时间、采集时间、同步时延分别确定待同步音频数据和待同步视频数据从采集时间至当前时间的当前延迟;比较当前延迟与预设播放延迟值的大小确定是否播放待同步音频数据和/或待同步视频数据,达到了确定何时播放待同步音频数据以及何时播放待同步视频数据最终达到音视频同步的目的,本发明在对音频数据和视频数据进行同步处理时,只需要在接收端接收到音频数据和视频数据之后进行同步处理,从而实现了简单方便的实现待同步音频数据和待同步视频数据同步处理的技术效果,进而解决了现有技术中使用时标的方式实现对音频和视频的同步处理时过于复杂的技术问题。
在一种可选的实施例中,步骤S102中获取发送端至接收端的同步时延,包括:
步骤S202,从发送端向接收端发送一个同步包,其中,同步包包括发送端发送同步包的发送时间;
步骤S204,计算发送时间和接收端接收同步包的接收时间的差值,得到同步时延。
具体的,在使用从发送端向接收端发送同步包的方式计算同步时延时,可以从发送端向接收端发送一个同步包,该同步包中只携带发送端发送该同步包时的发送时间,同步包到达接收端之后,根据接收端的接收时间,可以计算发送时间与接收时间的差值,从而计算得到发送端至接收端的同步时延,该同步时延中包括发送端与接收端之间的时钟差以及同步包由发送端发送至接收端的时长,也就是发送端至接收端的传播时延。
在一种可选的实施例中,步骤S102中获取发送端至接收端的同步时延,包括:
步骤S302,每隔第一预设时间间隔,从发送端向接收端发送一个同步包,其中,同步包包括发送端发送同步包的发送时间;
步骤S304,每隔第二预设时间间隔,计算一次部分或所有同步包的发送时间和接收端接收到同步包的接收时间差值的均值,得到同步时延。
具体的,为了提高同步时延的实时性和准确度,可以每隔一个固定的时间,也就是第一预设时间间隔,从发送端向接收端发送一个同步包,该同步包中只携带发送端每次发送同步包时的发送时间,同步包到达接收端之后,根据接收端的接收时间,可以计算同步包接收时间和发送时间的差值,同步时延可以是部分同步包或者全部发送的同步包的差值的均值,为了节省计算量,可以每隔一个固定的时间,也就是第二预设时间间隔,计算一个部分同步包或者全部发送的同步包的差值的均值,此种方式计算得到的同步时延是动态的同步时延,由于同步时延会容易受到网速等因素的影响,而该动态的同步时延能够实时反映网速等因素的变化,减少后续的同步误差。
在一种可选的实施例中,还可以通过如下方式获取发送端至接收端的同步时延:
步骤S302a,每隔第一预设时间间隔,从发送端向接收端发送一个同步包,其中,同步包包括发送端发送同步包的发送时间;
步骤S304b,计算同步包的发送时间和接收端接收到同步包的接收时间的当前差值;
步骤S306c,获取在接收时间之前的所有同步包的发送时间和接收端接收到同步包的接收时间差值的历史均值;
步骤S308d,对当前差值和历史均值进行加权计算,得到同步时延。
具体的,发送端每隔第一预设时间间隔向接收端发送一个同步包,接收端在接收到发送端发送的同步包之后,记录接收同步包的接收时间,并根据同步包的接收时间和发送时间得到时间差,该时间差即为上述当前差值。此外,接收端还可获取在当前的同步包之前的所有同步包的时间差值的均值,即上述历史均值。在此之后,接收端对当前同步包的当前差值和历史均值进行加权求和,从而得到同步时延。例如,当前差值为t1,历史均值为t2,当前差值的权重为α1,历史均值的权重为α2,则同步时延可用下式表示:
需要说明的是,在得到同步时延之后,接收端将同步时延作为历史均值进行存储,以便在计算下一同步包的同步时延时可直接使用,而不需要再进行历史均值的计算,进而可以达到提高数据处理速度的效果。
在一种具体的实施例中,如图4所示,图4中显示了两次发送同步包的过程,第一次发送同步包时发送端的发送时间为Ts,接收端接收到该同步包的接收时间为Tr,接收时间和发送时间的差值为T1=Tr-Ts,间隔第一预设时间间隔后,再次发送一个同步包,第二次发送同步包时发送端的发送时间为Ts1,接收端接收到该同步包的接收时间为Tr1,接收时间和发送时间的差值为T2=Tr1-Ts1,两次差值的均值为T3=(T1+T2)/2,也就是此时同步时延为T3。
在一种可选的实施例中,步骤S104中根据接收端的当前时间、采集时间、同步时延分别确定待同步音频数据从采集时间至当前时间的第一当前延迟和待同步视频数据从采集时间至当前时间的第二当前延迟包括:A1=B-C-D1;A2=B-C-D2;其中,A1表示第一当前延迟,A2表示第二当前延迟,B表示接收端的当前时间,C表示同步时延,D1表示第一采集时间,D2表示第二采集时间。
在一种可选的实施例中,步骤S102中在待播放数据发送至接收端后,方法还包括:步骤S402,将待播放数据放置于播放缓存区中。
具体的,接收端接收到音频数据包和视频数据包并对音频数据包和视频数据包分别进行拆包、解码后,解码后的待同步音频数据和待同步视频数据可以分别放入各自的播放缓存区中,可以在播放缓存区的播放队列中,等待播放。
在一种可选的实施例中,步骤S106中比较第一当前延迟与预设播放延迟值的大小确定是否播放待同步音频数据之前,方法还包括:步骤S502,确定预设播放延迟值;其中,步骤S502中确定预设播放延迟值包括:
步骤S602,根据历史待同步音频数据的采集时间、同步时延和历史待同步音频数据放置于播放缓存区中时的放置时刻计算历史待同步音频数据从采集至放置于播放缓存区的延迟的第一均值,以及根据历史待同步视频数据的采集时间、同步时延和历史待同步视频数据放置于播放缓存区中时的放置时刻计算历史待同步视频数据从采集至放置于播放缓存区的延迟的第二均值;
步骤S604,将第一均值和第二均值中的较大值与预设容忍值的和确定为预设播放延迟值。
具体的,在预设播放延迟值是根据历史的播放延迟值进行计算得到的结果时,可以先计算历史待同步音频数据从采集至放置于播放缓存区的延迟的第一均值以及历史待同步视频数据从采集至放置于播放缓存区的延迟的第二均值,在计算历史待同步音频数据从采集至放置于播放缓存区的延迟时,该延迟的计算式可以为:
Data_Delay_1=Time_r_1-sync_delay_1-pts_1
其中,Data_Delay_1为历史待同步音频数据从采集至放置于播放缓存区的延迟,Time_r_1为历史待同步音频数据放置于播放缓存区中时的放置时刻,sync_delay_1为历史待同步音频数据从发送端至接收端的同步时延,pts_1为历史待同步音频数据的采集时间。
在计算历史待同步视频数据从采集至放置于播放缓存区的延迟时,该延迟的计算式可以为:
Data_Delay_2=Time_r_2-sync_delay_2-pts_2
其中,Data_Delay_2为历史待同步视频数据从采集至放置于播放缓存区的延迟,Time_r_2为历史待同步视频数据放置于播放缓存区中时的放置时刻,sync_delay_2为历史待同步视频数据从发送端至接收端的同步时延,pts_2为历史待同步视频数据的采集时间。
根据Data_Delay_1和Data_Delay_2可分别得到第一均值和第二均值。在计算得到第一均值和第二均值之后,可以选取第一均值和第二均值中的较大值,将该较大值与预设容忍值的和作为预设播放延迟值,其中,预设容忍值的作用是为了涵盖时间延迟大于平均值的待同步音频数据或待同步视频数据。
在一种具体的实施例中,如图5所示,假设4帧历史待同步视频数据的延迟分别为V1=4ms,V2=6ms,V3=4ms,V4=2ms,4帧历史待同步音频数据的延迟分别为A1=3ms,A2=4ms,A3=3ms,A4=2ms,则4帧历史待同步视频数据的延迟的均值为ΔV=4ms,4帧历史待同步音频数据的延迟的均值为ΔA=3ms,选取两个均值中较大的均值即ΔV,将ΔV与预设容忍值δ相加即得到预设播放延迟值Δ,在预设容忍值δ=3ms时,Δ=ΔV+δ=7ms。
在一种可选的实施例中,步骤S102中在待播放数据发送至接收端之前,方法还包括:
步骤S702,采集待播放数据并在待播放数据中添加采集时间;
步骤S704,将添加了采集时间的待播放数据从发送端发送至接收端。
具体的,在采集待同步音频数据以及待同步视频数据的时候,即分别在待同步音频数据和待同步视频数据中打上时间戳,即待同步音频数据的第一采集时间以及待同步视频数据的第二采集时间。
在一种具体的实施例中,如图6所示,可以分别对音频和视频进行采集、编码和打包,形成音频数据包和视频数据包,在接收端接收到音频数据包和视频数据包之后,接收端分别对音频数据包和视频数据包进行拆包和解码操作,形成PCM流(音频流)以及YUV流(视频流),同步时延可以通过发送端向网络传输系统发送同步包的方式获取,获取方式可以参见前文实施例,此处不再赘述,根据当前时间、同步时延以及音频和视频各自的采集时间,可以得到音频帧和视频帧各自的当前延迟,根据各自的当前延迟与预设播放延迟值的比较,并在当前延迟大于等于预设播放延迟值的情况下,播放音频和/或视频,从而实现了音视频的同步播放。
实施例2
根据本发明实施例,提供了一种音视频播放装置的产品实施例,图7是根据本发明实施例的音视频播放装置,如图7所示,该装置包括获取模块、第一确定模块和第二确定模块,其中,获取模块,用于在待播放数据发送至接收端后,获取待播放数据的采集时间以及获取发送端至接收端的同步时延,其中,待播放数据包括待同步音频数据和待同步视频数据,同步时延包括发送端与接收端之间的时钟差和发送端至接收端的传播时延;第一确定模块,用于根据接收端的当前时间、采集时间、同步时延分别确定待同步音频数据和待同步视频数据从采集时间至当前时间的当前延迟;第二确定模块,用于比较当前延迟与预设播放延迟值的大小确定是否播放待同步音频数据和/或待同步视频数据。
在本发明实施例中,通过获取模块在待播放数据发送至接收端后,获取待播放数据的采集时间以及获取发送端至接收端的同步时延,其中,同步时延包括发送端与接收端之间的时钟差和发送端至接收端的传播时延;第一确定模块根据接收端的当前时间、采集时间、同步时延分别确定待同步音频数据和待同步视频数据从采集时间至当前时间的当前延迟;第二确定模块比较当前延迟与预设播放延迟值的大小确定是否播放待同步音频数据和/或待同步视频数据,达到了确定何时播放待同步音频数据以及何时播放待同步视频数据最终达到音视频同步的目的,本发明在对音频数据和视频数据进行同步处理时,只需要在接收端接收到音频数据和视频数据之后进行同步处理,从而实现了简单方便的实现待同步音频数据和待同步视频数据同步处理的技术效果,进而解决了现有技术中使用时标的方式实现对音频和视频的同步处理时过于复杂的技术问题。
需要说明的是,采集时间包括待同步音频数据的第一采集时间和待同步视频数据的第二采集时间,当前延迟包括:待同步音频数据从采集时间至当前时间的第一当前延迟和待同步视频数据从采集时间至当前时间的第二当前延迟。
此处还需要说明的是,上述获取模块、第一确定模块和第二确定模块对应于实施例1中的步骤S102至步骤S106,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
在一种可选的实施例中,获取模块包括第一发送模块和第一计算模块,其中,第一发送模块,用于从发送端向接收端发送一个同步包,其中,同步包包括发送端发送同步包的发送时间;第一计算模块,用于计算发送时间和接收端接收同步包的接收时间的差值,得到同步时延。
此处需要说明的是,上述第一发送模块和第一计算模块对应于实施例1中的步骤S202至步骤S204,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
在一种可选的实施例中,获取模块包括第二发送模块和第二计算模块,其中,第二发送模块,用于每隔第一预设时间间隔,从发送端向接收端发送一个同步包,其中,同步包包括发送端发送同步包的发送时间;第二计算模块,用于每隔第二预设时间间隔,计算一次部分或所有同步包的发送时间和接收端接收到同步包的接收时间差值的均值,得到同步时延。
此处需要说明的是,上述第二发送模块和第二计算模对应于实施例1中的步骤S302至步骤S304,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
在一种可选的实施例中,第一确定模块包括:A1=B-C-D1;A2=B-C-D2;其中,A1表示第一当前延迟,A2表示第二当前延迟,B表示接收端的当前时间,C表示同步时延,D1表示第一采集时间,D2表示第二采集时间。
在一种可选的实施例中,装置还包括:缓存模块,用于在待播放数据发送至接收端后,将待播放数据放置于播放缓存区中。
此处需要说明的是,上述缓存模块对应于实施例1中的步骤S402,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
在一种可选的实施例中,装置还包括:第三确定模块,用于在第二确定模块比较第一当前延迟与预设播放延迟值的大小确定是否播放待同步音频数据之前,确定预设播放延迟值;其中,第三确定模块包括第三计算模块和第四确定模块,其中,第三计算模块,用于根据历史待同步音频数据的采集时间、同步时延和历史待同步音频数据放置于播放缓存区中时的放置时刻计算历史待同步音频数据从采集至放置于播放缓存区的延迟的第一均值,以及根据历史待同步视频数据的采集时间、同步时延和历史待同步视频数据放置于播放缓存区中时的放置时刻计算历史待同步视频数据从采集至放置于播放缓存区的延迟的第二均值;第四确定模块,用于将第一均值和第二均值中的较大值与预设容忍值的和确定为预设播放延迟值。
此处需要说明的是,上述第三确定模块、第三计算模块和第四确定模块对应于实施例1中的步骤S502以及步骤S602至步骤S604,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
在一种可选的实施例中,装置还包括采集模块和发送模块,其中,采集模块,用于在待播放数据发送至接收端之前,采集待播放数据并在待播放数据中添加采集时间;发送模块,用于将添加了采集时间的待播放数据从发送端发送至接收端。
此处需要说明的是,上述采集模块和发送模块对应于实施例1中的步骤S702至步骤S704,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种音视频播放方法,其特征在于,包括:
在待播放数据发送至接收端后,获取所述待播放数据的采集时间以及获取发送端至所述接收端的同步时延,其中,所述待播放数据包括待同步音频数据和待同步视频数据,所述同步时延包括所述发送端与所述接收端之间的时钟差和所述发送端至所述接收端的传播时延;
根据所述接收端的当前时间、所述采集时间、所述同步时延分别确定所述待同步音频数据和所述待同步视频数据从所述采集时间至所述当前时间的当前延迟;
比较所述当前延迟与预设播放延迟值的大小,确定是否播放所述待同步音频数据和/或所述待同步视频数据。
2.根据权利要求1所述的方法,其特征在于,所述采集时间包括所述待同步音频数据的第一采集时间和所述待同步视频数据的第二采集时间,所述当前延迟包括:所述待同步音频数据从所述采集时间至所述当前时间的第一当前延迟和所述待同步视频数据从所述采集时间至所述当前时间的第二当前延迟。
3.根据权利要求1所述的方法,其特征在于,获取发送端至所述接收端的同步时延,包括:
从所述发送端向所述接收端发送一个同步包,其中,所述同步包包括所述发送端发送所述同步包的发送时间;
计算所述发送时间和所述接收端接收所述同步包的接收时间的差值,得到所述同步时延。
4.根据权利要求1所述的方法,其特征在于,获取发送端至所述接收端的同步时延,包括:
每隔第一预设时间间隔,从所述发送端向所述接收端发送一个同步包,其中,所述同步包包括所述发送端发送所述同步包的发送时间;
每隔第二预设时间间隔,计算一次部分或所有所述同步包的所述发送时间和所述接收端接收到所述同步包的接收时间差值的均值,得到所述同步时延。
5.根据权利要求2-4中任意一项所述的方法,其特征在于,根据所述接收端的当前时间、所述采集时间、所述同步时延分别确定所述待同步音频数据和所述待同步视频数据从所述采集时间至所述当前时间的当前延迟包括:
A1=B-C-D1;
A2=B-C-D2;
其中,A1表示所述第一当前延迟,A2表示所述第二当前延迟,B表示所述接收端的当前时间,C表示所述同步时延,D1表示所述第一采集时间,D2表示所述第二采集时间。
6.根据权利要求2所述的方法,其特征在于,在待播放数据发送至接收端后,所述方法还包括:
将所述待播放数据放置于播放缓存区中。
7.根据权利要求6所述的方法,其特征在于,比较所述第一当前延迟与预设播放延迟值的大小确定是否播放所述待同步音频数据之前,所述方法还包括:
确定所述预设播放延迟值;
其中,确定所述预设播放延迟值包括:
根据历史待同步音频数据的采集时间、所述同步时延和所述历史待同步音频数据放置于所述播放缓存区中时的放置时刻计算所述历史待同步音频数据从采集至放置于所述播放缓存区的延迟的第一均值,以及根据历史待同步视频数据的采集时间、所述同步时延和所述历史待同步视频数据放置于所述播放缓存区中时的放置时刻计算所述历史待同步视频数据从采集至放置于所述播放缓存区的延迟的第二均值;
将所述第一均值和所述第二均值中的较大值与预设容忍值的和确定为所述预设播放延迟值。
8.一种音视频播放装置,其特征在于,包括:
获取模块,用于在待播放数据发送至接收端后,获取所述待播放数据的采集时间以及获取发送端至所述接收端的同步时延,其中,所述待播放数据包括待同步音频数据和待同步视频数据,所述同步时延包括所述发送端与所述接收端之间的时钟差和所述发送端至所述接收端的传播时延;
第一确定模块,用于根据所述接收端的当前时间、所述采集时间、所述同步时延分别确定所述待同步音频数据和所述待同步视频数据从所述采集时间至所述当前时间的当前延迟;
第二确定模块,用于比较所述当前延迟与预设播放延迟值的大小,确定是否播放所述待同步音频数据和/或所述待同步视频数据。
9.根据权利要求8所述的装置,其特征在于,所述采集时间包括所述待同步音频数据的第一采集时间和所述待同步视频数据的第二采集时间,所述当前延迟包括:所述待同步音频数据从所述采集时间至所述当前时间的第一当前延迟和所述待同步视频数据从所述采集时间至所述当前时间的第二当前延迟。
10.根据权利要求9所述的装置,其特征在于,所述获取模块包括:
第一发送模块,用于从所述发送端向所述接收端发送一个同步包,其中,所述同步包包括所述发送端发送所述同步包的发送时间;
第一计算模块,用于计算所述发送时间和所述接收端接收所述同步包的接收时间的差值,得到所述同步时延。
CN201711101446.3A 2017-11-07 2017-11-07 音视频播放方法和装置 Active CN107995503B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711101446.3A CN107995503B (zh) 2017-11-07 2017-11-07 音视频播放方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711101446.3A CN107995503B (zh) 2017-11-07 2017-11-07 音视频播放方法和装置

Publications (2)

Publication Number Publication Date
CN107995503A true CN107995503A (zh) 2018-05-04
CN107995503B CN107995503B (zh) 2020-07-14

Family

ID=62030249

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711101446.3A Active CN107995503B (zh) 2017-11-07 2017-11-07 音视频播放方法和装置

Country Status (1)

Country Link
CN (1) CN107995503B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032555A (zh) * 2018-07-06 2018-12-18 广州视源电子科技股份有限公司 投屏中音频数据处理方法、装置、存储介质及电子设备
CN109379619A (zh) * 2018-11-20 2019-02-22 青岛海信电器股份有限公司 音画同步方法及装置
CN109600564A (zh) * 2018-08-01 2019-04-09 北京微播视界科技有限公司 用于确定时间戳的方法和装置
CN109640141A (zh) * 2018-12-19 2019-04-16 深圳银澎云计算有限公司 一种音频时间戳的校正方法、校正装置及音视频终端
CN111741376A (zh) * 2020-07-31 2020-10-02 南斗六星系统集成有限公司 一种多媒体文件拼接音视频唇音同步的方法
CN111984111A (zh) * 2019-05-22 2020-11-24 中国移动通信有限公司研究院 多媒体处理方法、装置及通信设备
CN114302192A (zh) * 2021-12-15 2022-04-08 广州小鹏汽车科技有限公司 一种音画同步方法、装置、车辆及存储介质
WO2022120782A1 (en) * 2020-12-11 2022-06-16 Qualcomm Incorporated Multimedia playback synchronization

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6798742B1 (en) * 1998-01-16 2004-09-28 Paradyne Corporation System and method for the measurement of service quality in a communication network
US20050265254A1 (en) * 2004-06-01 2005-12-01 Sanyo Electric Co., Ltd. Decoder device
CN101064768A (zh) * 2006-04-29 2007-10-31 李明 一种动态图像同步播放系统和方法
CN101682366A (zh) * 2007-06-08 2010-03-24 索尼株式会社 声音信号处理装置和用于设置延迟时间的方法
CN101731011A (zh) * 2007-05-11 2010-06-09 奥迪耐特有限公司 用于设置接收器延迟时间的系统、方法和计算机可读介质
CN101938606A (zh) * 2009-07-03 2011-01-05 北京大学 多媒体数据推送方法、系统和设备
US20110134763A1 (en) * 2009-12-04 2011-06-09 At&T Intellectual Property I, L.P. Method and system for detecting audio and video synchronization
CN102572611A (zh) * 2010-12-07 2012-07-11 中国电信股份有限公司 不同用户同步收看网络直播流的方法和系统
CN103856787A (zh) * 2012-12-04 2014-06-11 上海文广科技(集团)有限公司 基于公网的带解说音频回传的直播系统及其直播方法
CN104254007A (zh) * 2014-09-03 2014-12-31 海信集团有限公司 一种音频处理方法及装置
US20160028925A1 (en) * 2014-07-28 2016-01-28 Brian Fischer System and method for synchronizing audio and video signals for a listening system
CN106953706A (zh) * 2017-02-17 2017-07-14 北京汽车集团有限公司 基于以太网的音视频系统同步方法、装置和系统

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6798742B1 (en) * 1998-01-16 2004-09-28 Paradyne Corporation System and method for the measurement of service quality in a communication network
US20050265254A1 (en) * 2004-06-01 2005-12-01 Sanyo Electric Co., Ltd. Decoder device
CN101064768A (zh) * 2006-04-29 2007-10-31 李明 一种动态图像同步播放系统和方法
CN101731011A (zh) * 2007-05-11 2010-06-09 奥迪耐特有限公司 用于设置接收器延迟时间的系统、方法和计算机可读介质
CN101682366A (zh) * 2007-06-08 2010-03-24 索尼株式会社 声音信号处理装置和用于设置延迟时间的方法
CN101938606A (zh) * 2009-07-03 2011-01-05 北京大学 多媒体数据推送方法、系统和设备
US20110134763A1 (en) * 2009-12-04 2011-06-09 At&T Intellectual Property I, L.P. Method and system for detecting audio and video synchronization
CN102572611A (zh) * 2010-12-07 2012-07-11 中国电信股份有限公司 不同用户同步收看网络直播流的方法和系统
CN103856787A (zh) * 2012-12-04 2014-06-11 上海文广科技(集团)有限公司 基于公网的带解说音频回传的直播系统及其直播方法
US20160028925A1 (en) * 2014-07-28 2016-01-28 Brian Fischer System and method for synchronizing audio and video signals for a listening system
CN104254007A (zh) * 2014-09-03 2014-12-31 海信集团有限公司 一种音频处理方法及装置
CN106953706A (zh) * 2017-02-17 2017-07-14 北京汽车集团有限公司 基于以太网的音视频系统同步方法、装置和系统

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032555A (zh) * 2018-07-06 2018-12-18 广州视源电子科技股份有限公司 投屏中音频数据处理方法、装置、存储介质及电子设备
CN109600564A (zh) * 2018-08-01 2019-04-09 北京微播视界科技有限公司 用于确定时间戳的方法和装置
WO2020024945A1 (zh) * 2018-08-01 2020-02-06 北京微播视界科技有限公司 确定时间戳的方法和装置
CN109379619A (zh) * 2018-11-20 2019-02-22 青岛海信电器股份有限公司 音画同步方法及装置
CN109640141A (zh) * 2018-12-19 2019-04-16 深圳银澎云计算有限公司 一种音频时间戳的校正方法、校正装置及音视频终端
CN111984111A (zh) * 2019-05-22 2020-11-24 中国移动通信有限公司研究院 多媒体处理方法、装置及通信设备
CN111741376A (zh) * 2020-07-31 2020-10-02 南斗六星系统集成有限公司 一种多媒体文件拼接音视频唇音同步的方法
CN111741376B (zh) * 2020-07-31 2020-12-01 南斗六星系统集成有限公司 一种多媒体文件拼接音视频唇音同步的方法
WO2022120782A1 (en) * 2020-12-11 2022-06-16 Qualcomm Incorporated Multimedia playback synchronization
CN114302192A (zh) * 2021-12-15 2022-04-08 广州小鹏汽车科技有限公司 一种音画同步方法、装置、车辆及存储介质
CN114302192B (zh) * 2021-12-15 2023-06-30 广州小鹏汽车科技有限公司 一种音画同步方法、装置、车辆及存储介质

Also Published As

Publication number Publication date
CN107995503B (zh) 2020-07-14

Similar Documents

Publication Publication Date Title
CN107995503A (zh) 音视频播放方法和装置
CN103533451B (zh) 抖动缓存调节方法及其系统
CN104618786B (zh) 音视频同步方法和装置
CN104735470B (zh) 一种流媒体数据传输方法及装置
Yang et al. TEEVE: The next generation architecture for tele-immersive environments
TWI501673B (zh) 無線音訊與視訊同步播放的方法及其播放系統
JP5628925B2 (ja) 無線ネットワークでのオーディオ通信のための無線通信方法及びシステム
CN109906613A (zh) 音频和视频的多模式同步渲染
CN108353239A (zh) 无线音频同步
CN106658113B (zh) 多媒体数据处理方法及装置
EP1351472A3 (en) Forming RTP packets
CN107295364B (zh) 用于弹幕视频的实时流传输控制方法、控制装置
CN109120974A (zh) 一种音视频同步播放的方法及装置
CN101500117A (zh) 一种视音频数据播放的控制方法及装置
CN102547482A (zh) 一种多路ip音视频流同步播放方法
US10554571B2 (en) Packet-to-packet timing reconstruction for channel bonding
CN107613409A (zh) 多媒体数据的处理方法及装置
CN104168218A (zh) 抖动缓冲方法及装置
CN107911729A (zh) 网络视频播放方法及终端
WO2012047516A1 (en) Adjusting audio and video synchronization of 3g tdm streams
CN106454474B (zh) 多媒体同步播放方法、装置及系统
WO2001099340A3 (en) Bandwidth estimation in a communication system
CN107979482A (zh) 一种信息处理方法、装置、发送端、去抖动端、接收端
Vargas et al. Study on the impact of DASH streaming services using energy efficient ethernet
CN109565773A (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