Ip网络流媒体音视频同步播放方法

文档序号:7953591阅读:234来源:国知局
专利名称:Ip网络流媒体音视频同步播放方法
技术领域
本发明涉及IP网络技术,特别涉及IP网络流媒体音视频同步技术。
背景技术
随着家电、通信、消费电子3C合一大趋势的发展,基于IP网络的流媒体播放系统逐渐成为热点。在IP网络流媒体播放技术中,如何在接收端正确恢复音频与视频之间的时间关系,即实现音视频同步播放,成为关键技术之一。
现有技术中,终端在开始流媒体播放后(点播或组播),就开始不断收到来自网络的媒体数据包。这时的处理流程如下(以媒体的视频为mpeg4,音频为mp3为例)(1)首先通过RTP Payload(RTP载荷)判断媒体类型,得知其是哪种格式的音频或视频媒体;(2)根据媒体类型,将媒体数据及其pts(时间标签)送到内存中的音频或视频缓冲区;(3)a.当视频缓冲区内视频数据达到一定数目后,开启定时器,根据视频数据的pts将其送到视频解码器处理,并输出视频;(3)b.当音频缓冲区内音频数据达到一定数目后,开启定时器,根据音频数据的pts,将音频缓冲区中mp3原始音频数据解码,并把解码输出的PCM数据送到音频芯片/声卡处理,并输出音频。播放流程参见图1。
由于IP网络传输数据的复杂因素,上述流媒体播放过程,音视频同步精度不确定,随机误差大,同步效果差强人意。
而现有的音视频同步的相关技术,主要局限在单机的播放系统,并不适合网络环境下的多媒体播放系统。

发明内容
本发明所要解决的技术问题,就是提供一种简单易行,行之有效的基于IP网络的流媒体播放的音视频同步方法,有效保障网络环境下音视频同步的精度和效果。
本发明解决所述技术问题,采用的技术方案是,IP网络流媒体音视频同步播放方法,包括以下步骤I.接收网络数据包;II.读取RTP数据;III.设置音频暂存区和视频暂存区,对RTP数据重新排序后存入所述暂存区;IV.设置音频定时器和视频定时器,分别控制音频暂存区数据和视频暂存区数据播放速度;V.根据音视频数据的pts顺序,将音视频数据从上述暂存区送入缓冲区;VI.从缓冲区读取数据进行播放处理。
本发明的有益效果是,由于增加了暂存区,通过定时器对音视频数据播放速度进行分别控制,能够极大地提高音视频同步精度,改善流媒体播放效果。本发明同步流程简单,容易实现。


图1为现有技术流媒体播放流程;图2为本发明实施例的播放流程;图3实施例中音频定时器控制流程;图4实施例中视频定时器控制流程。
具体实施例方式
下面结合附图及实施例,详细描述本发明的技术方案。
本发明的技术方案是,IP网络流媒体音视频同步播放方法,包括以下步骤I.接收网络数据包;II.读取RTP数据,判断媒体类型;III.设置音频暂存区和视频暂存区,对RTP数据重新排序后存入所述暂存区;IV.设置音频定时器和视频定时器,分别控制音频暂存区数据和视频暂存区数据播放速度;V.根据音视频数据的pts顺序,将音视频数据从上述暂存区送入缓冲区;VI.从缓冲区读取数据进行播放处理;进一步的是,所述步骤IV中,当音频暂存区数据达到设定值时,调整音频定时器,增加音频数据播放速度;具体的设定值为85%;或者,所述步骤IV中,执行如下步骤a1.设定音频定时器的阈值为At;a2.计算当前播放的视频pts与音频pts的差值,当所述差值>At时,调整音频定时器,增加音频数据播放速度;更进一步的是,增加了音频数据播放速度后,当视频暂存区数据达到预定值时,重新校正音频数据播放速度基准;具体的预定值设为85%。
视频定时器的控制是,所述步骤IV中,当视频暂存区数据达到设定值时,调整视频定时器,增加视频数据播放速度;具体的设定值为85%;或者,所述步骤IV中,执行如下步骤v1.设定视频定时器的阈值为Vt;v2.计算当前播放的音频pts与视频pts的差值,当所述差值>Vt时,调整视频定时器,增加视频数据播放速度;增加视频数据播放速度后,当音频暂存区数据达到预定值时,暂停播放视频数据;具体的预定值设为85%。
实施例本例流媒体播放流程如图2所示。
在从收到来自网络的媒体数据后,压入一个暂存区,而不直接推送到音频/视频的缓冲区。在暂存区内,根据数据包的序列号对其重新排序。之后,由音视频定时器定期访问该暂存区,将数据取到音品/视频的缓冲区内。
本发明音视频的同步,主要是通过取得流媒体服务器发过来的视频数据每帧数据的参考时间,和每个音频数据包的参考时间来实现。由于流媒体服务器发来的数据的进度基本是与实际播放进度同步的,因此主要在终端侧对音频和视频定时器进行控制,从而达到控制音视频播放速度的目的。
预先设定当前播放的音频与视频的pts时间差的阈值为100ms,即音视频的时间异步不超过100ms。该值是在后面的定时器控制算法中的参考值。
音频定时器的控制流程如图3所示。
默认情况下,音频播放速度与其基准值一致。
每次读取音频数据,计算当前播放的视频与音频的pts的时间差,然后在两种条件下让音频播放更快一些(1)音频暂存区快满了(达到暂存区的85%);(2)视频与音频播放的pts时间差大于阈值100ms。
其中,在第二种情况下,倘若视频暂存区也快要满(达到暂存区的85%),则适度增大音频播放的基准值,该值在再次修改前对以后的音频播放速度均有效。
部分参考代码如下int va_gap;long video_pts,audio_pts;va_gap=video_pts-audio_pts。
其它情况下,按正常速度播放音频。
图4示出了视频定时器控制流程。
视频定时器的算法基本与音频定时器算法一致。每次取来视频数据,计算当前播放的音频与视频的pts的时间差,然后在两种条件下让视频播放更快一些
(1)视频暂存区快满了(达到暂存区的85%);(2)音频与视频播放的pts时间差大于阈值100ms。
其中,在第二种情况下,倘若视频暂存区也快要满(达到暂存区的85%),则本次不从暂存区读取视频数据到视频缓冲区,同时延迟播放该帧视频数据。
其它情况下,按正常速度播放视频。
权利要求
1.IP网络流媒体音视频同步播放方法,包括以下步骤I.接收网络数据包;II.读取RTP数据;III.设置音频暂存区和视频暂存区,对RTP数据重新排序后存入所述暂存区;IV.设置音频定时器和视频定时器,分别控制音频暂存区数据和视频暂存区数据播放速度;V.根据音视频数据的pts顺序,将音视频数据从上述暂存区送入缓冲区;VI.从缓冲区读取数据进行播放处理。
2.根据权利要求1所述的IP网络流媒体音视频同步播放方法,其特征在于,所述步骤IV中,当音频暂存区数据达到设定值时,调整音频定时器,增加音频数据播放速度。
3.根据权利要求2所述的IP网络流媒体音视频同步播放方法,其特征在于,所述设定值为85%。
4.根据权利要求1所述的IP网络流媒体音视频同步播放方法,其特征在于,所述步骤IV中,执行如下步骤a1.设定音频定时器的阈值为At;a2.计算当前播放的视频pts与音频pts的差值,当所述差值>At时,调整音频定时器,增加音频数据播放速度。
5.根据权利要求2、3或4所述的IP网络流媒体音视频同步播放方法,其特征在于,所述步骤IV中,当视频暂存区数据达到预定值时,重新校正音频数据播放速度基准。
6.根据权利要求5所述的IP网络流媒体音视频同步播放方法,其特征在于,所述预定值为85%。
7.根据权利要求1所述的IP网络流媒体音视频同步播放方法,其特征在于,所述步骤IV中,当视频暂存区数据达到设定值时,调整视频定时器,增加视频数据播放速度。
8.根据权利要求7所述的IP网络流媒体音视频同步播放方法,其特征在于,所述设定值为85%。
9.根据权利要求1所述的IP网络流媒体音视频同步播放方法,其特征在于,所述步骤IV中,执行如下步骤v1.设定视频定时器的阈值为Vt;v2.计算当前播放的音频pts与视频pts的差值,当所述差值>Vt时,调整视频定时器,增加视频数据播放速度。
10.根据权利要求7、8或9所述的IP网络流媒体音视频同步播放方法,其特征在于,所述步骤IV中,当音频暂存区数据达到预定值时,暂停播放视频数据。
11.根据权利要求10所述的IP网络流媒体音视频同步播放方法,其特征在于,所述预定值为85%。
全文摘要
本发明涉及IP网络技术,特别涉及IP网络流媒体音视频同步技术。本发明提供了一种基于IP网络的流媒体播放的音视频同步方法,本发明的技术方案是在现有IP网络流媒体音视频播放的基础上,增加了音视频暂存区,并设置了音视频定时器,对暂存区的音视频数据播放进行发白控制,以通过音视频同步精度。本发明的有益效果是,由于增加了暂存区,通过定时器对音视频数据播放速度进行分别控制,能够极大地提高音视频同步精度,改善流媒体播放效果。本发明同步流程简单,容易实现。
文档编号H04N7/60GK1917652SQ20061002177
公开日2007年2月21日 申请日期2006年9月7日 优先权日2006年9月7日
发明者刘杰 申请人:四川长虹电器股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1