<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > 一種基于A(yíng)RM Linux的無(wú)線(xiàn)音視頻對講系統設計方案

一種基于A(yíng)RM Linux的無(wú)線(xiàn)音視頻對講系統設計方案

作者: 時(shí)間:2017-06-08 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/201706/351028.htm

隨著(zhù)數字化和網(wǎng)絡(luò )化時(shí)代的到來(lái),尤其是寬帶無(wú)線(xiàn)網(wǎng)絡(luò )的發(fā)展,為音視頻這樣大數據量傳輸業(yè)務(wù)在無(wú)線(xiàn)網(wǎng)絡(luò )上的應用提供了契機。同時(shí)由于音視頻獨特的感官特性,使其相關(guān)的應用需求也變得越來(lái)越迫切。無(wú)線(xiàn)多媒體是多媒體和移動(dòng)通信這兩個(gè)領(lǐng)域的技術(shù)相互融合的產(chǎn)物,成為當今通信領(lǐng)域的一個(gè)熱點(diǎn)。鑒于Linux內核的開(kāi)源性,采用其作為操作系統,從而使整個(gè)系統具有更好的實(shí)時(shí)性和穩定性。整個(gè)系統以ARM11為核心處理器、采用新一代視頻編解碼標準H.264進(jìn)行編譯碼,并通過(guò)無(wú)線(xiàn)網(wǎng)絡(luò )傳輸音視頻。它充分利用S3C6410微處理器內部集成的多媒體編解碼器(Multi-Formatvideo Codec,MFC),有效提高了系統的性?xún)r(jià)比。整個(gè)系統為無(wú)線(xiàn)多媒體音視頻的傳輸提供了一個(gè)好的解決方案,可廣泛應用在遠程監控、視頻電話(huà)等各種領(lǐng)域,具有較好的實(shí)用價(jià)值和推廣應用前景。

1.系統總體方案設計

通信雙方系統中音頻和視頻采集模塊負責采集模擬信號,并將采集到的音視頻數據送到音視頻管理模塊,經(jīng)過(guò)壓縮處理,再加上數據包頭一起由WiFi發(fā)送到對方;對方接收到數據后,經(jīng)過(guò)相關(guān)處理,判斷音視頻幀類(lèi)型,再送往解壓縮處理模塊,恢復出音視頻數據。通信雙方設備均包含音視頻管理模塊和無(wú)線(xiàn)收發(fā)模塊。無(wú)線(xiàn)WiFi收發(fā)模塊運行在2.4 GHz頻段,符合IEEE 802.11b無(wú)線(xiàn)局域網(wǎng)協(xié)議標準。

2.系統硬件設計

系統硬件設計以ARM11為核心微處理器,主頻為532 MHz,能夠滿(mǎn)足實(shí)時(shí)處理的要求,其內部集成有256 MB SDRAM、2 GB FLASH、音頻錄、放音接口、Camera視頻接口、無(wú)線(xiàn)WiFi接口、LCD接口、SD卡接口等,同時(shí)以開(kāi)源的Linux 2.6.28為內核,yaffs2為根文件系統,Qtopia 4.4.3作為用戶(hù)界面,為開(kāi)發(fā)調試和系統設計提供了良好的平臺。

2.1音視頻采集模塊

音頻采用處理器內部集成的(Inter-IC SoundBus)音頻接口和WM9714音頻芯片。是飛利浦公司為數字音頻設備之間的音頻數據傳輸而定制的一種總線(xiàn)標準。在飛利浦公司的標準中,既規定了硬件接口系統,也規范了音頻數據的格式?;诖擞布敖涌谝幏?,實(shí)現了集成音頻輸出、Linein輸入和Mic輸入功能。

視頻采集使用的是OV9650CMOS攝像頭模塊,分辨率高達130萬(wàn)像素,可直接與OK6410開(kāi)發(fā)板的Camera接口相接。適用于高端消費類(lèi)電子產(chǎn)品、工業(yè)控制、車(chē)載導航、多媒體終端、行業(yè)PDA、教育培訓、個(gè)人學(xué)習等。其結構較簡(jiǎn)單,提供硬件驅動(dòng)程序,便于使用和調試。

2.2無(wú)線(xiàn)傳輸模塊

本系統的無(wú)線(xiàn)傳輸模塊采用工作在2.4 GHz公共頻段的WiFi模塊來(lái)實(shí)現,它遵循IEEE 802.11b/g網(wǎng)絡(luò )標準,可用于在后期開(kāi)發(fā)中將終端接入Internet,其最高數據率為54 Mb/s,支持WinCE、Linux系統。室內通信距離可達100 m,室外開(kāi)闊地可達300 m.只需要對ARM-Linux操作系統進(jìn)行簡(jiǎn)單的配置就可以由以太網(wǎng)連接模式轉化為雙機通信AD-HOC模式,在系統啟動(dòng)之后,設計了基于Qt的窗口設計,方便切換連接模式。

選用WiFi具有很好的可擴展性,可以通過(guò)無(wú)線(xiàn)路由器的WiFi連接到廣域網(wǎng),具有很好的應用前景。同時(shí)大多數手機等終端設備具有WiFi功能,后期還可以將軟件升級至Andriod系統,方便開(kāi)發(fā)和移植。它減少了音視頻實(shí)時(shí)傳輸的開(kāi)發(fā)成本和周期,也給現代移動(dòng)通信提供了一種新的音視頻通信方式。

WiFi的驅動(dòng)配置好后,應用層和以太網(wǎng)接口模式編程完全相同。由于此設計音視頻數據量較大,不宜采用UDP,因為當數據量過(guò)大或傳輸信號不好時(shí),UDP會(huì )嚴重丟包,所以最終選擇面向連接的TCP傳輸協(xié)議,保證了系統音視頻有效傳輸。由于TCP是應答時(shí)式傳輸數據,在局域網(wǎng)內,無(wú)需考慮TCP丟包問(wèn)題,為實(shí)現系統功能提供了可靠的保障。

3.軟件設計

軟件分為用戶(hù)界面設計和數據處理、傳輸等模塊的設計。

3.1基于的軟件總體設計

系統軟件架構如圖1所示,它是音視頻單向采集、壓縮、傳輸、接收、解壓縮、處理回放音視頻流控制過(guò)程,各個(gè)模塊采用線(xiàn)程處理,由信號量處理線(xiàn)程間優(yōu)先級構成循環(huán)的線(xiàn)程,有效地處理了音視頻數據流。系統各功能模塊化,便于修改和移植,代碼簡(jiǎn)短精悍。



圖1軟件架構


3.2回音消除

系統開(kāi)始時(shí)出現回音和延時(shí)問(wèn)題,延時(shí)是由于采集傳輸過(guò)程中造成的,所以只能盡量縮短延時(shí),而無(wú)法做到即時(shí)播放,這也是此系統的缺陷之一?;匾羰怯捎谘訒r(shí)造成的,文中最后采用開(kāi)源的Speex算法消除了回音。具體做法:將該算法編譯成庫文件,加入到Linux內核,即可以使用Speex的API函數,實(shí)現音頻的回音消除。

3.3音視頻的同步

本文的基本思想是以視頻流為主媒體流,音頻流為從媒體流,視頻的播放速率保持不變,根據本地系統時(shí)鐘確定實(shí)際時(shí)間,通過(guò)調整音頻播放速度來(lái)達到音視頻同步。

首先選擇一個(gè)本地系統時(shí)鐘參考(LSCR),然后將LSCR發(fā)送到視頻解碼器和音頻解碼器,由這兩個(gè)解碼器根據各幀的PTS值對照本地系統時(shí)鐘,參考產(chǎn)生各幀準確的顯示或回放的時(shí)間。也就是說(shuō),生成輸出數據流時(shí)依據本地參考時(shí)鐘上的時(shí)間給每個(gè)數據塊都打上時(shí)間戳(一般包括開(kāi)始時(shí)間和結束時(shí)間)。在播放時(shí),讀取數據塊上的時(shí)間戳,同時(shí)根據本地系統時(shí)鐘參考上的時(shí)間來(lái)安排播放。

整個(gè)系統的音視頻同步數據流程如圖2所示。



圖2音視頻同步數據流程


4.音視頻通道管理

為了節約內存資源,便于通道的管理,本設計采用分通道的線(xiàn)程池管理,音、視頻分別由自己的通道完成任務(wù)。

音視頻采集使用同一個(gè)線(xiàn)程處理,采用select系統調用,每執行到此線(xiàn)程,就判斷音視頻設備是否就緒,若就緒即采集音頻或視頻到音視頻緩沖區,再交給音視頻采集壓縮線(xiàn)程,最后再交給發(fā)送線(xiàn)程打包后采用TCP發(fā)送。需要說(shuō)明的是本設計線(xiàn)程之間均采用信號量完成線(xiàn)程間基于TCP的音視頻軟件架構的同步管理。發(fā)送完以后進(jìn)入接收線(xiàn)程等待對方發(fā)音視頻數據。在接受端由接收線(xiàn)程接收到數據以后,判斷數據的包頭,再交由解壓縮處理線(xiàn)程處理,然后播放音視頻,再等待對方發(fā)數據到本機。

由于處理器的高速處理和高效率視頻硬件H.264解壓縮,使得整個(gè)系統實(shí)時(shí)性基本達到要求。嵌入式音視頻管理模塊實(shí)現了整個(gè)系統的統籌控制和實(shí)時(shí)處理,為音視頻數據管理提供可靠的保證。


5.結語(yǔ)

目前基于嵌入式無(wú)線(xiàn)終端的視頻監控產(chǎn)品由于無(wú)需布線(xiàn)、傳輸距離遠、環(huán)境適應能力強,性能穩定及通信便利等優(yōu)勢而倍受青睞,在安全監察、巡查通信、施工聯(lián)絡(luò )、人員調配等場(chǎng)合發(fā)揮著(zhù)不可替代的作用。本系統是基于嵌入式Linux的通信手持式終端,其體積較小、攜帶方便,采用鋰電池經(jīng)過(guò)開(kāi)關(guān)電源芯片降壓的方式給整個(gè)系統供電,其效率較傳統直流穩壓大大提高。在戶(hù)外可視化娛樂(lè )、施工現場(chǎng)監控、大型安保聯(lián)絡(luò )等場(chǎng)合均可使用,具有廣泛的應用前景。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>