影音同步修正

影音同步由播放器自动修正,本套软件改进思路如下:

1. 产生误差的原因

1.1 非同源时钟:当两个定时器非同一个时钟源时,彼此产生积累误差。由于音频和视频数据性质不同,分音频和视频两套播放系统,需要两个定时器。

1.2 非整数帧:Windows系统最高定时精度为1ms,帧间延时非整数时,积累产生误差。比如24帧视频,帧间延时为1000ms / 24帧 = 41.66ms,系统只能定时41ms,每帧0.6ms误差,播放一会,影音逐渐不对照。

2. 同步是必须的,同步思路是音频定时器修正视频定时器,音频定时器固定一秒,即每一秒修正一次。视频定时器每播放一秒后停止,为了消除误差,最后一帧不播放,即每秒减少最后一帧定时次数,音频定时器除完成自己的工作,还触发播放一个视频帧,同时重新启动视频定时器,完成同步工作。

3. 示意图:

 4. 这个想法经实际测试,可以正常播放视频,未发现异常。

 

posted @ 2017-06-11 15:13  hbg200  阅读(139)  评论(0编辑  收藏  举报