新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM Linux的無線音視頻對講系統設計

        基于ARM Linux的無線音視頻對講系統設計

        作者: 時間:2014-10-08 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/263582.htm

          1系統總體方案設計

          通信雙方系統中音頻和視頻采集模塊負責采集模擬信號,并將采集到的音視頻數據送到音視頻管理模塊,經過壓縮處理,再加上數據包頭一起由WiFi發送到對方;對方接收到數據后,經過相關處理,判斷音視頻幀類型,再送往解壓縮處理模塊,恢復出音視頻數據。通信雙方設備均包含嵌入式音視頻管理模塊和無線收發模塊。無線WiFi收發模塊運行在2.4GHz頻段,符合IEEE 802.11b無線局域網協議標準。

          2系統硬件設計

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

          2.1音視頻采集模塊

          音頻采用處理器內部集成的IIS(Inter-IC SoundBus)音頻接口和WM9714音頻芯片。IIS是飛利浦公司為數字音頻設備之間的音頻數據傳輸而定制的一種總線標準。在飛利浦公司的IIS標準中,既規定了硬件接口系統,也規范了音頻數據的格式。基于此硬件及接口規范,實現了集成音頻輸出、Linein輸入和Mic輸入功能。

          視頻采集使用的是OV9650CMOS攝像頭模塊,分辨率高達130萬像素,可直接與OK6410開發板的Camera接口相接。適用于高端消費類電子產品、工業控制、車載導航、多媒體終端、行業PDA、嵌入式教育培訓、個人學習等。其結構較簡單,提供硬件驅動程序,便于使用和調試。

          2.2無線傳輸模塊

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

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

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

          3軟件設計

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

          3.1基于多線程的軟件總體設計

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

          

        基于ARM Linux的無線音視頻對講系統設計

         

          圖1軟件架構

          3.2回音消除

          系統開始時出現回音和延時問題,延時是由于采集傳輸過程中造成的,所以只能盡量縮短延時,而無法做到即時播放,這也是此系統的缺陷之一。回音是由于延時造成的,文中最后采用開源的Speex算法消除了回音。具體做法:將該算法編譯成庫文件,加入到Linux內核,即可以使用Speex的API函數,實現音頻的回音消除。

          3.3嵌入式音視頻的同步

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

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

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

          

        基于ARM Linux的無線音視頻對講系統設計

         

          圖2音視頻同步數據流程

          4音視頻通道管理

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

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

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

          5結語

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

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        linux相關文章:linux教程


        路由器相關文章:路由器工作原理


        路由器相關文章:路由器工作原理




        關鍵詞: ARM Linux 對講系統

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 上虞市| 沙洋县| 枣庄市| 夹江县| 潜江市| 汽车| 汉中市| 鸡东县| 当阳市| 德格县| 延川县| 安达市| 东平县| 洛南县| 元朗区| 特克斯县| 海伦市| 静海县| 绥宁县| 淳安县| 英吉沙县| 峨山| 晴隆县| 庄河市| 宜兰县| 北流市| 虎林市| 紫云| 乐山市| 饶阳县| 博罗县| 达拉特旗| 普格县| 元江| 依安县| 阳信县| 和田县| 湾仔区| 阿拉尔市| 石景山区| 高安市|