新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 基于ARM Linux的無線音視頻對講系統

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

        作者: 時間:2018-09-03 來源:網絡 收藏

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

          3.2 回音消除

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

          3.3 嵌入式音視頻的同步

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

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

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

          

          圖2 音視頻同步數據流程

          4. 音視頻通道管理

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

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

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

          5. 結語

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


        上一頁 1 2 下一頁

        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 沂水县| 民勤县| 安新县| 临邑县| 天镇县| 新巴尔虎右旗| 新绛县| 东至县| 曲松县| 万山特区| 永州市| 闵行区| 昔阳县| 临汾市| 彝良县| 明光市| 都匀市| 汾阳市| 长沙市| 岳普湖县| 抚松县| 尤溪县| 城口县| 鄯善县| 龙泉市| 贵港市| 中卫市| 和田县| 格尔木市| 盈江县| 腾冲县| 伊宁县| 佛学| 银川市| 万盛区| 林口县| 晋城| 汉阴县| 莱州市| 保定市| 六枝特区|