流媒体音频同步方法及装置与流程

文档序号:11681692阅读:239来源:国知局
流媒体音频同步方法及装置与流程

本发明实施例涉及通信技术领域,尤其涉及一种流媒体音频同步方法及装置。



背景技术:

随着互联网技术的发展,互联网上已能够传输实时流媒体内容,包括广播音频及直播视频。由于实时内容的数据长度是不可预知的,所以通常采用分段传输的方式,并采用具有差错控制的实时传输协议,如rtsp、hls、mms等。若接收端采集收到的内容,则需要根据特定的协议,将收到的分段数据重建成完整数据;若传输过程中发生错误或丢包,则只能接收到部分有效数据,得到时间上不连续的数据碎片。

现有技术中,接收端接收到多个分段数据后,依据每个分段数据头部包含的时间戳,以及分段数据的长度计算出数据碎片间的时间缝隙,并用空白音填补时间缝隙,填补之后接收端开始播放音频数据。

由于接收端填补时间缝隙的操作,使得接收端获取的音频数据相比于发送端实时发送的音频数据产生了一定的时延,导致接收端获取的音频数据无法与发送端实时发送的音频数据保持同步;另外,数据碎片间时间缝隙的计算也增大了接收端的运算量。



技术实现要素:

本发明实施例提供一种流媒体音频同步方法及装置,以使接收端获取的音频数据相比于发送端实时发送的音频数据没有时延,同时减小接收端的运算量。

本发明实施例的一个方面是提供一种流媒体音频同步方法,包括:

接收端接收并获取发送端发送的音频数据;

所述接收端以音频波形的方式播放所述音频数据,同时缓存所述音频波 形;

所述接收端对缓存的所述音频波形进行采集、编码、封装处理后形成音频文件。

本发明实施例的另一个方面是提供一种流媒体音频同步装置,包括:

接收获取模块,用于接收并获取发送端发送的音频数据;

播放模块,用于以音频波形的方式播放所述音频数据;

缓存模块,用于所述播放模块播放所述音频数据的同时缓存所述音频波形;

音频文件生成模块,用于对缓存的所述音频波形进行采集、编码、封装处理后形成音频文件。

本发明实施例提供的流媒体音频同步方法及装置,通过接收端以音频波形的方式播放发送端发送的音频数据的同时录制该音频数据,发送端实时发送的音频数据可被接收端实时接收、播放、录制,避免接收端获取的音频数据相比于发送端实时发送的音频数据产生时延;当接收端播放的音频数据存在数据碎片时,接收端录制的音频波形也存在时间缝隙,在该时间缝隙中接收端将录制不到任何的音频波形,则录制到空白音,即不需要接收端计算时间缝隙,并用空白音填补时间缝隙,减小了接收端的运算量。

附图说明

图1为本发明实施例提供的流媒体音频同步方法流程图;

图2为本发明另一实施例提供的流媒体音频同步方法流程图;

图3为本发明另一实施例提供的流媒体音频同步方法流程图;

图4为本发明另一实施例提供的流媒体音频同步方法流程图;

图5为本发明实施例提供的流媒体音频同步装置的结构图;

图6为本发明另一实施例提供的流媒体音频同步装置的结构图。

具体实施方式

图1为本发明实施例提供的流媒体音频同步方法流程图。本发明实施例针对接收端填补时间缝隙的操作,使得接收端获取的音频数据相比于发送端实时发送的音频数据产生了一定的时延,导致接收端获取的音频数据无法与 发送端实时发送的音频数据保持同步;另外,数据碎片间时间缝隙的计算也增大了接收端的运算量,提供了流媒体音频同步方法,该方法具体步骤如下:

步骤s101、接收端接收并获取发送端发送的音频数据;

在本发明实施例中,发送端具体为流媒体设备,该流媒体设备向接收端实时发送音频数据,该音频数据可以为广播音频,也可以为直播视频中的音频数据,接收端接收并获取发送端发送的音频数据。

步骤s102、所述接收端以音频波形的方式播放所述音频数据,同时缓存所述音频波形;

接收端接收到音频数据后即刻播放该音频数据,具体以音频波形的方式播放所述音频数据,另外,接收端还具有录制功能,当接收端以音频波形的方式播放所述音频数据的同时录制该音频数据,录制功能录制该音频数据的具体方式为接收端缓存所述音频波形,即接收端播放的音频数据均被录制功能进行录制,在不考虑音频数据从发送端到接收端的传输延时下,发送端实时发送的音频数据可被接收端实时接收、播放、录制。

步骤s103、所述接收端对缓存的所述音频波形进行采集、编码、封装处理后形成音频文件。

在本发明实施例中,接收端以音频波形的方式播放所述音频数据的同时缓存所述音频波形,保证了接收端播放的音频数据与其录制的音频波形是同步的,当接收端播放的音频数据存在数据碎片时,接收端录制的音频波形也存在时间缝隙,在该时间缝隙中接收端将录制不到任何的音频波形,则录制到空白音,后续接收端对其缓存的所述音频波形进行采集、编码、封装处理可形成音频文件,该音频文件可重复播放。

本发明实施例通过接收端以音频波形的方式播放发送端发送的音频数据的同时录制该音频数据,发送端实时发送的音频数据可被接收端实时接收、播放、录制,避免接收端获取的音频数据相比于发送端实时发送的音频数据产生时延;当接收端播放的音频数据存在数据碎片时,接收端录制的音频波形也存在时间缝隙,在该时间缝隙中接收端将录制不到任何的音频波形,则录制到空白音,即不需要接收端计算时间缝隙,并用空白音填补时间缝隙,减小了接收端的运算量。

图2为本发明另一实施例提供的流媒体音频同步方法流程图。该方法具 体步骤如下:

步骤s201、所述接收端接收所述发送端发送的实时流媒体数据;

在本发明实施例中,发送端向接收端实时发送流媒体数据,该流媒体数据可以为音视频数据,即流媒体数据既包括音频数据也包括视频数据,接收端缓存发送端实时发送的流媒体数据,并从流媒体数据中分解出音频数据。

步骤s202、所述接收端对所述流媒体数据进行解封装、解码处理后获得所述流媒体数据中的音频数据;

由于所述流媒体数据既包括音频数据也包括视频数据,则接收端对所述流媒体数据进行解封装、解码处理后获得所述流媒体数据中的音频数据。

步骤s203、所述接收端以音频波形的方式播放所述音频数据,同时缓存所述音频波形;

步骤s204、所述接收端对缓存的所述音频波形进行采集、编码、封装处理后形成音频文件。

本发明实施例中的步骤s203和步骤s204与上述实施例中的步骤s102和步骤s103一致,此处不再赘述。

本发明实施例通过接收端接收发送端发送的实时流媒体数据,并对流媒体数据进行解封装、解码处理后获得流媒体数据中的音频数据,保证了接收端后续对音频数据的处理。

图3为本发明另一实施例提供的流媒体音频同步方法流程图。该方法具体步骤如下:

步骤s301、所述接收端向所述发送端发送流媒体数据发送请求;

在本发明实施例中,接收端接收所述发送端发送的实时流媒体数据之前向发送端发送流媒体数据发送请求,触发发送端向接收端实时发送流媒体数据。

步骤s302、所述接收端接收所述发送端发送的实时流媒体数据;

步骤s303、所述接收端检测所述流媒体数据是否中断;

接收端在接收流媒体数据的同时,检测流媒体数据是否中断,中断的原因可能为接收端与发送端之间的网络状态不佳,也可能为发送端自动停止了流媒体数据的发送。

步骤s304、若所述流媒体数据中断,则所述接收端再次向所述发送端发 送流媒体数据发送请求;

优选的,当接收端没有接收到任何流媒体数据时,记录当前时刻,并录制流媒体数据中断的时间段,若该时间段超出某一设定阈值,则接收端再次向所述发送端发送流媒体数据发送请求,以使发送端再次向接收端实时发送流媒体数据。

步骤s305、所述接收端对所述流媒体数据进行解封装、解码处理后获得所述流媒体数据中的音频数据。

步骤s306、所述接收端以音频波形的方式播放所述音频数据,同时缓存所述音频波形;

步骤s307、所述接收端对缓存的所述音频波形进行采集、编码、封装处理后形成音频文件。

本发明实施例通过接收端向发送端发送流媒体数据发送请求,保证了发送端向接收端持续的发送流媒体数据。

图4为本发明另一实施例提供的流媒体音频同步方法流程图。在上述任一实施例的基础上,均可包括本发明实施例提供的步骤s403-s405,优选的,本发明实施例在图1对应的实施例基础上将步骤s103细化为步骤s403和s404,并增加步骤s405,本发明实施例提供的流媒体音频同步方法的具体步骤如下:

步骤s401、接收端接收并获取发送端发送的音频数据;

步骤s402、所述接收端以音频波形的方式播放所述音频数据,同时缓存所述音频波形;

步骤s403、所述接收端对缓存的所述音频波形进行周期性采集;

在本发明实施例中,接收端设定一个定时周期,并依据设定的周期对缓存的所述音频波形进行周期性采集,采集到的音频波形将从缓存中删除,由于音频数据从发送端连续不断的发出,即接收端持续不断的播放发送端发出的音频数据,同时缓存该音频数据的音频波形,造成接收端缓存的音频波形不断增加,通过对音频波形进行周期性采集,可降低缓存的存储量。

步骤s404、所述接收端将周期性采集到的所述音频波形的波形数据进行编码、封装处理后形成音频文件;

接收端周期性采集到音频波形的波形数据后,即刻对该波形数据进行编 码、封装处理后形成音频文件。

步骤s405、所述接收端向所述发送端发送流媒体数据中断请求。

另外,当接收端不需要发送端发送的流媒体数据时,向发送端发送流媒体数据中断请求,此时,若缓存中还存在音频波形,则对剩余的音频波形进行采集、编码、封装处理后形成音频文件。

本发明实施例通过接收端对缓存的音频波形进行周期性采集,并将周期性采集到的音频波形的波形数据进行编码、封装处理后形成音频文件,降低了缓存的存储量。

图5为本发明实施例提供的流媒体音频同步装置的结构图。本发明实施例提供的流媒体音频同步装置可以执行流媒体音频同步方法实施例提供的处理流程,如图5所示,流媒体音频同步装置50包括接收获取模块51、播放模块52、缓存模块53和音频文件生成模块54,其中,接收获取模块51用于接收并获取发送端发送的音频数据;播放模块52用于以音频波形的方式播放所述音频数据;缓存模块53用于所述播放模块播放所述音频数据的同时缓存所述音频波形;音频文件生成模块54用于对缓存的所述音频波形进行采集、编码、封装处理后形成音频文件。

本发明实施例通过接收端以音频波形的方式播放发送端发送的音频数据的同时录制该音频数据,发送端实时发送的音频数据可被接收端实时接收、播放、录制,避免接收端获取的音频数据相比于发送端实时发送的音频数据产生时延;当接收端播放的音频数据存在数据碎片时,接收端录制的音频波形也存在时间缝隙,在该时间缝隙中接收端将录制不到任何的音频波形,则录制到空白音,即不需要接收端计算时间缝隙,并用空白音填补时间缝隙,减小了接收端的运算量。

图6为本发明另一实施例提供的流媒体音频同步装置的结构图。在上述实施例的基础上,接收获取模块51包括接收单元511和获取单元512,其中,接收单元511用于接收所述发送端发送的实时流媒体数据;获取单元512用于对所述流媒体数据进行解封装、解码处理后获得所述流媒体数据中的音频数据。

流媒体音频同步装置50还包括发送模块55和检测模块56,发送模块55用于所述接收单元接收所述发送端发送的实时流媒体数据之前,向所述发送 端发送流媒体数据发送请求;检测模块56用于检测所述流媒体数据是否中断;发送模块55还用于当所述流媒体数据中断时,再次向所述发送端发送流媒体数据发送请求。

音频文件生成模块54包括采集单元541和编码封装单元542,其中,采集单元541用于对缓存的所述音频波形进行周期性采集;编码封装单元542用于将周期性采集到的所述音频波形的波形数据进行编码、封装处理后形成音频文件。

发送模块55还用于向所述发送端发送流媒体数据中断请求。

本发明实施例提供的流媒体音频同步装置可以具体用于执行上述图2、3、4所提供的方法实施例,具体功能此处不再赘述。

本发明实施例通过接收端接收发送端发送的实时流媒体数据,并对流媒体数据进行解封装、解码处理后获得流媒体数据中的音频数据,保证了接收端后续对音频数据的处理;通过接收端向发送端发送流媒体数据发送请求,保证了发送端向接收端持续的发送流媒体数据;通过接收端对缓存的音频波形进行周期性采集,并将周期性采集到的音频波形的波形数据进行编码、封装处理后形成音频文件,降低了缓存的存储量。

综上所述,本发明实施例通过接收端以音频波形的方式播放发送端发送的音频数据的同时录制该音频数据,发送端实时发送的音频数据可被接收端实时接收、播放、录制,避免接收端获取的音频数据相比于发送端实时发送的音频数据产生时延;当接收端播放的音频数据存在数据碎片时,接收端录制的音频波形也存在时间缝隙,在该时间缝隙中接收端将录制不到任何的音频波形,则录制到空白音,即不需要接收端计算时间缝隙,并用空白音填补时间缝隙,减小了接收端的运算量;通过接收端接收发送端发送的实时流媒体数据,并对流媒体数据进行解封装、解码处理后获得流媒体数据中的音频数据,保证了接收端后续对音频数据的处理;通过接收端向发送端发送流媒体数据发送请求,保证了发送端向接收端持续的发送流媒体数据;通过接收端对缓存的音频波形进行周期性采集,并将周期性采集到的音频波形的波形数据进行编码、封装处理后形成音频文件,降低了缓存的存储量。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的, 例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

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