版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于網(wǎng)絡(luò)的語音視頻多人聊天系統(tǒng)論文導(dǎo)讀::基于網(wǎng)絡(luò)的語音視頻多人聊天系統(tǒng),畢業(yè)論文怎么寫。論文關(guān)鍵詞:基于網(wǎng)絡(luò)的語音視頻多人聊天系統(tǒng)隨著網(wǎng)絡(luò)技術(shù)和多媒體技術(shù)的開展,網(wǎng)上聊天室已經(jīng)不再局限于文字聊天,網(wǎng)民和聊友們更希望的是聊天有實(shí)時(shí)性,互動(dòng)性、趣味性。在文字聊天的同時(shí)能夠通過視頻和語音更好的交流、增強(qiáng)實(shí)時(shí)性、互動(dòng)性和趣味性已經(jīng)成了一個(gè)很迫切的需要。2課題的相關(guān)理論和技術(shù)2.1 UDP協(xié)議UDP協(xié)議是英文UserDatagramProtocol的縮寫,即用戶數(shù)據(jù)報(bào)協(xié)議,主要用來支持那些需要在計(jì)算機(jī)之間傳輸數(shù)據(jù)的網(wǎng)絡(luò)應(yīng)用。包括網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)在內(nèi)的眾多的客戶/效勞器模式的網(wǎng)絡(luò)應(yīng)用都需要使用UDP協(xié)議
2、。與我們所熟知的TCP傳輸控制協(xié)議協(xié)議一樣,都屬于傳輸層協(xié)議。UDP協(xié)議使用報(bào)頭中的校驗(yàn)值來保證數(shù)據(jù)的平安。校驗(yàn)值首先在數(shù)據(jù)發(fā)送方通過特殊的算法計(jì)算得出,在傳遞到接收方之后,還需要再重新計(jì)算。如果某個(gè)數(shù)據(jù)報(bào)在傳輸過程中被第三方篡改或者由于線路噪音等原因受到損壞,發(fā)送和接收方的校驗(yàn)計(jì)算值將不會(huì)相符,由此UDP協(xié)議可以檢測是否出錯(cuò)。2.2 MPEG4壓縮算法MPEG-4于1998年10月定案,在1999年1月成為一個(gè)國際性標(biāo)準(zhǔn),隨后為擴(kuò)展用途又進(jìn)行了第二版的開發(fā),于1999年底結(jié)束。MPEG-4主要應(yīng)用于視像 VideoPhone,視像電子郵件VidoEmail和電子新聞Electronicnew
3、s等畢業(yè)論文怎么寫,對傳輸速率要求較低,在4800-64000bits/sec之間。利用很窄的帶寬,通過幀重建技術(shù),壓縮和傳送資料,以求以最少的數(shù)據(jù)獲得最正確的圖像質(zhì)量。MPEG-4的特點(diǎn)是其更適于交互AV效勞以及遠(yuǎn)程監(jiān)控。這是一個(gè)有交互性的動(dòng)態(tài)圖像標(biāo)準(zhǔn)論文下載。 如圖1。圖 1:標(biāo)準(zhǔn)運(yùn)動(dòng)補(bǔ)償視頻編碼視頻編解碼器中,單個(gè)幀可以采用三個(gè)模式中的一個(gè)進(jìn)行編碼 即 I、P 或 B 幀模式見圖 2。幾個(gè)稱為 Intra (I) 的幀單獨(dú)編碼,無需參考任何其他幀無運(yùn)動(dòng)補(bǔ)償。某些幀可以利用 MC 編碼,以前一個(gè)幀為參考前向預(yù)測。這些幀稱為預(yù)測幀 (P)。B 幀或雙向預(yù)測幀通過之前的幀以及當(dāng)前幀的后續(xù)幀進(jìn)行
4、預(yù)測。B 幀的優(yōu)勢是能夠匹配堵塞在采用前向預(yù)測的上一幀中的背景區(qū)域。雙向預(yù)測通過平衡前向及后向預(yù)測可以降低噪聲。圖2:I、P 與 B 幀間預(yù)測圖示 MPEG-4【6】由 ISO 提出,以延續(xù) MPEG-2 的成功。一些早期的目標(biāo)包括:提高容錯(cuò)能力以支持無線網(wǎng)、對低比特率應(yīng)用進(jìn)行更好的支持、實(shí)現(xiàn)各種新工具以支持圖形對象及視頻之間的融合。大局部圖形功能并未在產(chǎn)品中受到重視,相關(guān)實(shí)施主要集中在改善低比特率壓縮及提高容錯(cuò)性上。2.3組件技術(shù)組件技術(shù)就是利用某種編程手段,將一些人們所關(guān)心的,但又不便于讓最終用戶去直接操作的細(xì)節(jié)進(jìn)行了封裝,同時(shí)對各種業(yè)務(wù)邏輯規(guī)那么進(jìn)行了實(shí)現(xiàn),用于處理用戶的內(nèi)部操作細(xì)節(jié),甚
5、至于將平安機(jī)制和事物機(jī)制表達(dá)的淋漓盡止。而這個(gè)封裝體就常常的被我們稱作組件。2.4C/S結(jié)構(gòu)C/S Client/Server結(jié)構(gòu),即大家熟知的客戶機(jī)和效勞器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到Client端和Server端來實(shí)現(xiàn),降低了系統(tǒng)的通訊開銷。3 需求分析系統(tǒng)主要由以下幾個(gè)模塊構(gòu)成:即時(shí)通訊客戶端:包括一個(gè)即時(shí)通訊、房間大廳和聊天室,在即時(shí)通訊中用戶可以添加自己的好友并根據(jù)自己的需要將好友分組,與自己的好友進(jìn)行文字聊天、發(fā)送動(dòng)畫表情以及語音視頻聊天,支持離線留言和系統(tǒng)消息;在聊天室中可以進(jìn)行一對多語音視頻聊天,送禮等娛樂活動(dòng)。即時(shí)通訊效勞
6、端:完成用戶登錄、添加好友以及一對一聊天等客戶端請求效勞的應(yīng)答。聊天室效勞端:完成用戶新建房間、查找房間、以及在聊天室里進(jìn)行一對多語音視頻聊天等請求效勞的應(yīng)答。4系統(tǒng)設(shè)計(jì)4.1 系統(tǒng)設(shè)計(jì)根本原那么本系統(tǒng)的最終目標(biāo)是在Internet上能實(shí)現(xiàn)多人語音視頻的功能。清晰的語音視頻是本系統(tǒng)設(shè)計(jì)的最重要的功能。模塊化的設(shè)計(jì)方法:運(yùn)用Delphi的自定義組件技術(shù),通過自定義組件將功能模塊化,將各個(gè)組件獨(dú)立出來,使其有很大的靈活性;界面的美觀,功能的實(shí)用是聊天軟件都應(yīng)該共性。系統(tǒng)平安可靠也是一個(gè)重要的設(shè)計(jì)原那么。由于客戶端與效勞端的通訊方式是發(fā)送也接收處理UDP包,所以,在UDP包的設(shè)計(jì)方面我做了很多工作,
7、在客戶端和效勞端都對UDP包加了驗(yàn)證。4.2 功能模塊圖本系統(tǒng)主要包括即時(shí)通訊客戶端、即時(shí)通訊效勞端、房間效勞端和視頻中轉(zhuǎn)端幾大模塊畢業(yè)論文怎么寫,結(jié)構(gòu)如圖3:圖3 總體結(jié)構(gòu)圖即時(shí)通訊客戶端和即時(shí)通訊效勞端主要功能如圖4:圖4 客戶端功能圖4.3 功能模塊設(shè)計(jì)整個(gè)系統(tǒng)分為即時(shí)通訊客戶端、房間客戶端、即時(shí)通訊效勞端、房間效勞端和視頻中轉(zhuǎn)站等幾大模塊。系統(tǒng)主要功能模塊具體描述如下:即時(shí)通訊客戶端是整個(gè)客戶端的主體,登錄后顯示的主界面即為即時(shí)通訊客戶端了,界面上包括個(gè)人信息,好友列表以及一些功能按鈕,房間客戶端的啟動(dòng)也由界面上的功能按鈕完成。即時(shí)通訊效勞端主要完成即時(shí)通訊客戶端的效勞請求,包括用戶注
8、冊、登錄、查找添加好友、單人文字聊天以及視頻聊天等。效勞端有用多線程技術(shù),然后由處理線程進(jìn)行必要的數(shù)據(jù)庫操作進(jìn)行處理,然后調(diào)用UDP發(fā)送線程進(jìn)行發(fā)送應(yīng)答論文下載。房間客戶端并不與即時(shí)通訊效勞器打交道,所有的請求都發(fā)送給房間效勞端。用戶在房間里可以進(jìn)行多人語音視頻聊天,或者進(jìn)行一對一的私聊。房間效勞端主要完成房間客戶端的效勞請求,包括用戶進(jìn)入房間后的通知消息、用戶上麥后的麥序消息、用戶進(jìn)行聊天時(shí)的消息轉(zhuǎn)發(fā)以及用戶送禮后進(jìn)行的數(shù)據(jù)庫操作等。視頻中轉(zhuǎn)端可以說是整個(gè)系統(tǒng)的核心之一。為了讓房間里的用戶可以播放上麥用戶的音視頻,必須用視頻效勞器將這樣房間里的用戶收到創(chuàng)立數(shù)據(jù)庫AVChat,并創(chuàng)立如下表:(
9、1) 用戶表Users,保存用戶詳細(xì)信息,其結(jié)構(gòu)如表1。表1 Users(2) 音視頻通道表ServerAV,保存可用的音視頻通道,IM效勞端啟動(dòng)時(shí)從表中讀取通道并根據(jù)用戶的請求隨便分配,其結(jié)構(gòu)如表2。表2 ServerAv(3)房間分類表RoomClass,其結(jié)構(gòu)如表3。表3 RoomClass(4) 房間描述表RoomDesc,房間里的各種控件位置都可以由用戶自己設(shè)置,并將設(shè)置保存在效勞器上以實(shí)現(xiàn)個(gè)性化房間,其結(jié)構(gòu)如表4。表4 RoomDesc(5) 兌換表Exchange,用于保存各種禮品的兌換比例,其表結(jié)構(gòu)如表5。表5 Exchange(6)好友表Friend,用于保存用戶的好友信息。
10、其表結(jié)構(gòu)如表6。表6 Friend(7)好友分組表FriendGroup畢業(yè)論文怎么寫,用于保存用戶的好友分組信息,其表結(jié)構(gòu)如表7。表7 FriendGroup(8)禮品分類表Gift,用于保存系統(tǒng)提供的禮品信息,其表結(jié)構(gòu)如表8。表8 Gift(9)離線消息表OfflineMsg,用于保存用戶的離線消息,便于用戶上線時(shí)將離線消息發(fā)送給用戶,免于信息的喪失,其表結(jié)構(gòu)如表9。表9 OfflineMsg(10)房間信息表Room,用于保存房間的詳細(xì)信息,其表結(jié)構(gòu)如表10。表10 Room(11)房間黑名單表RoomBlackUser,用于保存在一定時(shí)間內(nèi)不能進(jìn)房間的用戶信息,其表結(jié)構(gòu)如表11。表11
11、 RoomBlackUser(12) 房間黑IP表RoomBlackIP,用于保存一定時(shí)間內(nèi)不能進(jìn)房間的用戶IP或IP段,其表結(jié)構(gòu)如表12。表12 RoomBlackIP(13) 用戶被踢表RoomDroped,用于保存房間內(nèi)用戶被踢的記錄,其表結(jié)構(gòu)如表13。表13 RoomDroped(14) 房間管理員表RoomManager,用于保存房間管理員的號(hào)碼,其表結(jié)構(gòu)如表14。表14 RoomManager(15) 用戶動(dòng)作表UserAction,用于保存用戶登錄系統(tǒng)的信息,如:上線、下線、退出等。其表結(jié)構(gòu)如表15。表15 UserAction(16) 用戶禮品表UserGift,用于保存用戶得
12、到的禮品信息。其表結(jié)構(gòu)如表16。表16 UserGift5 系統(tǒng)實(shí)現(xiàn)5.1 UDP通訊采用TCP/IP協(xié)議進(jìn)行通訊雖然穩(wěn)定性好也不會(huì)發(fā)生丟包事件,但是對于同時(shí)會(huì)有大量用戶進(jìn)行連接的系統(tǒng)來說是不可取的,所以在該系統(tǒng)的通訊上采用的是無連接的UDP協(xié)議,不過由于UDP包的不可靠性,所以將WinSock的UDP套接字封裝,以實(shí)現(xiàn)大數(shù)據(jù)包的傳送,以及UDP包的超時(shí)重發(fā),以減低丟包的可能性。5.2 視頻捕捉及發(fā)送在進(jìn)行視頻捕捉之前必需要先創(chuàng)立一個(gè)捕捉窗口,并應(yīng)以此為根底進(jìn)行所有的捕捉及設(shè)置操作。捕捉窗體可用AVICap窗口類的CapCreateCaptureWindow;函數(shù)來創(chuàng)立畢業(yè)論文怎么寫,其窗口風(fēng)
13、格可設(shè)置為WSCHILD和WS_VISIBLE參數(shù),然后將捕捉窗口與設(shè)備相關(guān)聯(lián)取得視頻信號(hào),并調(diào)置視頻設(shè)備的屬性,最后使用捕捉窗回調(diào)函數(shù)來處理從設(shè)備捕捉到的視頻數(shù)據(jù),將視頻數(shù)據(jù)通過MPEG4算法壓縮后,然后再分解成小的UDP包發(fā)送出去論文下載。5.3 視頻接收客戶端收到必須將然后再通過MPEG4算法解壓縮后一幀一幀的畫到面板上去,當(dāng)每秒鐘畫的幀數(shù)多后就會(huì)形成活動(dòng)的畫面,并且在畫的過程中可以將圖片用一定的算法放大或縮小,以滿足用戶把視頻窗體放大或縮小時(shí)的顯示要求。收到小的UDP包后,根據(jù)包里的序列號(hào),將多個(gè)UDP包組裝成一個(gè)大的UDP包,然后才能將數(shù)據(jù)解壓縮成圖像。當(dāng)數(shù)據(jù)被解壓縮成一幀幀的圖像后
14、,先將幀圖像移動(dòng)到BITMAP中去,如果縮放比例為1:0,直接將源圖復(fù)制到顯示面板上,否那么的話根據(jù)比例用算法將圖進(jìn)行縮放操作后復(fù)制到顯示面板上。5.4 非主窗體最小化顯示在任務(wù)欄程序翻開時(shí)任務(wù)欄里一般的只會(huì)顯示一個(gè)主窗體,而其它的非主窗體不會(huì)顯示在任務(wù)欄里,但在即時(shí)通訊里經(jīng)常會(huì)開很多單聊的窗體或者是翻開多個(gè)房間,如果這些翻開的窗體不顯示在任務(wù)欄里將會(huì)帶來很大的不便,為了實(shí)現(xiàn)非主窗體最小化后顯示在任務(wù)欄里,必須添加窗體的擴(kuò)展風(fēng)格。5.5好友列表框重繪 在好友列表框里我們需要友好的顯示,包括選擇按鈕,用戶處于上線、離線等不同的在線狀態(tài)時(shí)頭像的顯示和用戶被選擇后的顯示等,而好友列表我們用的是一個(gè)T
15、reeView控件,但它無法到達(dá)我們要的效果,于是選擇將它重繪畢業(yè)論文怎么寫,這即是程序的重點(diǎn)也是難點(diǎn),如圖5:圖5 好友列表框選擇按鈕的重繪。當(dāng)一個(gè)好友被選中時(shí),友好的方式是把那一整欄全部選中,重繪時(shí)必須先得到整個(gè)結(jié)點(diǎn)的大小,然后設(shè)置邊框顏色和背景顏色進(jìn)行重繪。好友的頭像顯示,因?yàn)橐粋€(gè)好友的可能會(huì)有多種狀態(tài),如在線、不在線、離開和隱身,不同的在線狀態(tài)肯定得有不同的頭像顯示,每種頭像只有一張圖片,離開和隱身分別有二張圖片,當(dāng)好友處于離開和隱身的狀態(tài)時(shí),除了繪出好友的頭像外,還得在頭像上面繪出離開和隱身的圖片,當(dāng)好友處于不在線狀態(tài)時(shí),那么直接將頭像轉(zhuǎn)換為黑白圖片然后再繪出來。5.6 系統(tǒng)音量調(diào)節(jié)
16、6系統(tǒng)使用6.1 用戶登錄用戶點(diǎn)擊文件ChatTYQ.exe,將出現(xiàn)登陸界面如圖6:圖 6 用戶登陸6.2 用戶注冊圖 7 用戶注冊6.3 登陸成功登陸成功后,顯示的是客戶端的主界面,主界面上有自己的根本信息和好友列表,并有假設(shè)干面板,如圖8:圖 8 即時(shí)通訊主程序6.4 進(jìn)入房間進(jìn)入房間后,首先顯示的是一個(gè)大廳,在大廳里有房間分類以及每個(gè)分類下的房間,用戶可以參考房間人數(shù)以及房間說明選擇想要進(jìn)入的房間,如圖9:圖 9 房間大廳左邊是房間的分類,選擇分類后,在左邊的列表中顯示該分類的所有房間。雙擊進(jìn)入所選房間,房間界面如圖10:圖 10 房間6.5 上麥在控制面板中點(diǎn)擊公麥;按鈕會(huì)出現(xiàn)供選擇的
17、上麥類型的下拉菜單,上麥類型分為公麥和私麥,而私麥又分為所有人可連接、公好友可連接及需確認(rèn)可連接三種,上公麥后房間內(nèi)所有用戶都可以看到視頻圖像畢業(yè)論文怎么寫,而上私麥后并不顯示在房間里,當(dāng)用戶請求連接后,系統(tǒng)會(huì)根據(jù)你的上麥類型而判斷是否可以讓他看到你的視頻。不同的麥類型在用戶管理列表里會(huì)有不同的麥顏色來區(qū)分,如圖11:圖 11 上麥菜單6.5 其他功能房間界面的管理如圖12:點(diǎn)擊控制面板中的界面管理;,彈出窗口,根據(jù)自己的喜好設(shè)置各個(gè)組件的位置和大小,點(diǎn)確認(rèn);即顯示用戶設(shè)置的樣式。點(diǎn)保存到本地;,用戶每次再進(jìn)入該房間都將顯示剛保存的樣式?;謴?fù);就是恢復(fù)到房間默認(rèn)的設(shè)置樣式。圖 12 界面管理用戶的管理功能如圖13:點(diǎn)擊控制面板中的用戶管理;,彈出窗口。管理員可以對該房間的用戶進(jìn)行管理。添加和刪除黑用戶、黑IP、管理員。圖 13 用戶管理其它功能如圖14,15:圖 14 用戶列表菜單 圖 15 控制面板總結(jié)經(jīng)過二個(gè)月的開發(fā),天語情多人語音視頻聊天軟件初見雛形,在這二個(gè)月中學(xué)到很多,像網(wǎng)絡(luò)通訊方面的知識(shí),學(xué)習(xí)了如何利用UDP發(fā)送大數(shù)據(jù)包以及在無連接的UDP通訊中采用超時(shí)重
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 叉車司機(jī)崗前合規(guī)化考核試卷含答案
- 太陽能利用工操作技能知識(shí)考核試卷含答案
- 化工工藝試驗(yàn)工安全管理強(qiáng)化考核試卷含答案
- 數(shù)控火焰切割機(jī)操作工崗前操作安全考核試卷含答案
- 光纖篩選工安全管理能力考核試卷含答案
- 主提升機(jī)操作工復(fù)試模擬考核試卷含答案
- 工藝扎染工崗前跨界整合考核試卷含答案
- 數(shù)字孿生應(yīng)用技術(shù)員安全操作知識(shí)考核試卷含答案
- 2024年鹽亭縣招教考試備考題庫附答案
- 工業(yè)設(shè)計(jì)工藝師安全管理競賽考核試卷含答案
- 2026年陜西省森林資源管理局局屬企業(yè)公開招聘工作人員備考題庫及參考答案詳解1套
- 承包團(tuán)建燒烤合同范本
- 英語A級常用詞匯
- NB-T 47013.15-2021 承壓設(shè)備無損檢測 第15部分:相控陣超聲檢測
- 人教新起點(diǎn)英語五上《Unit5shopping》課件-課件
- 各品牌挖掘機(jī)挖斗連接尺寸數(shù)據(jù)
- 四川省成都市八年級上學(xué)期物理期末考試試卷及答案
- GB/T 38697-2020塊菌(松露)鮮品質(zhì)量等級規(guī)格
- 三菱FX3U系列PLC編程技術(shù)與應(yīng)用-第二章課件
- RoHS培訓(xùn)資料課件
- 協(xié)調(diào)控制系統(tǒng)
評論
0/150
提交評論