基于ADSP-BF532的嵌入式網絡視頻服務器的設計
網絡通訊模塊采用組播技術,提高程序的效率。系統IP網絡數據通信流程圖如圖3所示。本文為實現組播服務特別寫了一個類Cmulticast,它是專門為視頻傳輸而封裝的類,用于服務器和客戶機兩端。下面對此類的公共訪問函數進行介紹。
class CMulticast :publicCobject
{
public:
void Close(); //關閉創建的套接字
BOOL IsConnect();
Static Void Unintilize();//Winsock終止
Static Void Initilize(); //從指定組的指定端口讀取數據
Int Send(char* lpData,int size)//向目的地址發送消息
BOOL Create(Cstring lpstrAddr,unsigned short port,HWND HWND);//創建和綁發送或接收套接字并把該套接字加入組插組,并設置了消息回調機制
CMulticast();
Virtual ~CMulticast()
Public:
HWND m_hWnd; //用于消息傳遞的窗口句柄
SOCKET m_hWnd; //用于消息傳遞的窗口句柄
SOCKET m_hSocket;//發送或接收用套接字
BOOL m_bConnected;//是否已經加入到一個組
SOCKADDR_IN addr;//發送套接字地址SOCKADDR_IN srcaddr; //接收或發送的目址
}
3.3 系統級優化
Blackfin軟件開發平臺的編譯系統支持ANSI C以及C++編譯,其系統還提供了大量的多媒體操作指令。在針對系統軟件開發時,可以根據硬件的特點研究和開發調試過程中的經驗,對代碼的編譯和具體任務的處理進行優化。以及針對要縮短顯示模塊代碼執行時間而進行上端軟件的設計優化。
4 實驗結果
在該實驗的基礎上,經過對ADV7183采集的視頻序列(幀率為30fps,CIF格式)進行測試,結果表明:(1)DSP可通過SPI接口實時傳輸視頻圖像編碼數據,數據不丟失,不出錯;(2)在對MPEG-4視頻壓縮編碼測試時重建圖像質量保真度接近1;(3)在局域網上作模擬實驗,可以實時傳輸CIF尺寸視頻圖像,傳輸延遲控制在0.5s以內;(4)UART接口能夠完成本地視頻輸出。基于ADSP-BF532的嵌入式網絡視頻服務器的設計方案是可行的,但是某些技術指標仍然無法勝任實際的應用場合,需要進一步提高視頻壓縮的測試結果,增加大容量的硬盤存儲系統來存儲視頻數據。









評論