主页(http://www.pttcn.net):【对讲】解析楼宇对讲系统中的音频同步问题 目前,成熟的智能家居系统的室外机中,门禁可视对讲和门禁控制几乎全部采用模拟信号,安装时需要架设专用网络,布线复杂,不可扩展,灵活性差,传输距离短,投资大,维护成本高。随着市场需求的增长、消费者消费观念的提高以及模拟系统沉重的工程维护代价,结合以太网技术的全数字室外机和门禁产品成为研发的热点。但是在诸多因素影响下,当前的数字门禁产品不成熟,不稳定,价格高昂,特别是门禁对讲中的音视频同步问题,一直以来都是数字可视对讲的短板。 在数字可视对讲中,可以考虑的音视频同步方案有两种:一是发送端解决;二是接收端解决。 发送端解决方法比较简单,具体措施是在发送端先将一段时间内采集到音视频数据打包。比如采集到一帧视频图像,将这帧图像与采集这帧视频的时间内采集到的视频数据打成一个包,接收端接收到这个包之后解包分别播放就可以了。发送端解决的控制方法比较简单,但是高清若是要求清晰度比较高的情况下就不是很理想,清晰度高,意味着每个音视频包数据量就大,能保证同步,却不保证连续。测试这种方案时,在同一个线程中循环的按照先后顺序发送PCM音频,和H.264视频,测试的结果表明这种方法确实存在连续问题。 接收端解决方案绕不开的问题是时间戳,接收端根据接收到的音视频数据的时间戳安排播放。时间戳需要一个参考时间。而采集过程中视频的时间是不定的,数字摄像头采集图像的帧率是一个平均值,不宜用来做参考时间,所以只能用音频时间作为参考时间。 与文件形式的多媒体不同的是,可视对讲中音视频流的源端是永远同步的。所以一种简单的解决方案是发送端启用独立的音频和视频线程,进行音视频采集,采集后只管往外发送数据,接收端接到数据就分别解码播放,从表面看,这种采用无同步机制多线程解决方案是可行的,但是忽略了一个问题:音频数据包和视频数据包的大小。包的大小会影响网络传输的速度。这种差别在网络条件好的情况下显示不出来,一旦遇到网络拥塞或者其他情况就会变得很明显。
根据对音频采集和处理的叙述,我们知道,音频的采集是有时间机制的。比如采样率是8000,采样位数是8,我们就可以算出采8K字节的数据所用的时间是1s,这样音频就可以按照自己的速度播放;而摄像头每秒采集的帧数是相对固定的,如OV9650采集速度为平均每秒30帧,这样即可以算出1/30秒(约为0.03333,具体精度可以根据要求决定)刷新一帧图片,这种方式中只要保证源端音频视频的采集是同步的就可以,而门禁对讲过程中,这种同步是原生的。 (中国集群通信网 | 责任编辑:陈晓亮) |