【技术实现步骤摘要】
一种基于音频伸缩的音视频同步播放方法
本专利技术涉及媒体播放相关
,尤其是指一种基于音频伸缩的音视频同步播放方法。
技术介绍
在网络或其他媒体播放环境,因带宽或其他设备性能限制,视频数据有被丢包或者传送迟延的情况发生。对这种情况的简单处理就是等待或者丢帧。这样就会造成播放停滞或音视频不同步,影响到媒体受众的体验。音频数据与视频数据同时丢失或延迟,会导致播放卡顿。媒体播放中,所幸音频流的数据量要比视频流的数据量少很多,故播放不流畅的问题大都源于视频数据的传送存在丢包或延时。
技术实现思路
本专利技术是为了克服现有技术中存在上述的不足,提供了一种操作简单且易于实现的基于音频伸缩的音视频同步播放方法。为了实现上述目的,本专利技术采用以下技术方案:一种基于音频伸缩的音视频同步播放方法,整个播放过程按Audio播放和Video播放两个线程来处理,Audio播放线程主导整个播放的时间控制,两个线程共享同一个缓冲区,缓冲区接收上游传送来的音视频数据,形成两个按时间戳顺序排列的sample队列,队列最前端的Sample为当前要播放处理的Sample,具体包括如下步骤:(1)缓冲区初始化后,队列清空;(2)设置媒体播放时间mediaPlayTime,即累计的音频sample时间,由Audio播放线程设置,初始值清零;(3)设置一音频伸缩时值tDelta,表示当前Audio数据需要伸缩的幅度,这个值由Video播放线程设置,由Audio播放线程读取并以此控制播放。 ...
【技术保护点】
1.一种基于音频伸缩的音视频同步播放方法,其特征是,整个播放过程按Audio播放和Video播放两个线程来处理,Audio播放线程主导整个播放的时间控制,两个线程共享同一个缓冲区,缓冲区接收上游传送来的音视频数据,形成两个按时间戳顺序排列的sample队列,队列最前端的Sample为当前要播放处理的Sample,具体包括如下步骤:/n(1)缓冲区初始化后,队列清空;/n(2)设置媒体播放时间mediaPlayTime,即累计的音频sample时间,由Audio播放线程设置,初始值清零;/n(3)设置一音频伸缩时值tDelta,表示当前Audio数据需要伸缩的幅度,这个值由Video播放线程设置,由Audio播放线程读取并以此控制播放。/n
【技术特征摘要】
1.一种基于音频伸缩的音视频同步播放方法,其特征是,整个播放过程按Audio播放和Video播放两个线程来处理,Audio播放线程主导整个播放的时间控制,两个线程共享同一个缓冲区,缓冲区接收上游传送来的音视频数据,形成两个按时间戳顺序排列的sample队列,队列最前端的Sample为当前要播放处理的Sample,具体包括如下步骤:
(1)缓冲区初始化后,队列清空;
(2)设置媒体播放时间mediaPlayTime,即累计的音频sample时间,由Audio播放线程设置,初始值清零;
(3)设置一音频伸缩时值tDelta,表示当前Audio数据需要伸缩的幅度,这个值由Video播放线程设置,由Audio播放线程读取并以此控制播放。
2.根据权利要求1所述的一种基于音频伸缩的音视频同步播放方法,其特征是,在步骤(3)中,Audio播放线程工作原理如下:
(311)Audio播放线程定时查询sample数据,并向播放器或声卡填充sample数据,以保证audio的流畅播放,定时周期按sample数据长度设定;
(312)每次查询时,检测音频伸缩时值tDelta,如果tDelta为0,为正常速度播放,则音频Sample数据不需处理,直接送至声卡,mediaPlayTime的增量为此sample的时长;
(313)如果tDelta大于0,为相对慢速,则须将当前sample数据以WSOLA算法拉长后再送至声卡,即将当前sample数据按比例拉伸,然后调整播放时间mediaPlayTime,更新tDelta,在下一次sample查询时,再次拉伸,调整tDelta,直至tDelta为0,回归正常播放;
(314)如果tDelta小于0,为相对快速,则须将当前sample数据以WSOLA算法缩短后再送至声卡,即将当前sample数据按比例缩短,然后调整播放时间mediaPlayTime,更新tDelta,在下一次sample查询时,再次缩短,调整tDelta,直至tDelta为0,回归正常播放。
3.根据权利要求2所述的一种基于音频伸缩的音视频同步播放方法,其特征是,在步骤(313)中,在下一次sample查询时,更新后的tDelta仍大于等于拉伸比例,则再次按相同比例拉伸,调整tDelta;如果更新后的tDelta小于拉伸比例,则再次按tDelta的值设定拉伸比例;直至tDelta为0,回归正常播放。
4.根据权利要求2所述的一种基于音频伸缩的音视频同步播放方法,其特征是,在步骤(314)中,在下一次sample查询时,更新后的tDelta仍大于等于缩短比例,则再次按相同比例缩短,调整tDelta;如果更新后的tDelta小于缩短比例,则再次按tDelta的值设定缩短比例;直至tDelta为0,回归正常播放。
5.根据权利要求2所述的...
【专利技术属性】
技术研发人员:李宏元,吴奕刚,孙彦龙,
申请(专利权)人:杭州当虹科技股份有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。