CN110430457A - 异端音视频播放方法、装置及音视频播放系统 - Google Patents
异端音视频播放方法、装置及音视频播放系统 Download PDFInfo
- Publication number
- CN110430457A CN110430457A CN201910677939.4A CN201910677939A CN110430457A CN 110430457 A CN110430457 A CN 110430457A CN 201910677939 A CN201910677939 A CN 201910677939A CN 110430457 A CN110430457 A CN 110430457A
- Authority
- CN
- China
- Prior art keywords
- audio
- data
- equipment
- audio data
- delay
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/43615—Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
-
- 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Environmental & Geological Engineering (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供的一种异端音视频播放方法、装置以及音视频播放系统。其中,一种异端音视频播放方法,应用于第一设备,获取音视频数据;利用第一通信协议,同时发送所述音频数据和时延探测数据给第二设备,以使得第二设备在接收到音频数据和时延探测数据后,返回时延响应数据,以及缓存音频数据,并在预设的缓存时长后,播放音频数据;接收并基于时延响应数据,获取第二设备播放音频数据的播放时延;时延响应数据包括:与时延探测数据对应的反馈数据,以及预设的缓存时长;在播放时延之后,播放视频数据。本方案可以实现进行异端音视频播放时,音画同步的效果。
Description
技术领域
本发明涉及音视频播放技术领域,特别是涉及一种异端音视频播放方法、装置及音视频播放系统。
背景技术
在使用电子设备播放音视频数据时,可能存在电子设备对音视频数据中的音频数据播放异常的情况。举例而言,在需要使用耳机播放音频数据时,电子设备无法连接耳机的播放异常;或者,电子设备的扬声器损坏,无法播放音频数据的播放异常等等。
相关技术中,为了应对上述电子设备对音视频数据中的音频数据播放异常的情况,可以对需要由电子设备播放的音视频进行异端播放:由电子设备播放作为视频画面的视频数据,由不同于电子设备、且可正常播放音频数据的另一电子设备播放作为视频声音的音频数据,以保证音视频数据的播放。
但是,进行视频播放时,需要保证视频的画面和声音同步,而上述异端播放中的电子设备和另一设备是不同的设备,容易导致电子设备播放的视频画面与另一电子设备播放的视频声音不同步的问题。因此,如何保证音画同步,是异端音视频播放中亟待解决的问题。
发明内容
本发明实施例的目的在于提供一种异端音视频播放方法、装置及音视频播放系统,以实现进行异端音视频播放时,音画同步的效果。具体技术方案如下:
第一方面,本发明实施例提供了一种异端音视频播放方法,应用于第一设备,该方法包括:
第一设备获取音视频数据,所述音视频数据包括音频数据和视频数据;
利用第一通信协议,同时发送所述音频数据和时延探测数据给第二设备,以使得所述第二设备在接收到所述音频数据和所述时延探测数据后,返回时延响应数据,以及缓存所述音频数据,并在预设的缓存时长后,播放所述音频数据;其中,所述时延响应数据包括:与所述时延探测数据对应的反馈数据,以及所述预设的缓存时长;
接收并基于所述时延响应数据,获取所述第二设备播放所述音频数据的播放时延;
在所述播放时延之后,播放所述视频数据。
第二方面,本发明实施例提供了一种异端音视频播放方法,应用于第二设备,该方法包括:
所述第二设备在同时接收到第一设备利用第一通信协议发送的音频数据和时延探测数据时,发送时延响应数据给第一设备;其中,所述时延响应数据包括:与所述时延探测数据对应的反馈数据,以及预设的缓存时长;所述预设的缓存时长与传输所述音频数据至所述第二设备的网络传输质量对应;
缓存所述音频数据,并在所述预设的缓存时长后,播放所述音频数据。
第三方面,本发明实施例提供了一种异端音视频播放装置,应用于具有大屏幕的第一设备,该装置包括:
音频数据获取模块,用于获取音视频数据,所述音视频数据包括音频数据和视频数据;
数据发送模块,用于利用第一通信协议,同时发送所述音频数据和时延探测数据给第二设备,以使得所述第二设备在接收到所述音频数据和所述时延探测数据后,返回时延响应数据,以及缓存所述音频数据,并在预设的缓存时长后,播放所述音频数据;其中,所述时延响应数据包括:与所述时延探测数据对应的反馈数据,以及所述预设的缓存时长;
播放时延获取模块,用于接收并基于所述时延响应数据,获取所述第二设备播放所述音频数据的播放时延;
播放模块,用于在所述播放时延之后,播放所述视频数据。
第四方面,本发明实施例提供了一种异端音视频播放装置,应用于第二设备,该装置包括:
时延响应数据发送模块,用于在同时接收到第一设备利用第一通信协议发送的音频数据和时延探测数据时,发送时延响应数据给第一设备;其中,所述时延响应数据包括:与所述时延探测数据对应的反馈数据,以及预设的缓存时长;所述预设的缓存时长与传输所述音频数据至所述第二设备的网络传输质量对应;
播放模块,用于缓存所述音频数据,并在所述预设的缓存时长后,播放所述音频数据。
第五方面,本发明实施例提供了一种音视频播放系统,该系统包括:具有大屏幕的第一设备,以及第二设备;
所述第一设备,被配置为获取音视频数据,所述音视频数据包括音频数据和视频数据;利用第一通信协议,同时发送所述音频数据和时延探测数据给第二设备;接收并基于所述第二设备返回的时延响应数据,获取所述第二设备播放所述音频数据的播放时延;在所述播放时延之后,播放所述视频数据;所述时延响应数据包括:与所述时延探测数据对应的反馈数据,以及预设的缓存时长;
所述第二设备,被配置为在同时接收到所述音频数据和所述时延探测数据后,发送所述时延响应数据给第一设备;缓存所述音频数据,并在所述预设的缓存时长后,播放所述音频数据;所述预设的缓存时长与传输所述音频数据至所述第二设备的网络传输质量对应。
第六方面,本发明实施例提供了一种计算机可读存储介质,包含于第一设备,该存储介质内存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面提供的异端的音视频播放方法的步骤。
第七方面,本发明实施例提供了一种计算机可读存储介质,包含于第二设备,该存储介质内存储有计算机程序,该计算机程序被处理器执行时实现上述第二方面提供的异端的音视频播放方法的步骤。
本发明实施例提供的方案中,第二设备在接收到时延探测数据和音频数据后,向第一设备返回时延响应数据,以及缓存音频数据,并在预设的缓存时长后,播放音频数据,因此,第二设备播放音频数据的播放时延包括第二设备接收到音频数据所需的传输时长和预设的缓存时长,第二设备在播放时延之后开始播放音频数据。并且,时延探测数据与音频数据通过第一通信协议同时发送,可以保证时延探测数据的传输时长和传输环境,与音频数据相同,因此,第一设备可以基于与时延探测数据对应的反馈数据,获得第二设备接收音频数据所需的相对而言准确的传输时长。由此,第一设备基于时延响应数据获得的播放时延,包括音频数据的传输时长和预设的缓存时长,因此,第一设备在播放时延之后,播放与音频数据对应的视频数据,可以保证第一设备对视频数据的播放,与第二设备对音频数据的播放同时进行,音画同步。可见,通过本方案可以实现进行异端音视频播放时,音画同步的效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明一实施例所提供的异端音视频播放方法的流程示意图;
图2为本发明另一实施例所提供的异端音视频播放方法的流程示意图;
图3为本发明一实施例所提供的异端音视频播放装置的结构示意图;
图4为本发明另一实施例所提供的异端音视频播放装置的结构示意图;
图5为本发明一实施例所提供的音视频播放系统的结构示意图;
图6为本发明一实施例所提供的音视频播放系统中,第一设备的结构示意图;
图7为本发明一实施例所提供的音视频播放系统中,第二设备的结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
下面首先对本发明一实施例的异端音视频播放方法进行介绍。
本发明实施例提供的异端音视频播放方法,可以应用于音视频播放系统的第一设备和第二设备。其中,第一设备为具有音视频播放功能的电子设备,具体可以包括台式计算机、便携式计算机、智能移动终端、可穿戴设备和互联网电视等等。第二设备为具有音频播放功能的电子设备,具体可以包括便携式计算机、台式计算机、互联网电视、智能移动终端、音乐播放器和可穿戴设备等等。任何可以实现本发明实施例的电子设备,均属于本发明实施例的保护范围,在此不作限定。
如图1所示,本发明一实施例的异端音视频播放方法的流程,该方法可以包括如下步骤:
S101,第一设备获取音视频数据,音视频数据包括音频数据和视频数据。
在具体应用中,音视频数据的获取时机可以是多种的。示例性的,第一设备可以在接收到第二设备发送的建立同步连接的请求时,获取音视频数据。或者,示例性的,第一设备可以在接收到用户输入的关于开启异端播放的指令时,获取音视频数据。
并且,音频数据的来源可以是多种的。示例性的,第一设备可以关闭第一设备本地的声音,采集第一设备中相应的声音数据并编码,得到音频数据。或者,示例性的,第一设备可以关闭第一设备本地的声音,并复制第一设备中相应的音频数据。可以理解的是,音频数据与第一设备播放的视频数据对应,该音频数据和相应的视频数据可以分别为音视频数据中包含的音频和视频画面。例如,电影《阿甘正传》为音视频数据,该电影中包括音频数据和视频数据,音频数据是指该电影中的声音,视频数据为该电影中的视频画面,音频数据和视频数据源自同一个音视频(如该电影),不能是一部电影中音频数据和另外一部电影中的视频数据。
另外,本发明提供的实施例中,音频数据的数据形式可以是多种的。示例性的,音频数据可以是作为第一设备中视频数据的完整声音来源的音频文件,例如,第一设备中的视频数据时某一歌曲MV(Music Video,音乐影片)的视频画面,音频数据可以是该歌曲的音频文件。或者,示例性的,音频数据可以是完整声音来源对应的多个音频包。举例而言,可以是实时采集声音数据并编码得到的多个音频包,例如,实时录制该声音得到的多个音频包;或者,可以是分割音频文件得到的多个音频包。
任何数据形式的音频数据,以及音频数据的获取方式均可用于本发明,本实施例对此不作限制。
S102,第一设备利用第一通信协议,同时发送音频数据和时延探测数据给第二设备。
其中,第一通信协议用于发送音频数据和时延探测数据,可以是多种的。示例性的,第一通信协议可以为TCP(Transmission Control Protocol,传输控制协议),或者,UDP(User Datagram Protocol,用户数据报协议)。由于不同的通信协议传输规则不同,因此,为了保证时延探测数据准确反映音频数据的传输情况,需要采用相同的通信协议发送时延探测数据和音频数据。并且,由于UDP的传输规则相对于TCP而言更加简单,因此,使用UDP传输与使用TCP传输相比,所需的传输时间更短,可以提高数据传输的效率,从而可以在网络传输质量相对而言较差时,提高数据传输的实时性。此时,可以将后续使用的预设的缓存时长设置为相对而言较小的数值,减少视频数据和音频数据开始播放的等待时长。举例而言,使用TCP传输时,预设的缓存时长可能为6秒,而使用UDP传输时,可以将预设的缓存时长减少为1秒。
并且,在具体应用中,网络传输质量往往不是固定不变的,因此,需要同时发送音频数据和时延探测数据给第二设备,以避免与音频数据非同时发送,出现网络质量波动导致时延探测数据所反映的数据传输情况与音频数据的传输情况不同时,造成后续基于时延响应数据获取的播放时延不准确的问题。
另外,在具体应用中,由于异端音视频同步技术的版本差异,可能存在部分第二设备使用与本申请实施例中的第一通信协议不同的第二通信协议的情况。举例而言,在老版本的异端音视频同步技术中,使用TCP传输音频数据给第二设备,本申请使用UDP传输音频数据给第二设备。此时,可以在使用第一通信协议同时发送音频数据和时延探测数据给第二设备之后,使用第二通信协议发送同样的音频数据给第二设备,以便在第二设备不兼容第一通信协议时,能够获取利用第二通信协议发送的音频数据,实现版本兼容。
S1031,第二设备在同时接收到音频数据和时延探测数据后,缓存音频数据,并在预设的缓存时长后,播放音频数据;
S1032,第二设备在同时接收到音频数据和时延探测数据后,发送时延响应数据给第一设备;其中,时延响应数据包括:与时延探测数据对应的反馈数据,以及预设的缓存时长;预设的缓存时长与传输音频数据至第二设备的网络传输质量对应。
其中,S1032中发送时延响应数据给第一设备的步骤,可以与S1031中缓存音频数据的步骤同时执行,或者,先后执行。本实施例对S1032中发送时延响应数据给第一设备的步骤,与S1031中缓存音频数据的步骤之间的执行顺序不进行限定。
在具体应用中,时延响应数据可以是多种的。示例性的,时延响应数据可以包括:用于获取网络传输时长、与时延探测数据对应的反馈数据,以及预设的缓存时长。或者,示例性的,时延响应数据可以包括:上述反馈数据,第二设备对音频数据的解码时间,预设的缓存时长以及第二设备对音频数据的写入时间。在具体应用中,当音频数据为数据包时,由于第二设备可以在音频包播放期间对下一个音频包之后的音频包的编码以及解码,因此,时延响应数据所包括的解码时间为第二设备对第一个音频包的解码时间。
其中,与时延探测数据对应的反馈数据用于获取网络传输时长,该网络传输时长相当于音频数据的网络传输时长,并且,由于音频数据是单向传输的,因此,网络传输时长也是单向的。具体可以包括:第一设备统计发送试探探测数据至接收到反馈数据的双向传输时长,将该时长除以2,得到网络传输时长。并且,反馈数据可以与时延探测数据相同,由此,第一设备向第二设备发送数据的时间与第二设备向第一设备反馈数据的时间相对而言更加相同,相应的,可以保证双向传输时长除以2得到的网络传输时长更加准确。并且,在具体应用中,当数据为流式数据,即音频数据为多个音频包时,经过预设的缓存时长后,第二设备中可能存储有多个音频包,意味着第一个音频包之后的多个音频包,很可能在第一音频包从传输至播放结束的时间段内已经完成传输。因此,对于进行异端音视频播放时的音画同步而言,所需的网络传输时延可以为传输的第一个音频包的传输时延,而非统计多个音频包的总传输时延后,所计算的总传输时延的平均值。因此,与将总传输时延的平均值作为网络传输时延相比,本实施例得到的网络传输时延更加接近所传输的第一个音频包的传输时延,从而提高音画同步效果。
并且,预设的缓存时长可以起到抖动缓冲的作用,经过预设的缓存时长后播放音频数据,可以在缓存区域收集一定数量音频数据。在播放音频数据时,可以通过一定数量的音频数据保证播放的声音是连续的。与直接播放接收到的音频数据相比,可以提高所播放的音频的播放效果。在具体应用中,抖动缓冲的实现可以是设置一个共享的数据存储区域:JitterBuffer(平滑处理)模块,预设的缓存时长可以包括该模块缓存数据的时长,以及将所缓存的数据送入音频播放模块的时长。并且,为了保证经过预设的缓存时长,第二设备缓存有音频数据,需要保证经过预设的缓存时长第二设备接收到音频数据。因此,预设的缓存时长可以与传输音频数据至第二设备的网络传输质量对应。举例而言,在网络传输质量相对而言较好时,预设的缓存时长可以是1秒,在网络传输质量相对而言较差时,预设的缓存时长可以是2秒。其中,网络传输质量可以是根据历史经验确定的,或者,可以是第二设备实时检测的。
S104,第一设备接收并基于时延响应数据,获取第二设备播放音频数据的播放时延。
在具体应用中,第一设备接收并基于时延响应数据,获取第二设备播放音频数据的播放时延可以是多种的。示例性的,当第二设备对音频数据的处理效率相对而言较高,且音频数据无需编码时,可以是统计发送试探探测数据至接收到反馈数据的双向传输时长,将该时长除以2,得到网络传输时长;计算网络传输时长和预设的缓存时长之和,得到第二设备播放音频数据的播放时延。或者,示例性的,为了得到相对而言更加准确的播放时延,可以是计算网络传输时长,第二设备对音频数据的解码时间,预设的缓存时长以及第二设备对音频数据的写入时间之和,得到第二设备播放音频数据的播放时延。或者,示例性的,当音频数据为录制第一设备中相应的声音数据并编码得到的数据时,为了得到相对而言更加准确的播放时延,时延响应数据可以包括:上述反馈数据,解码时间,预设的缓存时长,写入时间,以及第一设备编码得到音频数据的编码时延。
S105,第一设备在播放时延之后,播放视频数据。
由于经播放时延之后,第二设备对所接收的音频数据开始播放,因此,第一设备在播放时延之后,播放与音频数据对应的视频数据,可以保证音频数据和相应的视频数据同时播放,实现在进行异端音视频播放时,音画同步。其中,视频数据与音频数据对应,为音频数据作为视频声音来源音视频数据所代表的视频中,作为视频画面来源的视频数据。
本发明实施例提供的方案中,第二设备在接收到时延探测数据和音频数据后,向第一设备返回时延响应数据,以及缓存音频数据,并在预设的缓存时长后,播放音频数据,因此,第二设备播放音频数据的播放时延至少包括第二设备接收到音频数据所需的传输时长和预设的缓存时长,也就是说第二设备在播放时延之后开始播放音频数据。并且,时延探测数据与音频数据通过第一通信协议同时发送,可以保证时延探测数据的传输时长和传输环境与音频数据相同,因此,第一设备可以基于与时延探测数据对应的反馈数据,获得第二设备接收音频数据所需的相对而言准确的传输时长。由此,第一设备基于时延响应数据获得的播放时延,至少包括音频数据的传输时长和预设的缓存时长,因此,第一设备在播放时延之后,播放与音频数据对应的视频数据,可以保证第一设备对视频数据的播放,与第二设备对音频数据的播放同时进行,也就是音画同步。可见,通过本方案可以实现进行异端音视频播放时,音画同步的效果。
如图2所示,本发明另一实施例的异端音视频播放方法的流程,该方法可以包括如下步骤:
S201,第一设备获取音视频数据,音视频数据包括音频数据和视频数据。音频数据为包含多个音频包的流数据。
上述S201与本发明图1实施例的S101为相似的步骤,区别在于获取的音频数据为包含多个音频包的流数据。示例性的,可以是某一电影的完整声音对应的多个音频包,每个音频包为该完整声音的不同部分。例如,音频包D1是完整声音的第0秒至第5秒的部分,音频包D1是完整声音的第6秒至第11秒的部分。后续在步骤S202中逐一发送音频包,形成流数据。对于相同部分在此不再赘述,详见上述本发明图1实施例的描述。
S202,第一设备利用第一通信协议,同时发送音频数据和时延探测数据给第二设备。
上述S202与本发明图1实施例的S102为相似的步骤,区别在于发送的音频数据为音频包。针对某一声音,可以存在多个音频包,通过逐一发送多个音频包,可以形成流数据。对于相同部分在此不再赘述,详见上述本发明图1实施例的描述。
S2031,第二设备在同时接收到音频数据和时延探测数据后,缓存音频数据,并在预设的缓存时长后,播放音频数据;
S2032,第二设备在同时接收到音频数据和时延探测数据后,发送时延响应数据给第一设备;其中,时延响应数据包括:与时延探测数据对应的反馈数据,以及预设的缓存时长;预设的缓存时长与传输音频数据至第二设备的网络传输质量对应。
其中,S2032中发送时延响应数据给第一设备的步骤,可以与S2031中缓存音频数据的步骤同时执行,或者,先后执行。本实施例对S2032中发送时延响应数据给第一设备的步骤,与S2031中缓存音频数据的步骤之间的执行顺序不进行限定。
S204,第一设备接收并基于时延响应数据,获取第二设备播放音频数据的播放时延。
S205,第一设备在播放时延之后,播放视频数据。
上述S203至S205与本发明图1实施例的S103至S105为相同的步骤,在此不再赘述,详见上述本发明图1实施例的描述。
S206,第二设备在缓存最新接收的音频包后,检测到经过预设的接收时长未接收到新的音频包时,将预设的缓存时长调整为更新后的缓存时长,并发送更新后的缓存时长给第一设备。更新后的缓存时长大于预设的缓存时长。
S207,第一设备基于所接收的更新后的缓存时长,获取更新后的播放时延。
S208,第一设备在更新后的播放时延之后,播放视频数据。
在具体应用中,网络传输质量可能出现波动,当网络质量相对而言较差时,会导致音频包的传输速度变慢。此时,如果第二设备在预设的缓存时长之后播放已缓存的音频包,很可能因音频包数量不足,出现播放的声音断续的问题。对此,第二设备在缓存最新接收的音频包后,可以检测经过预设的接收时长是否接收到新的音频包。检测到经过预设的接收时长未接收到新的音频包时,将预设的缓存时长调整为更新后的缓存时长。并且,更新后的缓存时长为用于缓存音频数据的时长,大于预设的缓存时长,因此,可以在网络质量相对而言较差时,通过增加了的缓存时长,提高所缓存的音频包的数量,从而保证在播放音频包时,有足够数量的音频包使得声音的内容相衔接,避免播放的声音出现断续。
并且,发送更新后的缓存时长给第一设备,可以保证第一设备在后续步骤S207中基于所接收的更新后的缓存时长,获取更新后的播放时延。其中,更新后的播放时延与原有的播放时延相比,区别在于增加了更新后的缓存时长与预设的缓存时长之间的差值的时长。此时,第一设备在更新后的播放时延之后,播放与音频数据对应的视频数据,可以保证第一设备中的视频数据和第二设备中的音频数据同时播放,在网络质量差的情况下,兼顾所播放声音的连续性和音视频同步的效果。
示例性的,预设的缓存时长为1秒,更新后的缓存时长为2秒,播放时延为5秒。第二设备在1秒内缓存有3个音频包:音频包D1,音频包D2和音频包D3。缓存完D2后,经过预设的接收时长,例如0.4秒,没有接收到音频包D3,表明此时网络质量较差,音频包传输较慢。因此,将预设的缓存时长调整为更新后的缓存时长2秒,并将更新后的缓存时长2秒发送给第一设备。此时,由于将预设的缓存时长调整为更新后的缓存时长,因此,第二设备会在原有播放时延增加1秒以后开始播放所缓存的数据,第一设备会在6秒,也是原有播放时延增加1秒以后开始播放视频数据,实现音画同步。并且,增加1秒后,第二设备已缓存音频包D3,且很有可能缓存有音频包D4。此时开始播放所缓存的音频包,可以保证每个已缓存的音频包播放结束时,存在下一个音频包已被缓存,保证播放的声音是连续的,避免因缓存时长过短造成的已缓存的音频包播放结束时,没有音频包可以播放造成的声音断续问题。
可选的,在上述第一设备利用第一通信协议,同时发送音频数据和时延探测数据给第二设备之前,本发明实施例提供的异端音视频播放方法,还可以包括如下步骤:
第一设备在每个音频包中添加用于表明播放顺序的时间戳;
第二设备在接收到音频包后,将第一个播放的音频包的时间戳,或者,将完成音频数据的播放进度调整后接收的第一个音频包的时间戳,作为音频数据的播放时间轴的起始时间点;
第二设备按照播放时间轴和每个音频包携带的时间戳,从已缓存的音频包中,选择目标音频包进行播放;其中,目标音频包为时间戳与播放时间轴的时间顺序匹配的音频包。
在具体应用中,音频包的发送顺序和播放顺序是一致的,相应的,第二设备可以按照对音频包的接收顺序播放音频包。但是,在网络质量出现波动、引起数据的堵塞和涌包时,网络质量相对而言较差造成多个音频包堵塞,第二设备未接收到这些堵塞的音频包;网络质量变好时,这些堵塞的音频包会同一时间被第二设备接收和缓存。此时,第二设备无法从同时接收的多个音频包中,确定各个音频包的播放顺序,很可能造成播放的声音和视频画面不匹配,出现音画不同步的问题。
对此,第一设备可以在发送音频数据之前,在每个音频包中添加用于表明播放顺序的时间戳,以便第二设备按照时间戳确定音频包的播放顺序,从而保证播放的声音和视频画面匹配,音画同步。并且,第二设备可以在接收到音频包后,将第一个播放的音频包的时间戳,或者,将完成音频数据的播放进度调整后接收的第一个音频包的时间戳,作为音频数据的播放时间轴的起始时间点。进而按照播放时间轴和每个音频包携带的时间戳,从已缓存的音频包中,选择目标音频包进行播放;其中,目标音频包为时间戳与播放时间轴的时间顺序匹配的音频包。由此,可以保证在正常播放,或者播放进度调整后,所选择的音频包与播放进度匹配。另外,音频数据携带的时间戳与视频数据的时间戳相对应。例如,第0秒至第5秒的视频数据,对应第0秒至第5秒的音频数据。
示例性的,音频包D1携带时间戳T1,音频包D2携带时间戳T2和音频包D3携带时间戳T3。第二设备第一次接收和播放的音频包为音频包D1,因此,将时间戳T1作为音频数据的播放时间轴的起始时间点,得到的播放时间轴的时间顺序为:T1,T2,T3,……,Tn,n为时间戳的序号。当出现网络质量波动,第二设备同时接收并缓存音频包D2、音频包D3以及音频包D4。此时,第二设备可以按照该播放时间轴的时间顺序,以及各个音频包携带的时间戳T2、T3和T4,从已缓存的音频包D2、音频包D3以及音频包D4中,依次选择音频包D2、音频包D3以及音频包D4播放。
类似的,在调整播放进度为快进播放第30分钟的内容时,第一设备根据该调整进度对应的调整指令,发送第30分钟的内容对应的音频包D30给第二设备,音频包D30为完成音频数据的播放进度调整后接收的第一个音频包。因此,第二设备将音频包D30的时间戳T30作为音频数据的播放时间轴的起始时间点,得到的播放时间轴的时间顺序为:T30,T31,T32,……,Tn,n为时间戳的序号。当出现网络质量波动,第二设备同时接收并缓存音频包D31和音频包D32。此时,第二设备可以按照该播放时间轴的时间顺序,以及各个音频包携带的时间戳T31和T32,从已缓存的音频包D31和音频包D32中,依次选择音频包D31、音频包D32播放。
可选的,上述音频数据还可以包括:冗余音频数据;本发明实施例提供的异端音视频播放方法,还可以包括如下步骤:
第二设备在检测到存在音频包丢失,且判断出所丢失的音频包与冗余音频数据相同时,使用冗余音频数据替代所丢失的音频包。
在具体应用中,冗余音频数据可以是多种的。示例性的,冗余数据可以是上一次发送的音频包,或者,已发送过的多个音频包。例如,第一设备在完成第一个音频包的发送后,每次发送音频包时,可以携带上一次发送的音频包作为冗余数据,或者,可以携带已发送的多个音频包作为冗余数据。相应的,第二设备在在检测到存在音频包丢失,且判断出所丢失的音频包与冗余音频数据相同时,可以使用冗余音频数据替代所丢失的音频包。
通过上述携带冗余音频数据的音频数据,可以在出现音频包丢失时,及时利用冗余音频数据替代所丢失的音频包,减少音频包丢失引起的播放不连贯以及音画不同步的问题。并且,任何冗余音频数据均可用于本发明,本实施例对此不作限制。
可选的,在上述第二设备在检测到存在音频包丢失之后,本发明实施例提供的异端音视频播放方法,还可以包括如下步骤:
第二设备判断出所丢失的音频包与冗余音频数据不相同时,发送数据重传请求给第一设备;
第一设备在接收到数据重传请求时,利用第一通信协议发送补充数据给第二设备;
第二设备使用接收到的补充数据替代所丢失的数据包。
在具体应用中,第二设备在检测到存在音频包丢失之后,可能出现所丢失的音频包和冗余音频数据不相同的情况,此时,无法使用冗余音频数据替代所丢失的音频包,因此,第二设备可以发送数据重传请求给第一设备。第一设备在接收到数据重传请求时,利用第一通信协议发送补充数据给第二设备,从而使得第二设备可以使用接收到的补充数据替代所丢失的数据包,实现音频的完整播放,减少音频包丢失引起的播放不连贯以及音画不同步的问题。其中,补充数据具体可以为所丢失的音频包。
并且,第一设备发送补充数据的方式可以是多种的。示例性的,第一设备接收到的重传请求中可以包含所丢失的音频包标识,该音频包标识可以为音频包的编号或者时间戳。第一设备从具有该音频包标识的音频包开始,依次发送音频包,直到完成所有音频包的发送。此时,不论具有该音频包标识的音频包之后的音频是否已发送和出现丢失,均会依次发送。或者,示例性的,第一设备可以重新发送具有所丢失的音频包标识的音频包,并按原有发送顺序发送其他音频包。任何第一设备发送补充数据的方式均可用于本发明,本实施例对此不作限制。
相应于上述方法实施例,本发明一实施例还提供了异端音视频播放装置。
如图3所示,本发明一实施例的异端音视频播放装置,应用于具有大屏幕的第一设备,该装置可以包括:
音频数据获取模块301,用于获取音视频数据,所述音视频数据包括音频数据和视频数据;
数据发送模块302,用于利用第一通信协议,同时发送所述音频数据和时延探测数据给第二设备,以使得所述第二设备在接收到所述音频数据和所述时延探测数据后,返回时延响应数据,以及缓存所述音频数据,并在预设的缓存时长后,播放所述音频数据;其中,所述时延响应数据包括:与所述时延探测数据对应的反馈数据,以及所述预设的缓存时长;
播放时延获取模块303,用于接收并基于所述时延响应数据,获取所述第二设备播放所述音频数据的播放时延;
播放模块304,用于在所述播放时延之后,播放所述视频数据。
本发明实施例提供的方案中,第二设备在接收到时延探测数据和音频数据后,向第一设备返回时延响应数据,以及缓存音频数据,并在预设的缓存时长后,播放音频数据,因此,第二设备播放音频数据的播放时延至少包括第二设备接收到音频数据所需的传输时长和预设的缓存时长,也就是说第二设备在播放时延之后开始播放音频数据。并且,时延探测数据与音频数据通过第一通信协议同时发送,可以保证时延探测数据的传输时长和传输环境与音频数据相同,因此,第一设备可以基于与时延探测数据对应的反馈数据,获得第二设备接收音频数据所需的相对而言准确的传输时长。由此,第一设备基于时延响应数据获得的播放时延,至少包括音频数据的传输时长和预设的缓存时长,因此,第一设备在播放时延之后,播放与音频数据对应的视频数据,可以保证第一设备对视频数据的播放,与第二设备对音频数据的播放同时进行,也就是音画同步。可见,通过本方案可以实现进行异端音视频播放时,音画同步的效果。
可选的,所述音频数据为包含多个音频包的流数据;
所述播放时延获取模块303,还用于在所述播放模块304播放所述视频数据之后,接收所述第二设备发送的更新后的缓存时长;所述更新后的预设的缓存时长为所述第二设备在缓存最新接收的音频包后,检测到经过预设的接收时长未接收到新的音频包时,发送的用于缓存音频数据的时长;所述更新后的缓存时长大于所述预设的缓存时长;基于所述更新后的缓存时长,获取更新后的播放时延;
所述播放模块304,还用于在所述更新后的播放时延之后,播放所述视频数据。
可选的,所述数据发送模块302,还用于在利用第一通信协议,同时发送所述音频数据和时延探测数据给第二设备之前,在每个音频包中添加用于表明播放顺序的时间戳,以使得所述第二设备将第一个播放的音频包的时间戳,或者,将完成所述音频数据的播放进度调整后接收的第一个音频包的时间戳,作为所述音频数据的播放时间轴的起始时间点,并按照所述播放时间轴和每个音频包携带的时间戳,从已缓存的音频包中,选择目标音频包进行播放;其中,所述目标音频包为时间戳与所述播放时间轴的时间顺序匹配的音频包。
可选的,所述音频数据还包括:冗余音频数据;
所述冗余音频数据用于在所述第二设备检测到存在音频包丢失,且判断出所丢失的音频包与所述冗余音频数据相同时,使用所述冗余音频数据替代所丢失的音频包。
可选的,所述数据发送模块302,还用于在利用第一通信协议,同时发送所述音频数据和时延探测数据给第二设备之后,接收到所述第二设备发送的数据重传请求时,利用第一通信协议发送补充数据给所述第二设备,以使得所述第二设备使用接收到的补充数据替代所丢失的音频包;
其中,所述数据重传请求为所述第二设备在检测到存在音频包丢失,且判断出所丢失的音频包与所述冗余音频数据不相同时,发送的请求。
如图4所示,本发明一实施例的异端音视频播放装置,应用于第一设备,该装置可以包括:
时延响应数据发送模块401,用于在同时接收到第一设备利用第一通信协议发送的音频数据和时延探测数据时,发送时延响应数据给第一设备;其中,所述时延响应数据包括:与所述时延探测数据对应的反馈数据,以及预设的缓存时长;所述预设的缓存时长与传输所述音频数据至所述第二设备的网络传输质量对应;
播放模块402,用于缓存所述音频数据,并在所述预设的缓存时长后,播放所述音频数据。
本发明实施例提供的方案中,第二设备在接收到时延探测数据和音频数据后,向第一设备返回时延响应数据,以及缓存音频数据,并在预设的缓存时长后,播放音频数据,因此,第二设备播放音频数据的播放时延至少包括第二设备接收到音频数据所需的传输时长和预设的缓存时长,也就是说第二设备在播放时延之后开始播放音频数据。并且,时延探测数据与音频数据通过第一通信协议同时发送,可以保证时延探测数据的传输时长和传输环境与音频数据相同,因此,第一设备可以基于与时延探测数据对应的反馈数据,获得第二设备接收音频数据所需的相对而言准确的传输时长。由此,第一设备基于时延响应数据获得的播放时延,至少包括音频数据的传输时长和预设的缓存时长,因此,第一设备在播放时延之后,播放与音频数据对应的视频数据,可以保证第一设备对视频数据的播放,与第二设备对音频数据的播放同时进行,也就是音画同步。可见,通过本方案可以实现进行异端音视频播放时,音画同步的效果。
可选的,所述音频数据为包含多个音频包的流数据;
所述播放模块402,还用于在所述缓存所述音频数据,并在所述预设的缓存时长后,播放所述音频数据之后,在缓存最新接收的音频包后,检测到经过预设的接收时长未接收到新的音频包时,将所述预设的缓存时长调整为更新后的缓存时长,并触发所述时延响应数据发送模块401,发送所述更新后的缓存时长给所述第一设备,以使得所述第一设备基于接收到的所述更新后的缓存时长,获取更新后的播放时延,并在所述更新后的播放时延之后,播放所述视频数据;所述更新后的缓存时长大于所述预设的缓存时长;
所述播放模块402,还用于在所述更新后的缓存时长后,播放所缓存的音频包。
可选的,所述播放模块402还用于:
将第一个播放的音频包的时间戳,或者,将完成所述音频数据的播放进度调整后接收的第一个音频包的时间戳,作为所述音频数据的播放时间轴的起始时间点;
按照所述播放时间轴和每个音频包携带的时间戳,从已缓存的音频包中,选择目标音频包进行播放;
其中,所述目标音频包为时间戳与所述播放时间轴的时间顺序匹配的音频包;所述时间戳为所述第一设备在每个音频包中添加的用于表明播放顺序的信息。
可选的,所述音频数据还包括:冗余音频数据;所述播放模块402还用于:
在检测到存在音频包丢失时,判断所丢失的音频包是否与所述冗余音频数据相同;
如果相同,使用接收到的冗余音频数据替代所述丢失的音频包。
可选的,所述播放模块402还用于:
在判断所丢失的音频包是否与所述冗余音频数据相同之后,发送数据重传请求给所述第一设备;
使用接收到的补充数据替代所述丢失的音频包;所述补充数据为所述第一设备利用第一通信协议返回的;所述补充数据为能够恢复所丢失的音频数据的数据。
相应于上述实施例,本发明实施例还提供了音视频播放系统,如图5所示,该系统可以包括:第一设备501,以及第二设备502;
所述第一设备501,被配置为获取音视频数据,所述音视频数据包括音频数据和视频数据;利用第一通信协议,同时发送所述音频数据和时延探测数据给第二设备;接收并基于所述第二设备返回的时延响应数据,获取所述第二设备播放所述音频数据的播放时延;在所述播放时延之后,播放所述视频数据;所述时延响应数据包括:与所述时延探测数据对应的反馈数据,以及预设的时长;
所述第二设备502,被配置为在同时接收到所述音频数据和所述时延探测数据后,发送所述时延响应数据给第一设备;缓存所述音频数据,并在所述预设的缓存时长后,播放所述音频数据;所述预设的缓存时长与传输所述音频数据至所述第二设备的网络传输质量对应。
本发明实施例提供的方案中,第二设备在接收到时延探测数据和音频数据后,向第一设备返回时延响应数据,以及缓存音频数据,并在预设的缓存时长后,播放音频数据,因此,第二设备播放音频数据的播放时延至少包括第二设备接收到音频数据所需的传输时长和预设的缓存时长,也就是说第二设备在播放时延之后开始播放音频数据。并且,时延探测数据与音频数据通过第一通信协议同时发送,可以保证时延探测数据的传输时长和传输环境与音频数据相同,因此,第一设备可以基于与时延探测数据对应的反馈数据,获得第二设备接收音频数据所需的相对而言准确的传输时长。由此,第一设备基于时延响应数据获得的播放时延,至少包括音频数据的传输时长和预设的缓存时长,因此,第一设备在播放时延之后,播放与音频数据对应的视频数据,可以保证第一设备对视频数据的播放,与第二设备对音频数据的播放同时进行,也就是音画同步。可见,通过本方案可以实现进行异端音视频播放时,音画同步的效果。
如图6所示,本发明一实施例的第一设备,应用于上述图5实施例的音视频播放系统中,该设备可以包括:
处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器通603过通信总线604完成相互间的通信;
存储器603,用于存放计算机程序;
处理器601,用于执行上述存储器603上所存放的计算机程序时,实现上述实施例中任一应用于第一设备的异端音视频播放方法的步骤。
如图7所示,本发明一实施例的第二设备,应用于上述图5实施例的音视频播放系统中,该设备可以包括:
处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器通703过通信总线704完成相互间的通信;
存储器703,用于存放计算机程序;
处理器701,用于执行上述存储器703上所存放的计算机程序时,实现上述实施例中任一应用于第二设备的异端音视频播放方法的步骤。
本发明实施例提供的方案中,第二设备在接收到时延探测数据和音频数据后,向第一设备返回时延响应数据,以及缓存音频数据,并在预设的缓存时长后,播放音频数据,因此,第二设备播放音频数据的播放时延至少包括第二设备接收到音频数据所需的传输时长和预设的缓存时长,也就是说第二设备在播放时延之后开始播放音频数据。并且,时延探测数据与音频数据通过第一通信协议同时发送,可以保证时延探测数据的传输时长和传输环境与音频数据相同,因此,第一设备可以基于与时延探测数据对应的反馈数据,获得第二设备接收音频数据所需的相对而言准确的传输时长。由此,第一设备基于时延响应数据获得的播放时延,至少包括音频数据的传输时长和预设的缓存时长,因此,第一设备在播放时延之后,播放与音频数据对应的视频数据,可以保证第一设备对视频数据的播放,与第二设备对音频数据的播放同时进行,也就是音画同步。可见,通过本方案可以实现进行异端音视频播放时,音画同步的效果。
上述存储器可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离于上述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明一实施例提供的计算机可读存储介质,包含于第一设备,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时,实现上述任一实施例中应用于第一设备的异端音视频播放方法的步骤。
本发明另一实施例提供的计算机可读存储介质,包含于第二设备,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时,实现上述任一实施例中应用于第二设备的异端音视频播放方法的步骤。
本发明实施例提供的方案中,由于与头部内容相比,长尾内容的数量相对而言较多,多个目标长尾内容是从长尾内容中确定的,因此,能够增加带宽空闲期所推送的内容的数量,提高带宽空闲期的带宽占用量。并且,由于基于反馈记录确定的内容是被用户请求过的,而获取类型为回源获取的长尾内容未存储在IDC节点中需要由管理服务器进行推送,也就是说获取类型为回源获取的长尾内容是会被用户获取的、且可能需要进行推送的内容,因此,将获取类型为回源获取的长尾内容确定为目标长尾内容可以减少对用户可能不会请求的非必要内容的推送。可见,通过本方案可以实现兼顾提高带宽空闲期的带宽占用量,以及减少非必要内容的推送的效果。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一实施例中所述的异端的音视频播放方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、DSL(Digital Subscriber Line,数字用户线)或无线(例如:红外线、无线电、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如:DVD(Digital Versatile Disc,数字通用光盘))、或者半导体介质(例如:SSD(Solid StateDisk,固态硬盘))等。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、系统和设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (21)
1.一种异端音视频播放方法,其特征在于,应用于第一设备,所述方法包括:
所述第一设备获取音视频数据,所述音视频数据包括音频数据和视频数据;
利用第一通信协议,同时发送所述音频数据和时延探测数据给第二设备,以使得所述第二设备在接收到所述音频数据和所述时延探测数据后,返回时延响应数据,以及缓存所述音频数据,并在预设的缓存时长后,播放所述音频数据;其中,所述时延响应数据包括:与所述时延探测数据对应的反馈数据,以及所述预设的缓存时长;
接收并基于所述时延响应数据,获取所述第二设备播放所述音频数据的播放时延;
在所述播放时延之后,播放所述视频数据。
2.根据权利要求1所述的方法,其特征在于,所述音频数据为包含多个音频包的流数据;
在所述播放所述视频数据之后,所述方法还包括:
接收所述第二设备发送的更新后的缓存时长;所述更新后的预设的缓存时长为所述第二设备在缓存最新接收的音频包后,检测到经过预设的接收时长未接收到新的音频包时,发送的用于缓存音频数据的时长;所述更新后的缓存时长大于所述预设的缓存时长;
基于所述更新后的缓存时长,获取更新后的播放时延;
在所述更新后的播放时延之后,播放所述视频数据。
3.根据权利要求2所述的方法,其特征在于,在所述利用第一通信协议,同时发送所述音频数据和时延探测数据给第二设备之前,所述方法还包括:
在每个音频包中添加用于表明播放顺序的时间戳,以使得所述第二设备将第一个播放的音频包的时间戳,或者,将完成所述音频数据的播放进度调整后接收的第一个音频包的时间戳,作为所述音频数据的播放时间轴的起始时间点,并按照所述播放时间轴和每个音频包携带的时间戳,从已缓存的音频包中,选择目标音频包进行播放;其中,所述目标音频包为时间戳与所述播放时间轴的时间顺序匹配的音频包。
4.根据权利要求2所述的方法,其特征在于,所述音频数据还包括:冗余音频数据;
所述冗余音频数据用于在所述第二设备检测到存在音频包丢失,且判断出所丢失的音频包与所述冗余音频数据相同时,使用所述冗余音频数据替代所丢失的音频包。
5.根据权利要求4所述的方法,其特征在于,在所述利用第一通信协议,同时发送所述音频数据和时延探测数据给第二设备之后,所述方法还包括:
在接收到所述第二设备发送的数据重传请求时,利用所述第一通信协议发送补充数据给所述第二设备,以使得所述第二设备使用接收到的补充数据替代所丢失的音频包;
其中,所述数据重传请求为所述第二设备在检测到存在音频包丢失,且判断出所丢失的音频包与所述冗余音频数据不相同时,发送的请求。
6.一种异端音视频播放方法,其特征在于,应用于第二设备,所述方法包括:
所述第二设备在同时接收到第一设备利用第一通信协议发送的音频数据和时延探测数据时,发送时延响应数据给第一设备;其中,所述时延响应数据包括:与所述时延探测数据对应的反馈数据,以及预设的缓存时长;所述预设的缓存时长与传输所述音频数据至所述第二设备的网络传输质量对应;
缓存所述音频数据,并在所述预设的缓存时长后,播放所述音频数据。
7.根据权利要求6所述的方法,其特征在于,所述音频数据为包含多个音频包的流数据;
在所述缓存所述音频数据,并在所述预设的缓存时长后,播放所述音频数据之后,所述方法还包括:
在缓存最新接收的音频包后,检测到经过预设的接收时长未接收到新的音频包时,将所述预设的缓存时长调整为更新后的缓存时长,并发送所述更新后的缓存时长给所述第一设备,以使得所述第一设备基于接收到的所述更新后的缓存时长,获取更新后的播放时延,并在所述更新后的播放时延之后,播放所述视频数据;所述更新后的缓存时长大于所述预设的缓存时长;
在所述更新后的缓存时长后,播放所缓存的音频包。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
将第一个播放的音频包的时间戳,或者,将完成所述音频数据的播放进度调整后接收的第一个音频包的时间戳,作为所述音频数据的播放时间轴的起始时间点;
按照所述播放时间轴和每个音频包携带的时间戳,从已缓存的音频包中,选择目标音频包进行播放;
其中,所述目标音频包为时间戳与所述播放时间轴的时间顺序匹配的音频包;所述时间戳为所述第一设备在每个音频包中添加的用于表明播放顺序的信息。
9.根据权利要求7所述的方法,其特征在于,所述音频数据还包括:冗余音频数据;所述方法还包括:
在检测到存在音频包丢失时,判断所丢失的音频包是否与所述冗余音频数据相同;
如果相同,使用接收到的冗余音频数据替代所述丢失的音频包。
10.根据权利要求9所述的方法,其特征在于,在所述判断所丢失的音频包是否与所述冗余音频数据相同之后,所述方法包括:
发送数据重传请求给所述第一设备;
使用接收到的补充数据替代所述丢失的音频包;所述补充数据为所述第一设备利用所述第一通信协议返回的;
其中,所述补充数据为能够恢复所丢失的音频数据的数据。
11.一种异端音视频播放装置,其特征在于,应用于第一设备,所述装置包括:
音频数据获取模块,用于获取音视频数据,所述音视频数据包括音频数据和视频数据;
数据发送模块,用于利用第一通信协议,同时发送所述音频数据和时延探测数据给第二设备,以使得所述第二设备在接收到所述音频数据和所述时延探测数据后,返回时延响应数据,以及缓存所述音频数据,并在预设的缓存时长后,播放所述音频数据;其中,所述时延响应数据包括:与所述时延探测数据对应的反馈数据,以及所述预设的缓存时长;
播放时延获取模块,用于接收并基于所述时延响应数据,获取所述第二设备播放所述音频数据的播放时延;
播放模块,用于在所述播放时延之后,播放所述视频数据。
12.根据权利要求11所述的装置,其特征在于,所述音频数据为包含多个音频包的流数据;
所述播放时延获取模块,还用于在所述播放模块播放所述视频数据之后,接收所述第二设备发送的更新后的缓存时长;所述更新后的预设的缓存时长为所述第二设备在缓存最新接收的音频包后,检测到经过预设的接收时长未接收到新的音频包时,发送的用于缓存音频数据的时长;所述更新后的缓存时长大于所述预设的缓存时长;基于所述更新后的缓存时长,获取更新后的播放时延;
所述播放模块,还用于在所述更新后的播放时延之后,播放所述视频数据。
13.根据权利要求12所述的装置,其特征在于,所述数据发送模块,还用于在利用第一通信协议,同时发送所述音频数据和时延探测数据给第二设备之前,在每个音频包中添加用于表明播放顺序的时间戳,以使得所述第二设备将第一个播放的音频包的时间戳,或者,将完成所述音频数据的播放进度调整后接收的第一个音频包的时间戳,作为所述音频数据的播放时间轴的起始时间点,并按照所述播放时间轴和每个音频包携带的时间戳,从已缓存的音频包中,选择目标音频包进行播放;其中,所述目标音频包为时间戳与所述播放时间轴的时间顺序匹配的音频包。
14.根据权利要求12所述的装置,其特征在于,所述音频数据还包括:冗余音频数据;
所述冗余音频数据用于在所述第二设备检测到存在音频包丢失,且判断出所丢失的音频包与所述冗余音频数据相同时,使用所述冗余音频数据替代所丢失的音频包。
15.根据权利要求14所述的装置,其特征在于,所述数据发送模块,还用于在利用第一通信协议,同时发送所述音频数据和时延探测数据给第二设备之后,接收到所述第二设备发送的数据重传请求时,利用所述第一通信协议发送补充数据给所述第二设备,以使得所述第二设备使用接收到的补充数据替代所丢失的音频包;
其中,所述数据重传请求为所述第二设备在检测到存在音频包丢失,且判断出所丢失的音频包与所述冗余音频数据不相同时,发送的请求。
16.一种异端音视频播放装置,其特征在于,应用于第二设备,所述装置包括:
时延响应数据发送模块,用于在同时接收到第一设备利用第一通信协议发送的音频数据和时延探测数据时,发送时延响应数据给第一设备;其中,所述时延响应数据包括:与所述时延探测数据对应的反馈数据,以及预设的缓存时长;所述预设的缓存时长与传输所述音频数据至所述第二设备的网络传输质量对应;
播放模块,用于缓存所述音频数据,并在所述预设的缓存时长后,播放所述音频数据。
17.根据权利要求16所述的装置,其特征在于,所述音频数据为包含多个音频包的流数据;
所述播放模块,还用于在在所述缓存所述音频数据,并在所述预设的缓存时长后,播放所述音频数据之后,缓存最新接收的音频包后,检测到经过预设的接收时长未接收到新的音频包时,将所述预设的缓存时长调整为更新后的缓存时长,并触发所述时延响应数据发送模块,发送所述更新后的缓存时长给所述第一设备,以使得所述第一设备基于接收到的所述更新后的缓存时长,获取更新后的播放时延,并在所述更新后的播放时延之后,播放所述视频数据;所述更新后的缓存时长大于所述预设的缓存时长;
所述播放模块,还用于在所述更新后的缓存时长后,播放所缓存的音频包。
18.根据权利要求17所述的装置,其特征在于,所述播放模块还用于:
将第一个播放的音频包的时间戳,或者,将完成所述音频数据的播放进度调整后接收的第一个音频包的时间戳,作为所述音频数据的播放时间轴的起始时间点;
按照所述播放时间轴和每个音频包携带的时间戳,从已缓存的音频包中,选择目标音频包进行播放;
其中,所述目标音频包为时间戳与所述播放时间轴的时间顺序匹配的音频包;所述时间戳为所述第一设备在每个音频包中添加的用于表明播放顺序的信息。
19.根据权利要求17所述的装置,其特征在于,所述音频数据还包括:冗余音频数据;所述播放模块还用于:
在检测到存在音频包丢失时,判断所丢失的音频包是否与所述冗余音频数据相同;
如果相同,使用接收到的冗余音频数据替代所述丢失的音频包。
20.根据权利要求19所述的装置,其特征在于,所述播放模块还用于:
在所述判断所丢失的音频包是否与所述冗余音频数据相同之后,发送数据重传请求给所述第一设备;
使用接收到的补充数据替代所述丢失的音频包;所述补充数据为所述第一设备利用所述第一通信协议返回的;所述补充数据为能够恢复所丢失的音频数据的数据。
21.一种音视频播放系统,其特征在于,所述系统包括:第一设备,以及第二设备;
所述第一设备,被配置为获取音视频数据,所述音视频数据包括音频数据和视频数据;利用第一通信协议,同时发送所述音频数据和时延探测数据给第二设备;接收并基于所述第二设备返回的时延响应数据,获取所述第二设备播放所述音频数据的播放时延;在所述播放时延之后,播放所述视频数据;所述时延响应数据包括:与所述时延探测数据对应的反馈数据,以及预设的缓存时长;
所述第二设备,被配置为在同时接收到所述音频数据和所述时延探测数据后,发送所述时延响应数据给第一设备;缓存所述音频数据,并在所述预设的缓存时长后,播放所述音频数据;所述预设的缓存时长与传输所述音频数据至所述第二设备的网络传输质量对应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910677939.4A CN110430457B (zh) | 2019-07-25 | 2019-07-25 | 异端音视频播放方法、装置及音视频播放系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910677939.4A CN110430457B (zh) | 2019-07-25 | 2019-07-25 | 异端音视频播放方法、装置及音视频播放系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110430457A true CN110430457A (zh) | 2019-11-08 |
CN110430457B CN110430457B (zh) | 2021-09-10 |
Family
ID=68410766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910677939.4A Active CN110430457B (zh) | 2019-07-25 | 2019-07-25 | 异端音视频播放方法、装置及音视频播放系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110430457B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112423074A (zh) * | 2020-11-11 | 2021-02-26 | 广州华多网络科技有限公司 | 音视频同步处理方法、装置、电子设备及存储介质 |
CN112860211A (zh) * | 2021-01-28 | 2021-05-28 | 成都极米科技股份有限公司 | 确定时延的方法、装置、终端与存储介质 |
US20210266621A1 (en) * | 2020-02-26 | 2021-08-26 | Dish Network L.L.C. | Devices, systems and processes for facilitating watch parties |
CN114374453A (zh) * | 2021-11-17 | 2022-04-19 | 伟乐视讯科技股份有限公司 | 一种应急广播多终端音频的同步方法及应急广播系统 |
CN114827696A (zh) * | 2021-01-29 | 2022-07-29 | 华为技术有限公司 | 一种跨设备的音视频数据同步播放的方法和电子设备 |
CN115378920A (zh) * | 2022-10-26 | 2022-11-22 | 南京大鱼半导体有限公司 | 一种调节音频时延的方法及设备 |
US11606597B2 (en) | 2020-09-03 | 2023-03-14 | Dish Network Technologies India Private Limited | Devices, systems, and processes for facilitating live and recorded content watch parties |
US11611547B2 (en) | 2016-11-08 | 2023-03-21 | Dish Network L.L.C. | User to user content authentication |
US11695722B2 (en) | 2019-07-30 | 2023-07-04 | Sling Media L.L.C. | Devices, systems and processes for providing geo-located and content-to-comment synchronized user circles |
US11758245B2 (en) | 2021-07-15 | 2023-09-12 | Dish Network L.L.C. | Interactive media events |
US11849171B2 (en) | 2021-12-07 | 2023-12-19 | Dish Network L.L.C. | Deepfake content watch parties |
US11974005B2 (en) | 2021-12-07 | 2024-04-30 | Dish Network L.L.C. | Cell phone content watch parties |
US11973999B2 (en) | 2022-08-19 | 2024-04-30 | Dish Network L.L.C. | User chosen watch parties |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106686438A (zh) * | 2016-12-29 | 2017-05-17 | 北京奇艺世纪科技有限公司 | 一种跨设备的音频图像同步播放的方法、装置及系统 |
CN106792073A (zh) * | 2016-12-29 | 2017-05-31 | 北京奇艺世纪科技有限公司 | 跨设备的音视频数据同步播放的方法、播放设备及系统 |
CN108377406A (zh) * | 2018-04-24 | 2018-08-07 | 青岛海信电器股份有限公司 | 一种调整音画同步的方法及装置 |
CN108650541A (zh) * | 2018-05-09 | 2018-10-12 | 福建星网视易信息系统有限公司 | 实现不同设备同步播放视频的方法和系统 |
US20190149874A1 (en) * | 2016-09-14 | 2019-05-16 | Dts, Inc. | Multimode synchronous rendering of audio and video |
US20190158909A1 (en) * | 2017-11-17 | 2019-05-23 | Qualcomm Incorporated | Extending synchronous media playback to a bluetooth-only sink device in a connected media environment |
-
2019
- 2019-07-25 CN CN201910677939.4A patent/CN110430457B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190149874A1 (en) * | 2016-09-14 | 2019-05-16 | Dts, Inc. | Multimode synchronous rendering of audio and video |
CN106686438A (zh) * | 2016-12-29 | 2017-05-17 | 北京奇艺世纪科技有限公司 | 一种跨设备的音频图像同步播放的方法、装置及系统 |
CN106792073A (zh) * | 2016-12-29 | 2017-05-31 | 北京奇艺世纪科技有限公司 | 跨设备的音视频数据同步播放的方法、播放设备及系统 |
US20190158909A1 (en) * | 2017-11-17 | 2019-05-23 | Qualcomm Incorporated | Extending synchronous media playback to a bluetooth-only sink device in a connected media environment |
CN108377406A (zh) * | 2018-04-24 | 2018-08-07 | 青岛海信电器股份有限公司 | 一种调整音画同步的方法及装置 |
CN108650541A (zh) * | 2018-05-09 | 2018-10-12 | 福建星网视易信息系统有限公司 | 实现不同设备同步播放视频的方法和系统 |
Non-Patent Citations (1)
Title |
---|
曾碧: "一种基于FFMPEG的音视频同步算法", 《广东工业大学学报》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11611547B2 (en) | 2016-11-08 | 2023-03-21 | Dish Network L.L.C. | User to user content authentication |
US11695722B2 (en) | 2019-07-30 | 2023-07-04 | Sling Media L.L.C. | Devices, systems and processes for providing geo-located and content-to-comment synchronized user circles |
US20210266621A1 (en) * | 2020-02-26 | 2021-08-26 | Dish Network L.L.C. | Devices, systems and processes for facilitating watch parties |
US11974006B2 (en) | 2020-09-03 | 2024-04-30 | Dish Network Technologies India Private Limited | Live and recorded content watch parties |
US11606597B2 (en) | 2020-09-03 | 2023-03-14 | Dish Network Technologies India Private Limited | Devices, systems, and processes for facilitating live and recorded content watch parties |
CN112423074A (zh) * | 2020-11-11 | 2021-02-26 | 广州华多网络科技有限公司 | 音视频同步处理方法、装置、电子设备及存储介质 |
CN112860211A (zh) * | 2021-01-28 | 2021-05-28 | 成都极米科技股份有限公司 | 确定时延的方法、装置、终端与存储介质 |
CN114827696A (zh) * | 2021-01-29 | 2022-07-29 | 华为技术有限公司 | 一种跨设备的音视频数据同步播放的方法和电子设备 |
US11758245B2 (en) | 2021-07-15 | 2023-09-12 | Dish Network L.L.C. | Interactive media events |
CN114374453B (zh) * | 2021-11-17 | 2024-01-12 | 伟乐视讯科技股份有限公司 | 一种应急广播多终端音频的同步方法及应急广播系统 |
CN114374453A (zh) * | 2021-11-17 | 2022-04-19 | 伟乐视讯科技股份有限公司 | 一种应急广播多终端音频的同步方法及应急广播系统 |
US11849171B2 (en) | 2021-12-07 | 2023-12-19 | Dish Network L.L.C. | Deepfake content watch parties |
US11974005B2 (en) | 2021-12-07 | 2024-04-30 | Dish Network L.L.C. | Cell phone content watch parties |
US11973999B2 (en) | 2022-08-19 | 2024-04-30 | Dish Network L.L.C. | User chosen watch parties |
CN115378920A (zh) * | 2022-10-26 | 2022-11-22 | 南京大鱼半导体有限公司 | 一种调节音频时延的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110430457B (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110430457A (zh) | 异端音视频播放方法、装置及音视频播放系统 | |
US8762580B2 (en) | Common event-based multidevice media playback | |
CN109889543A (zh) | 视频传输的方法、根节点、子节点、p2p服务器和系统 | |
CN101809906B (zh) | 同步互连网络中的相关数据流 | |
US9338208B2 (en) | Common event-based multidevice media playback | |
CN106686438B (zh) | 一种跨设备的音频图像同步播放的方法、装置及系统 | |
US8825790B2 (en) | Caching of fragmented streaming media | |
US20090249222A1 (en) | System and method for simultaneous media presentation | |
CN103200461A (zh) | 一种多台播放终端同步播放系统及播放方法 | |
US10856018B2 (en) | Clock synchronization techniques including modification of sample rate conversion | |
CN109089130A (zh) | 一种调整直播视频的时间戳的方法和装置 | |
JP6290915B2 (ja) | 共通イベントベースのマルチデバイスメディア再生 | |
CN102132575A (zh) | 信息处理系统及信息处理装置 | |
CN104394421A (zh) | 视频帧的处理方法及装置 | |
CN107277594A (zh) | 一种视音频与弹幕同步方法及装置 | |
WO2016193784A1 (en) | Techniques for seamless media content switching during fixed-duration breaks | |
JP2015228648A (ja) | コンテンツ再生情報推定装置及び方法及びプログラム | |
CN110248240A (zh) | 视频的播放方法、装置、电子设备及存储介质 | |
CN108259998B (zh) | 播放器及播放控制方法、装置、电子设备及播放系统 | |
CN110418183A (zh) | 音视频同步方法、装置、电子设备及可读介质 | |
KR101853441B1 (ko) | 클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법 | |
CN110519627A (zh) | 一种音频数据的同步方法和装置 | |
CN109821235A (zh) | 游戏录像方法、装置及服务器 | |
CN110875955A (zh) | 自组织呈现网络中的设备管理 | |
CN109194971A (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 |