解析數字門禁可視對講中的音視頻同步原理
本文介紹了一種基于新型的音視頻同步解決方案。闡述了方案的構思,設計和實現方法。該方案已在一種新型的數字化智能家居門禁系統中得到了應用,并取得良好的效果。
一、引言
目前,成熟的智能家居系統的室外機、門禁可視對講和門禁控制幾乎全部采用模擬信號,安裝時需要架設專用網絡,布線復雜,不可擴展,靈活性差,傳輸距離短,投資大,維護成本高。隨著市場需求的增長、消費者消費觀念的提高以及模擬系統沉重的工程維護代價,結合以太網技術的全數字室外機和門禁產品成為研發(fā)的熱點。但是在諸多因素影響下,當前的數字門禁產品不成熟、不穩(wěn)定、價格高昂,特別是門禁對講中的音視頻同步問題,一直以來都是數字可視對講的短板。
二、音視頻同步問題概述
音視頻同步問題是可視對講中的重點需要解決的問題之一,也是一直以來被模擬門禁產品廠商攻擊的一個弱點,因為模擬可視對講產品都采用專線傳輸,不存在這個問題。解決同步問題的方法有很多種,其中時間戳是最成熟最完美也是最復雜的解決辦法,可以解決任何多媒體領域的音視頻同步問題;其原理是選擇一個參考時間,在生成數據流時依據參考時間上的時間給每個數據塊都打上時間戳;在播放時,讀取數據塊上的時間戳,同時參考當前時鐘上的時間來安排播放,讓快于這個參考時間的包等待,丟棄慢于這個參考時間的包。在基于時間戳的同步機制中,僅僅對不同步的數據進行處理是不完備的,還需要反饋機制,如基于Windows平臺的DirectShow就提供這樣一個反饋機制,它的質量控制(QualityControl)可以將播放的狀態(tài)反饋給源,讓源端加快或者放慢數據流的速度。
在多媒體文件采集,播放及對同步的要求都非常嚴格,如果從多媒體文件中分離出音視頻數據的數據不同步,音視頻的時間差則會越來越大,這是無法忍受的,所以在多媒體文件中,不但要求有同步機制,還要求有反饋機制。
三、數字可視對講中的音視頻同步方案
在數字可視對講中,可以考慮的音視頻同步方案有兩種:一是發(fā)送端解決;二是接收端解決。
發(fā)送端解決方法比較簡單,具體措施是在發(fā)送端先將一段時間內采集到音視頻數據打包。比如采集到一幀視頻圖像,將這幀圖像與采集這幀視頻的時間內采集到的視頻數據打成一個包,接收端接收到這個包之后解包分別播放就可以了。發(fā)送端解決的控制方法比較簡單,但是在高清要求清晰度比較高的情況下就不是很理想,清晰度高,意味著每個音視頻包數據量就大,能保證同步,卻難以保證連續(xù)。我們在同一個線程中按照先后順序發(fā)送PCM音頻和H.264視頻,測試結果表明這種方法確實存在連續(xù)問題。
接收端解決方案繞不開的問題是時間戳,接收端根據接收到的音視頻數據的時間戳安排播放。時間戳需要一個參考時間,而采集過程中視頻的時間是不定的,數字攝像頭采集圖像的幀率是一個平均值,不宜用來做參考時間,所以只能用音頻時間作為參考時間。
四、聲卡編程和聲卡驅動的時間機制
門禁可視對講中音頻是雙向的。本文的門禁可視對講方案中,音頻的采用PCM(PulseCodeModulation——脈碼調制錄音)采集,在網絡中傳送的也是原始數據,之所以沒有對音頻數據進行編碼處理是基于以下原因:一是S3C6410沒有提供對音頻的硬編解碼,如果使用軟件實現編解碼,在有限的系統資源條件下難以實現;二是音頻數據量較?。翰捎?000采樣率和量化位數為8位的電話語音標準,一秒的音頻數據是8K字節(jié),只相當于視頻1幀數據的兩倍,這對普遍擁有百兆網卡的局域網來說,數據量很小。實驗的結果表明,這種簡單的處理方式被證明是有效的。
評論