在线视频的音视频同步控制方法

文档序号:7993237阅读:207来源:国知局
专利名称:在线视频的音视频同步控制方法
技术领域
本发明涉及在线视频控制领域,具体涉及一种在线视频的音视频同步控制方法。
背景技术
目前,在各种网络视频、V⑶、DVD、数字电视以及新涌现的IPTV、手机电视等等视频播放应用中,国际标准以及其它非标准方法都将视频与其伴音信号的压缩编码分开进行, 在网络中也都分别通过不同的数据单元(包、分组或帧等)进行传输,而且音频与视频信号的压缩编码采用了完全不同的方法。由此,不可避免地要解决音视频的同步问题。尤其是近年来,随着互联网的发展,基于在线视频的娱乐、交友、教学得到了日益广泛的应用,而在网络视频应用中,不同时刻网络的吞吐量、传输时延等是不断变化的,这就使传输视频信号的分组与传输其对应伴音的分组很难同时到达接收端,从而使视频信号的播放不能与其伴音同步的问题更加严重,产生“唇音不同步”的效果,极大地限制了,基于在线视频的娱乐、交友、教学的推广和应用。

发明内容
本发明要解决的技术问题是提供一种多媒体音视频同步效果好、简单可靠、开销小的在线视频的音视频同步控制方法。为了解决上述技术问题,本发明采用的技术方案为 一种在线视频的音视频同步控制方法,其实施步骤如下
1)视频服务器将媒体文件拆分为视频数据包和音频数据包;
2)视频服务器将每一个视频数据包和音频数据包中插入时间戳并分发给请求在线视频服务的客户端;
3)客户端接收视频数据包和音频数据包,根据视频数据包预设的帧率播放视频数据包,同时通过声卡时钟同步播放音频数据包;
4)客户端定时检测视频数据包和音频数据包中的时间戳是否一致,如果不一致则修改音频数据包的播放速度直至视频数据包和音频数据包中的时间戳达到一致。作为上述技术方案的进一步改进
所述步骤2)的详细步骤包括视频服务器在将媒体文件拆分为视频数据包和音频数据包时,为同时拆分得到的视频数据包和音频数据包添加一个相同的时间戳,然后将添加时间戳后的视频数据包和音频数据包分别分发给请求在线视频服务的客户端。所述步骤3)中客户端接收视频数据包和音频数据包的详细步骤包括客户端预先建立具有视频缓冲队列和音频缓冲队列的媒体缓冲池,然后每接收到一个数据包则检测其数据包类型,如果数据包类型为视频数据包则放入视频缓冲队列,如果数据包类型为音频数据包则放入音频缓冲队列。所述步骤4)的详细步骤包括客户端设定检测周期,在后在每一个检测周期触发时,首先将视频数据包和音频数据包中的时间戳进行比较,然后根据比较结果修改音频数据包的播放速度,如果音频数据包延迟则将音频播放速度加速,如果视频数据包延迟则将音频播放速度减速,如果视频数据包和音频数据包同步则将音频播放速度恢复为通过声卡时钟同步播放音频数据包。本发明具有下述优点
本发明的客户端接收视频数据包和音频数据包,根据视频数据包预设的帧率播放视频数据包,同时通过声卡时钟同步播放音频数据包,客户端定时检测视频数据包和音频数据包中的时间戳是否一致,如果不一致则修改音频数据包的播放速度直至视频数据包和音频数据包中的时间戳达到一致,通过及视频播放速度为基准、调节音频的播放速率来实现同步,算法简单、计算资源耗费低,具有多媒体音视频同步效果好、简单可靠、开销小的优点。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例的主要流程示意图。
具体实施例方式下面结合附图对本发明的优选实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。如图1所示,本实施例的在线视频的音视频同步控制方法,其实施步骤如下
1)视频服务器将媒体文件拆分为视频数据包和音频数据包;
2)视频服务器将每一个视频数据包和音频数据包中插入时间戳并分发给请求在线视频服务的客户端;
3)客户端接收视频数据包和音频数据包,根据视频数据包预设的帧率播放视频数据包,同时通过声卡时钟同步播放音频数据包;
4)客户端定时检测视频数据包和音频数据包中的时间戳是否一致,如果不一致则修改音频数据包的播放速度直至视频数据包和音频数据包中的时间戳达到一致。步骤2)的详细步骤包括视频服务器在将媒体文件拆分为视频数据包和音频数据包时,为同时拆分得到的视频数据包和音频数据包添加一个相同的时间戳,然后将添加时间戳后的视频数据包和音频数据包分别分发给请求在线视频服务的客户端。步骤3)中客户端接收视频数据包和音频数据包的详细步骤包括客户端预先建立具有视频缓冲队列和音频缓冲队列的媒体缓冲池,然后每接收到一个数据包则检测其数据包类型,如果数据包类型为视频数据包则放入视频缓冲队列,如果数据包类型为音频数据包则放入音频缓冲队列。步骤4)的详细步骤包括客户端设定检测周期,在后在每一个检测周期触发时, 首先将视频数据包和音频数据包中的时间戳进行比较,然后根据比较结果修改音频数据包的播放速度,如果音频数据包延迟则将音频播放速度加速,如果视频数据包延迟则将音频播放速度减速,如果视频数据包和音频数据包同步则将音频播放速度恢复为通过声卡时钟同步播放音频数据包。 以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种在线视频的音视频同步控制方法,其特征在于其实施步骤如下1)视频服务器将媒体文件拆分为视频数据包和音频数据包;2)视频服务器将每一个视频数据包和音频数据包中插入时间戳并分发给请求在线视频服务的客户端;3)客户端接收视频数据包和音频数据包,根据视频数据包预设的帧率播放视频数据包,同时通过声卡时钟同步播放音频数据包;4)客户端定时检测视频数据包和音频数据包中的时间戳是否一致,如果不一致则修改音频数据包的播放速度直至视频数据包和音频数据包中的时间戳达到一致。
2.根据权利要求1所述的在线视频的音视频同步控制方法,其特征在于,所述步骤2) 的详细步骤包括视频服务器在将媒体文件拆分为视频数据包和音频数据包时,为同时拆分得到的视频数据包和音频数据包添加一个相同的时间戳,然后将添加时间戳后的视频数据包和音频数据包分别分发给请求在线视频服务的客户端。
3.根据权利要求2所述的在线视频的音视频同步控制方法,其特征在于,所述步骤3) 中客户端接收视频数据包和音频数据包的详细步骤包括客户端预先建立具有视频缓冲队列和音频缓冲队列的媒体缓冲池,然后每接收到一个数据包则检测其数据包类型,如果数据包类型为视频数据包则放入视频缓冲队列,如果数据包类型为音频数据包则放入音频缓冲队列。
4.根据权利要求1或2或3所述的在线视频的音视频同步控制方法,其特征在于,所述步骤4)的详细步骤包括客户端设定检测周期,在后在每一个检测周期触发时,首先将视频数据包和音频数据包中的时间戳进行比较,然后根据比较结果修改音频数据包的播放速度,如果音频数据包延迟则将音频播放速度加速,如果视频数据包延迟则将音频播放速度减速,如果视频数据包和音频数据包同步则将音频播放速度恢复为通过声卡时钟同步播放音频数据包。
全文摘要
本发明公开了一种在线视频的音视频同步控制方法,其实施步骤如下1)视频服务器将媒体文件拆分为视频数据包和音频数据包;2)视频服务器将每一个视频数据包和音频数据包中插入时间戳并分发给请求在线视频服务的客户端;3)客户端接收视频数据包和音频数据包,根据视频数据包预设的帧率播放视频数据包,同时通过声卡时钟同步播放音频数据包;4)客户端定时检测视频数据包和音频数据包中的时间戳是否一致,如果不一致则修改音频数据包的播放速度直至视频数据包和音频数据包中的时间戳达到一致。本发明具有多媒体音视频同步效果好、简单可靠、开销小的优点。
文档编号H04N21/8547GK102404650SQ201110388790
公开日2012年4月4日 申请日期2011年11月30日 优先权日2011年11月30日
发明者林云 申请人:江苏奇异点网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1