孫東玲
【摘要】 近些年來我國的因特網和IP技術得到飛速發展,傳輸數據在原有的文字和圖像上逐漸增加了聲音和視頻,受到人們的迫切需求,可視電話得到快速發展,但是這些研究并沒有滿足人們的需求,對此本研究選擇在可視IP電話多媒體終端中采用安卓系統設計,實現了音視頻的雙向同步通信。
【關鍵詞】 安卓系統 可視電話終端
一、系統設計框架
本設計硬件系統包括多媒體處理器、硬件加速器、SDRAM控制器、CSI接口等,軟件安卓所有程序均在一個移動設備平臺上,提供大量庫和工具。系統的設計參照VoIP系統設計的關鍵技術,將系統設計為三個模塊,包括傳輸模塊、媒體模塊和信shaodeng 令模塊,主控模塊實現的功能是管理整個系統和交換用戶和終端,信令模塊主要是實現客戶端注冊功能、SIP管理等,傳輸模塊實現RTCP的實時監控、媒體數據的封裝,媒體模塊主要是實現音頻和傳輸模塊的組成和操作。
主控模塊處于程序的最頂層,安卓系統上層應用程序應用虛擬機調用底層接口,在本系統的設計中底層系統庫有媒體模塊和信令模塊構成。系統信令模塊的設計包括SIP事務管理器、SIP狀態機以及消息分析器等,功能結構圖見圖1所示,收發器直接與網絡層交互,向上層提供網絡通信功能,分析器把內部消息轉化為符合SIP規范的消息。SIP協議在完成數據初始化后,事務管理器為分析器生產信號,傳遞給消息收發器,進而發送出去。
圖1信令模塊功能結構圖 圖2 媒體模塊功能結構圖
系統媒體模塊的設計包括編解碼子模塊和實時傳輸兩大模塊,功能結構見圖2所示,音視頻通過編解碼子模塊編解碼,再實行封裝后數據的傳輸。用戶通過麥克風等在發送端采集語音,采集到的語音進行壓縮和打包,將封裝好的數據傳送出去,在接收端與之相反,接收后拆包、解碼,在進行播放。
二、系統實現
系統主控模塊作用主要是實現RTP傳輸、音視頻媒體等,工作流程為初始化程序→準備就緒→發起/接受會話→多媒體通信→會話結束。主控模塊選用安卓系統平臺,信令模塊和媒體模塊采用了JNI方式,INI調用流程圖為Java application and library Java virtual machine implementation Native appl;ication and library→Host environment.Java,調用方式包括加載so(代碼System loadLibrary)、注冊方法、加載函數(代碼jint JNI-OnLoad)、調用函數(代碼static native int native)等。Native的調用方法包括初始化虛擬機、獲取方法ID以及推出虛擬機等步驟。
主控模塊依照功能劃分包括通話、注冊、選單以及設置等,每個模塊的設計在開發中都是一個Activity,通話子模塊是主要的功能,模塊流程為初始化系統就緒→創建SIP消息監聽子線程→向服務器注冊→注冊成功→發起會話→多媒體通道→結束回話→所在的Activity結束→向監聽線程發送結束信號、退出主線程,通話的建立與結束流程均在SIP信令交換,監聽流程為監聽→每20ms監聽SIP消息→結束(否)→獲取SIP信息→根據消息類型處理消息,更新主線程UI組件。用戶信息、音視頻解碼以及網絡參數等均使用Tab組件。SIP管理模塊通過調用JAIN SIP庫實現,包括三個部分。
媒體管理模塊方面主控模塊的調用,使用了Linphone的流媒體庫,提供的功能包括registerMediaStream等功能,為了實現管理功能,流媒體實時傳輸通過RTP/RTCP進行解決,媒體流程gu8anlimokuai采用jlibrtp實現,先提供一個可以實現回調接口的類,完成數據的接收,包括地址以及用戶名等,在建成功后就可以發送數據,音視頻的編解碼接口供媒體管理模塊使用。屬性存儲模塊提供參數信息的提起,包括用戶信息、圖像資料等,用戶僅需要索引就能查詢保存的參數信息。
三、系統測試
為方便測試。把系統設置在局域網上,使用一臺安卓手機和SIP軟電話進行測試,在運行中支持撥號、音頻通話以及呼叫等功能,在語音方面同時支持G722和G711兩種編碼格式,視頻方面可以接受三種編碼格式。
四、結束語
綜上所述,本文主要分析基于安卓系統的可視IP電話多媒體終端設計,本設計系統在應用中具有良好的終端交互界面,支持音頻通信,在與其他產品互通中性能良好,隨著科技的不斷進步,以后還會有新的技術應用到可視電話中,這些還需要更多的人努力去研究。
參考文獻
[1]邵長彬,張重陽,鄭世寶. 基于Android的可視IP電話多媒體終端設計與實現[J]. 電視技術,2011,06:62-65
[2]萬曉榆,張溢華,樊自甫.基于SIP的視頻會議系統視頻模塊的設計與實現[J].電視技術,2009,33(08):99—102