基于ARM Linux的無線音視頻對講系統(tǒng)
隨著數(shù)字化和網(wǎng)絡(luò)化時(shí)代的到來,尤其是寬帶無線網(wǎng)絡(luò)的發(fā)展,為音視頻這樣大數(shù)據(jù)量傳輸業(yè)務(wù)在無線網(wǎng)絡(luò)上的應(yīng)用提供了契機(jī)。同時(shí)由于音視頻獨(dú)特的感官特性,使其相關(guān)的應(yīng)用需求也變得越來越迫切。無線多媒體是多媒體和移動通信這兩個(gè)領(lǐng)域的技術(shù)相互融合的產(chǎn)物,成為當(dāng)今通信領(lǐng)域的一個(gè)熱點(diǎn)。鑒于Linux內(nèi)核的開源性,采用其作為操作系統(tǒng),從而使整個(gè)系統(tǒng)具有更好的實(shí)時(shí)性和穩(wěn)定性。整個(gè)系統(tǒng)以ARM11為核心處理器、采用新一代視頻編解碼標(biāo)準(zhǔn)H.264進(jìn)行編譯碼,并通過無線網(wǎng)絡(luò)傳輸音視頻。它充分利用S3C6410微處理器內(nèi)部集成的多媒體編解碼器(Multi-Formatvideo Codec,MFC),有效提高了系統(tǒng)的性價(jià)比。整個(gè)系統(tǒng)為無線多媒體音視頻的傳輸提供了一個(gè)好的解決方案,可廣泛應(yīng)用在遠(yuǎn)程監(jiān)控、視頻電話等各種領(lǐng)域,具有較好的實(shí)用價(jià)值和推廣應(yīng)用前景。
本文引用地址:http://butianyuan.cn/article/201809/388278.htm1. 系統(tǒng)總體方案設(shè)計(jì)
通信雙方系統(tǒng)中音頻和視頻采集模塊負(fù)責(zé)采集模擬信號,并將采集到的音視頻數(shù)據(jù)送到音視頻管理模塊,經(jīng)過壓縮處理,再加上數(shù)據(jù)包頭一起由WiFi發(fā)送到對方;對方接收到數(shù)據(jù)后,經(jīng)過相關(guān)處理,判斷音視頻幀類型,再送往解壓縮處理模塊,恢復(fù)出音視頻數(shù)據(jù)。通信雙方設(shè)備均包含嵌入式音視頻管理模塊和無線收發(fā)模塊。無線WiFi 收發(fā)模塊運(yùn)行在2.4 GHz 頻段,符合IEEE 802.11b無線局域網(wǎng)協(xié)議標(biāo)準(zhǔn)。
2. 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)硬件設(shè)計(jì)以ARM11 為核心微處理器,主頻為532 MHz,能夠滿足實(shí)時(shí)處理的要求,其內(nèi)部集成有256 MB SDRAM、2 GB FLASH、音頻錄、放音接口、Camera視頻接口、無線WiFi接口、LCD接口、SD卡接口等,同時(shí)以開源的Linux 2.6.28 為內(nèi)核,yaffs2 為根文件系統(tǒng),Qtopia 4.4.3 作為用戶界面,為開發(fā)調(diào)試和系統(tǒng)設(shè)計(jì)提供了良好的平臺。
2.1 音視頻采集模塊
音頻采用處理器內(nèi)部集成的IIS(Inter-IC SoundBus)音頻接口和WM9714音頻芯片。IIS是飛利浦公司為數(shù)字音頻設(shè)備之間的音頻數(shù)據(jù)傳輸而定制的一種總線標(biāo)準(zhǔn)。在飛利浦公司的IIS標(biāo)準(zhǔn)中,既規(guī)定了硬件接口系統(tǒng),也規(guī)范了音頻數(shù)據(jù)的格式。基于此硬件及接口規(guī)范,實(shí)現(xiàn)了集成音頻輸出、Linein輸入和Mic輸入功能。
視頻采集使用的是OV9650CMOS攝像頭模塊,分辨率高達(dá)130萬像素,可直接與OK6410開發(fā)板的Camera接口相接。適用于高端消費(fèi)類電子產(chǎn)品、工業(yè)控制、車載導(dǎo)航、多媒體終端、行業(yè)PDA、嵌入式教育培訓(xùn)、個(gè)人學(xué)習(xí)等。其結(jié)構(gòu)較簡單,提供硬件驅(qū)動程序,便于使用和調(diào)試。
2.2 無線傳輸模塊
本系統(tǒng)的無線傳輸模塊采用工作在2.4 GHz 公共頻段的WiFi模塊來實(shí)現(xiàn),它遵循IEEE 802.11b/g網(wǎng)絡(luò)標(biāo)準(zhǔn),可用于在后期開發(fā)中將終端接入Internet,其最高數(shù)據(jù)率為54 Mb/s,支持WinCE、Linux 系統(tǒng)。室內(nèi)通信距離可達(dá)100 m,室外開闊地可達(dá)300 m。只需要對ARM-Linux操作系統(tǒng)進(jìn)行簡單的配置就可以由以太網(wǎng)連接模式轉(zhuǎn)化為雙機(jī)通信AD-HOC模式,在系統(tǒng)啟動之后,設(shè)計(jì)了基于Qt的窗口設(shè)計(jì),方便切換連接模式。
選用WiFi具有很好的可擴(kuò)展性,可以通過無線路由器的WiFi連接到廣域網(wǎng),具有很好的應(yīng)用前景。同時(shí)大多數(shù)手機(jī)等終端設(shè)備具有WiFi功能,后期還可以將軟件升級至Andriod系統(tǒng),方便開發(fā)和移植。它減少了音視頻實(shí)時(shí)傳輸?shù)拈_發(fā)成本和周期,也給現(xiàn)代移動通信提供了一種新的音視頻通信方式。
WiFi的驅(qū)動配置好后,應(yīng)用層和以太網(wǎng)接口模式編程完全相同。由于此設(shè)計(jì)音視頻數(shù)據(jù)量較大,不宜采用UDP,因?yàn)楫?dāng)數(shù)據(jù)量過大或傳輸信號不好時(shí),UDP會嚴(yán)重丟包,所以最終選擇面向連接的TCP傳輸協(xié)議,保證了系統(tǒng)音視頻有效傳輸。由于TCP是應(yīng)答時(shí)式傳輸數(shù)據(jù),在局域網(wǎng)內(nèi),無需考慮TCP丟包問題,為實(shí)現(xiàn)系統(tǒng)功能提供了可靠的保障。
3. 軟件設(shè)計(jì)
軟件分為用戶界面設(shè)計(jì)和數(shù)據(jù)處理、傳輸?shù)饶K的設(shè)計(jì)。
3.1 基于多線程的軟件總體設(shè)計(jì)
系統(tǒng)軟件架構(gòu)如圖1 所示,它是音視頻單向采集、壓縮、傳輸、接收、解壓縮、處理回放音視頻流控制過程,各個(gè)模塊采用線程處理,由信號量處理線程間優(yōu)先級構(gòu)成循環(huán)的線程,有效地處理了音視頻數(shù)據(jù)流。系統(tǒng)各功能模塊化,便于修改和移植,代碼簡短精悍。
圖1 軟件架構(gòu)
評論