freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

畢業(yè)設計-基于arm的視頻監(jiān)控系統(tǒng)上位機的設計(編輯修改稿)

2025-01-08 19:39 本頁面
 

【文章內容簡介】 互聯(lián)。TCP/IP是目前十分流行的一種網絡協(xié)議,它可提供任意互連的網絡間的通信,幾乎所用的網絡操作系統(tǒng)都支持 TCP/IP協(xié)議。它是目前廣泛使用的Inter的基礎,雖然它不是國際標準,但事實上已成為計算機網絡的工業(yè)標準。 TCP/IP通訊協(xié)議采用了 4層的層級結構。每一層都呼叫它的下一層所提供的網絡來完成自己的需求。這 4層分別為: 應用層:應用程序間溝通的層,如簡單電子郵件傳輸 (SMTP)、文件傳輸協(xié)議 (FTP)、網絡遠程訪問協(xié)議 (Tel)等。 運輸層:在此層中,它提供了節(jié)點間的數(shù)據傳送服務,如傳輸控制協(xié)議(TCP)、用戶數(shù)據報協(xié)議 (UDP)等, TCP和 UDP給數(shù)據包加入傳輸數(shù)據并把它傳輸?shù)较乱粚又校@一層負責傳送數(shù)據,并且確定數(shù)據已被送達并接收。 網際層:負責提供基本的數(shù)據封包傳送功能,讓每一塊數(shù)據包都能夠到達目的主機 (但不檢查是否被正確接收 ),如網際協(xié)議 (IP)。 網絡接口層:對實際的網絡媒體的管理,定義如何使用實際網 絡 (如Ethemet、 Serial Line等 )來傳送數(shù)據。 嵌入式 Linux操作系統(tǒng)包括了 TCP/IP網絡協(xié)議棧,這樣在整個網絡環(huán)境中將嵌入式系統(tǒng)平臺作為服務器端,網絡中的其它主機作為客戶機。應用層編程調用 Linux套接字接 ISl(SOCKET)實現(xiàn) TCP/IP通信。 洛陽理工學院畢業(yè)設計(論文) 12 3. RTP 協(xié)議 視頻信息的網絡傳輸與文本數(shù)據等非實時信息的傳輸不同,它對實時性遠高于可靠性,當網絡擁塞時,對于非實時傳輸而言,只是延長了傳輸時間,而對于視頻傳輸,數(shù)據不能按時到達將導致難以忍受的視頻服務質量。由于TCP是可靠的、面向 連接的傳輸控制協(xié)議,需要較多的開銷,不適合傳輸實時數(shù)據,為此 IETF(Inter Engineering Task Force)的工作組制訂了針對多媒體數(shù)據流的 RTP( Realtime Transport Protocol,實時傳輸協(xié)議 ),它提供實時媒體數(shù)據端到端的傳輸服務。 RTP由 RTP數(shù)據協(xié)議和 RTCP(RTP Control Protocol, RTP控制協(xié)議 )組成,RTP數(shù)據協(xié)議 38負責實時媒體數(shù)據傳輸,它被定義在一對一或一對多的傳輸情況工作,提供時間信息和實現(xiàn)流同步。 RTCP負責控制實時 媒體數(shù)據傳輸,提供可靠的傳送機制、流量控制和擁塞控制。應用程序開始一個 RTP會話將使用兩個端口,一個給 RTP,一個給 RTCP,會話期間,各參與者周期性地傳送 RTCP包, RTCP包中含有已發(fā)送數(shù)據包的數(shù)量、丟失數(shù)據包的數(shù)量等統(tǒng)計資料,服務器將利用這些信息動態(tài)地改變傳輸速率,甚至改變有效載荷類型,所以, RTP和 RTCP的配合使用能以有效的反饋和最小的開銷使傳輸效率最佳化,可以較好的解決目前流媒體實時傳輸問題 [5]。 RTP通常使用 UDP進行多媒體數(shù)據的傳輸,但如果需要的話可以使用 TCP或 ATM等其它協(xié)議。 由于 RTP和 RTCP處于應用層, IETF(互聯(lián)網工程任務組 , The Inter Engineering Task Force)并沒有為其提供一個統(tǒng)一的模塊,而只是提供了一個協(xié)議框架,此框架覆蓋了目前網絡流媒體應用的絕大多數(shù)內容。此 RTP和 RTCP協(xié)議框架的代碼實現(xiàn)必須建立在 UDP/TCP層之上,把實時多媒體數(shù)據轉化為 RTP包,并產生 RTCP包,同時具有收發(fā) RTP/RTCP包的功能, 并為上層的應用程序提供接口。 上層的應用程序主要是 Linux下的 Socket API,通常以 RTP/UDP/IP的形式發(fā)送數(shù)據。 實時傳輸協(xié)議 RTP(Realtime Transport Protocol)是用于互聯(lián)網上針對多媒體數(shù)據流的一種傳輸協(xié)議,它主要為實時數(shù)據的應用提供點到點或點到多點的通信傳輸服務。 RTP通常使用 UDP來傳送數(shù)據, RTP是在 UDP封裝之前洛陽理工學院畢業(yè)設計(論文) 13 多加了 12字節(jié)的報文頭。 RTP協(xié)議主要包括兩個部分:一部分定義 RTP的數(shù)據報文格式 (見圖 ) 和使用規(guī)則,主要是傳送具有實時屬性的數(shù)據; 另一部分為 RTP控制協(xié)議 (RTCP), 采用與數(shù)據包相同的分發(fā)機制,將控制包周期性地傳輸?shù)剿袝拝⑴c者中,提供數(shù)據分 發(fā)質量反饋信息,以制定流量控制策略 [6]。 RTP的這些特點使它具有較好的實時性,在視頻傳輸方面得到了廣泛的應用。 RTP通常使用 UDP進行多媒體數(shù)據的傳輸,但如果需要的話可以使用 TCP或 ATM等其它協(xié)議 簡介 MPEG4是一種壓縮標準,國際標準化組織于 1986年成立運動圖像專家組MPEG(Motion Picture Experts Group),在 1993年 8月正式制定了 MPEG1,在 1994年又發(fā)布了 MPEG2標準, 1999年 2月正式公布了為國際標準的MPEG4(ISO/IEC14496)第一版本。同年年底, MPEG4第二版亦告底定。 MPEG4使多媒體內容更多元化、更具有彈性,且多媒體組件更容易被再利用。它能將現(xiàn)今各自發(fā)展的技術及應用,如互聯(lián)網、動畫、視頻、音頻、交互電視等,整合至單一架構之下,進而提供更佳的資源管理方法和保護著作權的機能。因此,應用前景十分廣闊。 MPEG4標準采用了基于對象的視頻壓縮編碼方法,它不僅可以實現(xiàn)對視頻圖像數(shù)據的高效壓縮,還可以提供基于內容的交互功能,支持對多媒體信息的內容訪問,提供靈活的時域和空域擴展。除此之外,為了使壓縮碼流具有抗信道 誤碼的特性,方便應用于帶寬受限、誤碼易發(fā)的無線網絡和Inter, MPEG4還提供用于誤碼檢測和誤碼恢復的一系列工具。 數(shù)字化視頻采集與處理系統(tǒng)是嵌入式系統(tǒng)的典型應用,涉及嵌入式系統(tǒng)技術和視頻圖像信息的編碼技術。特別是在視頻圖像信息的編碼技術方面,為了提高系統(tǒng)的視頻圖像質量與通用性,國際通信聯(lián)盟 (ITU)為視頻圖像信息的壓縮編碼制定了很多標準,新的編碼技術被迅速應用到圖像與視頻壓縮上 [8]。 JPEG 是目前最常用的圖像壓縮格式之一,廣泛應用于圖像信息的傳遞與存儲領域, 和 是目前常 用的視頻壓縮標準,可以在窄帶信道上傳遞流暢的視頻影像。應用 JPEG 格式可以進行圖像壓縮,如果想要洛陽理工學院畢業(yè)設計(論文) 14 進一步提高系統(tǒng)性能,可以考慮使用 來進行視頻壓縮 。 上位機軟件設計 上位機程序流程圖如下圖所示: 開始設置服務器端默認IP調節(jié)視頻窗口大小和位置初始化解碼器初始化位圖顯示DIB開始計時用戶點擊鏈接/斷開按鈕是否連接第一次鏈接實例化CTPSock類獲取服務器IP初始化CTPSock對象并發(fā)送數(shù)據請求循環(huán)接收視頻數(shù)據重新發(fā)送數(shù)據請求硬盤有容量存儲視頻/解碼壓縮/顯示發(fā)送斷開請求關閉DIB,退出解碼器結束N YNY 圖 23 上位機程序流程圖 洛陽理工學院畢業(yè)設計(論文) 15 上位機的主要功能是向遠程服務器發(fā)送連接請求,建立通信之后,實時接收視頻數(shù)據并進行存儲、播放。相關輔助功能有狀態(tài)顯示、時間顯示、視頻存檔路徑顯示及設置、視頻存檔所在存儲空間監(jiān)控、壓 縮比遠程設置、服務器 IP 地址顯示及設置、退出及遠程服務器連接。以下介紹主功能和部分輔助功能的具體實現(xiàn)。 上位機的結構和服務器端相似,設計了一個類 CTCPSock 對網絡套接字的相關操作進行了封裝,其提供的主要接口方法如下: bool Init(CHClientDlg*pDlg, DWORD inRemoteIP, int inRemotePort, HWND inwnd=NULL); bool Reconnect(void); Void Disconnect(void); Void SetCountWnd(HWNDinwnd); int Sendlnfo(unsigned int nMsgType); 其中 Init()接口方法主要進行網絡套接字的相關初始化,主要工作有:將接口方法中所傳遞過來的相關參數(shù)賦值給對應成員;通信協(xié)議的版本協(xié)商;創(chuàng)建客戶端 TCP 套接字;創(chuàng)建退出和數(shù)據接收事件;遠程套接字地址填充;連接遠程服務器等。 一旦與遠程端服務器連接成功, Init()函數(shù)接下來會將套接字置為阻塞狀態(tài),并開啟接收線程 (該線程負責接收服務器端反饋的命令以及視頻數(shù)據 )。接收線程開啟后,創(chuàng)建一個死循環(huán)。在循環(huán)內部,每次 接收數(shù)據之前,先判斷退出事件和數(shù)據接收事件,若退出事件有效則退出該循環(huán),只有當退出事件無效并且數(shù)據接收事件有效時,該線程才不斷接收來自服務器端的數(shù)據信息,并解析該信息。當解析到已接收完一幀數(shù)據 (信息類型為DATA_AFRAME),則給主窗口發(fā)送一條數(shù)據準備好消息。接著由主程序對收到的壓縮視頻數(shù)據進行存儲、解壓縮、顯示等操作。解析結果為其他類型時程序會做出相應的處理 [13]。 Reconnect(void)接口方法為客戶端暫停接收數(shù)據后,繼續(xù)接收數(shù)據時所調用的接口方法。 SetCountWnd(HWND inWnd)接口方法為數(shù)據幀計數(shù)傳遞一個窗口句柄,本系統(tǒng)中每接收到一幀數(shù)據,則會更新狀態(tài)欄窗口中的幀的總數(shù)目。 洛陽理工學院畢業(yè)設計(論文) 16 由于客戶端向服務器端所發(fā)送的數(shù)據僅僅是通信消息,如:數(shù)據請求,斷開請求,重連請求等。而不涉及其他諸如視頻數(shù)據的發(fā)送,介于發(fā)送的數(shù)據包類型比較單一,設計了 SendInfo(unsigned int nMsgType)接口方法來 負責通信消息的發(fā)送。該類的使用流程見圖 231。 實 例 化 C T C P S o c k 類 對象 t c p C l i e n t調 用 t c p C l i e n t . I n i t進 行 初 始 化 工 作調 用t c p C l i e n t . S e n d I n f o發(fā) 送 數(shù) 據 請 求調 用t c p C l i e n t . D i s c o n n e c t暫 停 數(shù) 據 傳 輸調 用t c p C l i e n t . R e c o n n e c t繼 續(xù) 數(shù) 據 傳 輸主 程 序 中 完 善 O n D a t a A r r i v e d消 息 響 應 函 數(shù) 圖 24 CTCPSock 類的使用流程圖 上位機程序設計 上位機 服務器應用程序主要是完成圖像數(shù)據的接收、顯示和存儲功能,同時也給終端發(fā)送簡單的控制命令。這里不對其實現(xiàn)的具體過程進行詳細的介紹, 主要進行兩部分的說明:上位機完成網絡連接和數(shù)據接收的部分,以及 JPEG 圖像的解碼和顯示。 上位機服務器網絡連接和數(shù)據接收的實現(xiàn) 服務器程序必須設置好 sin. port 屬性,作為偵聽端口,該值為一個整數(shù) (只要是一個其它 TCP/IP 應用程序沒有使用過的值即可 )。 使用“ Listen 方法進入偵聽狀態(tài),等待客戶機程序的連接請求。 客戶機程序發(fā)出連接請求,使服務器程序產生 Connection Request事件,該事件得到一個參數(shù) requestID。 服務器程序用 Accept 方法接受客戶機程序的 requestID 請求 (Accept方法必須用上一步得到的 requestID 作為其參數(shù) )。這樣,服務器程序就可洛陽理工學院畢業(yè)設計(論文) 17 以用 SendData 方法發(fā)送數(shù)據了。 當服務器程序接收到數(shù)據時,產生 OnRecvData 事件,通過消息把包含接收到的數(shù)據的地址傳進來。在該事件中,處理接受數(shù)據的保存和顯示等。 如果接受到 Close 事件,則用 Close 方法關閉 TCP/IP 連接。 Socket還有兩個重要的屬性,即所用協(xié)議族 (選用 TPC/IP 協(xié)議 )和協(xié)議狀態(tài) (設定使用的協(xié)議是 TCP 還是 UDP),對應的設置在 Socket 類的建立是給以初始化。 視頻數(shù)據接收端的實現(xiàn) 視頻數(shù)據接收端的主要功能是接受來自于 TCP 端口的 RTP 數(shù)據包,并將其還原成視頻數(shù)據流。 1. 數(shù)據包的接收 數(shù)據包的接收過程比較簡單,主要由一系列 SOCKET 編程接口的調用所組成,主要有以下幾個過程: (1) 通過 socket()調用創(chuàng)建 TCP 套接口。 (2) 在指定的端口等待 RTP 數(shù)據包的到來。 (3) 通過 recvfrom()接受 RTP 數(shù)據包。 (4) 將 接收到的數(shù)據包放入緩沖區(qū)。 2. 視頻數(shù)據的重組 因為進行數(shù)據的傳輸有可能會出現(xiàn)數(shù)據包的丟失與亂序。數(shù)據重組的主要目的就是在出現(xiàn)丟失和亂序時可以盡最大可能將接收到的數(shù)據恢復到它原來的狀態(tài)。 為了方便對數(shù)據進行重組,在數(shù)據包接收緩沖區(qū)之外又設立了一個數(shù)據重組緩沖區(qū),數(shù)據包的重組過程就在這個緩沖區(qū)中進行。 在考慮具體的重組方法前, 先介紹一下 MPEG4 的解碼過程。 因為 MPEG4 數(shù)據的解碼是以 VOP 為單位進行的,多個 VOP 的解碼結果才構成一幀完整的圖像,簡單的說就是以流的形式進行的,而不是視頻幀的方 式。 針對解碼方式的這種特點 采用比較特殊的數(shù)據重組方式。 重組程序以 5 個 VOP 為一個單位從 RTP 數(shù)據包還原數(shù)據。為了盡可能洛陽理工學院畢
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1