目前,成熟的智能家居系統(tǒng)的室外機(jī)中,門禁可視對(duì)講和門禁控制幾乎全部采用模擬信號(hào),安裝時(shí)需要架設(shè)專用網(wǎng)絡(luò),布線復(fù)雜,不可擴(kuò)展,靈活性差,傳輸距離短,投資大,維護(hù)成本高。隨著市場(chǎng)需求的增長(zhǎng)、消費(fèi)者消費(fèi)觀念的提高以及模擬系統(tǒng)沉重的工程維護(hù)代價(jià),結(jié)合以太網(wǎng)技術(shù)的全數(shù)字室外機(jī)和門禁產(chǎn)品成為研發(fā)的熱點(diǎn)。但是在諸多因素影響下,當(dāng)前的數(shù)字門禁產(chǎn)品不成熟,不穩(wěn)定,價(jià)格高昂,特別是門禁對(duì)講中的音視頻同步問題,一直以來都是數(shù)字可視對(duì)講的短板。
在數(shù)字可視對(duì)講中,可以考慮的音視頻同步方案有兩種:一是發(fā)送端解決;二是接收端解決。
發(fā)送端解決方法比較簡(jiǎn)單,具體措施是在發(fā)送端先將一段時(shí)間內(nèi)采集到音視頻數(shù)據(jù)打包。比如采集到一幀視頻圖像,將這幀圖像與采集這幀視頻的時(shí)間內(nèi)采集到的視頻數(shù)據(jù)打成一個(gè)包,接收端接收到這個(gè)包之后解包分別播放就可以了。發(fā)送端解決的控制方法比較簡(jiǎn)單,但是高清若是要求清晰度比較高的情況下就不是很理想,清晰度高,意味著每個(gè)音視頻包數(shù)據(jù)量就大,能保證同步,卻不保證連續(xù)。測(cè)試這種方案時(shí),在同一個(gè)線程中循環(huán)的按照先后順序發(fā)送PCM音頻,和H.264視頻,測(cè)試的結(jié)果表明這種方法確實(shí)存在連續(xù)問題。
接收端解決方案繞不開的問題是時(shí)間戳,接收端根據(jù)接收到的音視頻數(shù)據(jù)的時(shí)間戳安排播放。時(shí)間戳需要一個(gè)參考時(shí)間。而采集過程中視頻的時(shí)間是不定的,數(shù)字?jǐn)z像頭采集圖像的幀率是一個(gè)平均值,不宜用來做參考時(shí)間,所以只能用音頻時(shí)間作為參考時(shí)間。
與文件形式的多媒體不同的是,可視對(duì)講中音視頻流的源端是永遠(yuǎn)同步的。所以一種簡(jiǎn)單的解決方案是發(fā)送端啟用獨(dú)立的音頻和視頻線程,進(jìn)行音視頻采集,采集后只管往外發(fā)送數(shù)據(jù),接收端接到數(shù)據(jù)就分別解碼播放,從表面看,這種采用無同步機(jī)制多線程解決方案是可行的,但是忽略了一個(gè)問題:音頻數(shù)據(jù)包和視頻數(shù)據(jù)包的大小。包的大小會(huì)影響網(wǎng)絡(luò)傳輸?shù)乃俣?。這種差別在網(wǎng)絡(luò)條件好的情況下顯示不出來,一旦遇到網(wǎng)絡(luò)擁塞或者其他情況就會(huì)變得很明顯。
根據(jù)對(duì)音頻采集和處理的敘述,我們知道,音頻的采集是有時(shí)間機(jī)制的。比如采樣率是8000,采樣位數(shù)是8,我們就可以算出采8K字節(jié)的數(shù)據(jù)所用的時(shí)間是1s,這樣音頻就可以按照自己的速度播放;而攝像頭每秒采集的幀數(shù)是相對(duì)固定的,如OV9650采集速度為平均每秒30幀,這樣即可以算出1/30秒(約為0.03333,具體精度可以根據(jù)要求決定)刷新一幀圖片,這種方式中只要保證源端音頻視頻的采集是同步的就可以,而門禁對(duì)講過程中,這種同步是原生的。