




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、摘要隨著中國計算機網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,利用計算機技術(shù)和網(wǎng)絡(luò) 技術(shù)實現(xiàn)資源共享已經(jīng)成為人們工作和生活中重要的組成部分。針對目前流行的網(wǎng)絡(luò)視頻播放技術(shù)的深入分析,并結(jié)合本系統(tǒng) 的特點,我決定采用java做為開發(fā)語言,并使用目前流行的 ssh (spring, struts, hibernate)框架,易于以后的功能擴展;數(shù)據(jù) 庫采用ibm db2 v9. 7;視頻流方面使用開源軟件red5做為流媒體 服務(wù)器。本系統(tǒng)通過j2ee+ssh+tomcat+red5的完美融合,實現(xiàn)了視 頻管理、視頻審核、權(quán)限管理、視頻播放和視頻上傳等功能。本系統(tǒng)完成后,能夠滿足大多數(shù)用戶的業(yè)務(wù)需求,并且能夠長 期、安全、
2、穩(wěn)定地運行。關(guān)鍵詞:視頻管理,流媒體,j2ee, db2, sshabstractwith the rapid development of computer network technology, computer technology and network technology to achieve resource sharing has become an important part of people's work and lifeaccording to analysi s of the current popular network vi deo technology
3、, combined with the system, i decided to use java as a development language, and use the currently popular ssh (spring, struts, hibernate) framework for easy future extensions ; database using ibm db2 v9 7; video streaming using red5 whice is a open source software as the streaming media server. the
4、 system through j2ee + ssh + tomcat + red5 to provi de video management, authority management, video playback and video upload function.when the system i s compl eted, it i s abl e to meet the functi on needs of most users, and the 1 ong-termly, safel y and stably operationkey: video, streaming medi
5、a,j2ee,db2,ssh目錄1 項目概述21.1 建設(shè)背景21.2 業(yè)務(wù)需求分析41.2.1視頻管理需求分析41.2.2視頻分類需求分析51.2.3視頻審核需求分析 51.3 安全性需求61.4 性能需求72 系統(tǒng)設(shè)計82.1 技術(shù)研究與分析82.2 軟件運行環(huán)境92.2.1 開發(fā)平臺92.2.2 系統(tǒng)運行環(huán)境102.3 架構(gòu)設(shè)計112.4 功能組成122.4.1 前臺展示132.4.2 后臺管理142.5 系統(tǒng)角色152.6 安全設(shè)計172.7 數(shù)據(jù)庫設(shè)計182.7.1 數(shù)據(jù)庫設(shè)計概念模型182.7.2 數(shù)據(jù)庫物理設(shè)計183 編碼與實現(xiàn)243.1 創(chuàng)建項目243.2 前臺展示243.2.
6、1 視頻分類展示243.2.2 視頻播放253.2.3 用戶注冊283.2.4 視頻上傳283.2.5 視頻搜索393.3 后臺管理433.3.1 視頻分類管理433.3.2 視頻管理443.3.3 視頻審核453.3.4 視頻上傳463.3.5 用戶管理463.3.6 權(quán)限管理473.3.7 系統(tǒng)日志48結(jié)論50致謝51參考文獻521項目概述1.1 建設(shè)背景隨著中國計算機網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,利用計算機技術(shù)和網(wǎng)絡(luò)技術(shù)實現(xiàn)資 源共享已經(jīng)成為人們工作和生活中重耍的組成部分,在網(wǎng)頁中只顯示文字、圖 片和聲音已經(jīng)不能滿足人們的需求,希望在網(wǎng)頁能提供更豐富的、多樣化的信 息,因此網(wǎng)絡(luò)視頻的應(yīng)用得到了迅速
7、的發(fā)展。傳統(tǒng)影視媒體、教育學(xué)習(xí)機構(gòu)、 廣播媒體紛紛加入到internet領(lǐng)域中,為網(wǎng)絡(luò)視頻提供了豐富的資源。由丁傳 統(tǒng)的音視頻播放技術(shù)必須把音視頻文件下載到本地才能播放,下載前用戶無法 知道音視頻的內(nèi)容和質(zhì)量,這樣就造成了網(wǎng)絡(luò)資源的占用和浪費。面對有限的 帶寬,減少網(wǎng)絡(luò)資源的浪費,實現(xiàn)網(wǎng)絡(luò)的視頻、咅頻、動冊i傳輸最好的解決方 案就是流式媒體的傳輸方式?;诹髅襟w的視頻播放系統(tǒng)(以下簡稱“光影視頻系統(tǒng)”)通過將采用red5 流媒體服務(wù)器作為視頻點播系統(tǒng)中服務(wù)器端的核心,并以此為基礎(chǔ),逐步擴展 更多流媒體在線服務(wù)數(shù)據(jù)流方式進行傳輸,可以提供清晰、不中斷的影音給觀 眾,實現(xiàn)了網(wǎng)上動畫、影音等多媒體的
8、實時播放。1-2業(yè)務(wù)需求分析光影視頻系統(tǒng)需要實現(xiàn)的功能包括用戶的管理,視頻管理、視頻分類管理、 視頻審核。具體功能描述為,包含用戶的注冊、登錄操作,用戶信息的修改和 刪除操作;視頻分類的增刪改查操作;視頻信息的增刪改查、播放操作,視頻 文件的審核操作。光影視頻系統(tǒng)是在對一些用戶在線觀看電影的實際方式調(diào)研后,以實現(xiàn)用 戶的需求為基礎(chǔ),以現(xiàn)有網(wǎng)絡(luò)帶寬的實際情況下進行設(shè)計的。該系統(tǒng)使用b/s 模式實現(xiàn)功能,用戶可以瀏覽、點播、上傳視頻。管理員可對用戶、視頻信息 進行增加、刪除、審核以及修改等操作。1.2.1 視頻管理需求分析光影視頻管理系統(tǒng)包含對用戶上傳的視頻進行維護、設(shè)置視頻圖片和審核 等功能。光
9、影視頻系統(tǒng)針對當(dāng)前登錄的不同用戶,提供不同的視頻管理范圍。 普通注冊用戶管理自己上傳的視頻,系統(tǒng)管理員管理視頻網(wǎng)站上的所有視頻。 針對口前網(wǎng)絡(luò)上流行的視頻文件格式,要求系統(tǒng)要支持以下格式的視頻:avi. rmvb> rm、flv、wmv> 3gp> asx、asf和mov兒種格式,單視頻文件大小 2go為了方便用戶查找視頻,要提供視頻簡單搜索和高級搜索兩各搜索功能。 簡單搜索功能包括:視頻標(biāo)題和視頻分類;高級搜索功能包扌4視頻標(biāo)題、視 頻分類、上傳時間、視頻時長。光影視頻系統(tǒng)視頻添加和修改功能流程圖如下:開始結(jié)束圖11視頻添加、修改流程1.2.2 視頻分類需求分析視頻分類功能
10、是把上傳的視頻進行歸類處理,方便用戶快速的查找喜歡的 視頻。系統(tǒng)管理員通過后臺視頻分類管理功能維護視頻分類,并在系統(tǒng)前臺首 頁中顯示。1.2.3 視頻審核需求分析視頻審核功能是光影視頻系統(tǒng)必需提供的功能,視頻網(wǎng)站面臨的最大問題 就是視頻版權(quán)問題,為了避免此問題,光影視頻系統(tǒng)增加視頻審核功能。視頻 審核功能是通過人工的方式對視頻內(nèi)容進行過濾,對于不符合國家廣電總局耍 求的視頻,系統(tǒng)管理員把視頻狀態(tài)置成審核未通過,此視頻不會在前臺顯示。上傳用戶對于審核未通過的視頻,可以進行刪除操作,也可以重新上傳視頻。視頻審核流程如下:開始圖12視頻審核流程圖1.3 安全性需求由于光影視頻系統(tǒng)運行在互聯(lián)網(wǎng)屮,就要
11、需要提供安全防護功能。木系統(tǒng) 的安全防護功能從計算機環(huán)境安全防護和軟件防護兩方面實現(xiàn)。計算環(huán)境防護就是采用操作系統(tǒng)安全增強登錄控制、主機入侵檢測、漏洞修 補、病毒防護、外設(shè)和接口控制、數(shù)據(jù)保護等手段為各種業(yè)務(wù)應(yīng)用提供一個安全可 靠的運行環(huán)境。軟件防護就是利用本系統(tǒng)提供的用戶認證和授權(quán)機制,人工+自動審核注 冊用戶,并通過角色限制用戶的操作權(quán)限;同吋,提供完整的系統(tǒng)操作日志, 以便管理人員分析和跟蹤注冊用戶對木系統(tǒng)的操作情況。1.4性能需求根據(jù)目前互聯(lián)網(wǎng)上視頻網(wǎng)站的用戶分布情況、網(wǎng)站功能的特點和功能使用 頻率,以及光影視頻系統(tǒng)的物理部署、功能需求、和應(yīng)用場景,分析得出光影 視頻系統(tǒng)的性能指標(biāo)需求
12、。光影視頻系統(tǒng)要求達到的性能指標(biāo)有以下內(nèi)容:表軟件性能指標(biāo)一覽表序號功能點名稱性能指標(biāo)響應(yīng)時間1.視頻搜索頁面視頻表記錄表:10力并發(fā)數(shù):10個用戶并發(fā);平均響應(yīng)時間w5秒2.視頻播放頁面視頻表記錄表:10萬 并發(fā)數(shù):30個用戶并發(fā);平均響應(yīng)吋間w5秒(不包含視頻加載 時間)2系統(tǒng)設(shè)計2.1 技術(shù)研究與分析在業(yè)務(wù)需求分析和安全需求分析的基礎(chǔ)上,本系統(tǒng)采用mvc模型進行系 統(tǒng)設(shè)計。mvc是一個設(shè)計模式,它強制性的使應(yīng)用程序的輸入、處理和輸出 分開。mvc是模型(model),視圖(view)和控制(controller)的縮寫,其目的實現(xiàn) web系統(tǒng)的職能分工,各自處理自己的任務(wù)。其中model
13、層實現(xiàn)系統(tǒng)中的業(yè) 務(wù)邏輯,通??梢杂胘avabean或ejb來實現(xiàn);view層用于與用戶的交互,通 常用jsp來實現(xiàn);controller層是model與view之間溝通的橋梁,它可以分 派用戶的請求并選擇恰當(dāng)?shù)囊晥D以用于顯示,同時它也可以解釋用戶的輸入并 將它們映射為模型層可執(zhí)行的操作。采用三層架構(gòu)冇助于以后系統(tǒng)可能的擴充 和升級,三層之間基本可以做到分離。使用mvc模型的優(yōu)點有:a) 耦合性低視圖層和業(yè)務(wù)層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和 控制器代碼,同樣,一個應(yīng)用的業(yè)務(wù)流程或者業(yè)務(wù)規(guī)則的改變只需要改動mvc 的模型層即可。因為模型與控制器和視圖相分離,所以很容易改變應(yīng)用
14、程序的 數(shù)據(jù)層和業(yè)務(wù)規(guī)則。b) 重用性高隨著技術(shù)的不斷進步,現(xiàn)在需要用越來越多的方式來訪問應(yīng)用程序。mvc 模式允許使用各種不同樣式的視圖來訪問同一個服務(wù)器端的代碼,因為多個視 圖能共享一個模型,它包括任何web (http)瀏覽器或者無線瀏覽器(wap), 比如,用戶可以通過電腦也可通過手機來訂購某樣產(chǎn)品,雖然訂購的方式不一 樣,但處理訂購產(chǎn)品的方式是一樣的。由丁模型返回的數(shù)據(jù)沒有進行格式化, 所以同樣的構(gòu)件能被不同的界面使用。例如,很多數(shù)據(jù)可能用html來表示, 但是也有可能用wap來表示,而這些表示所需要的命令是改變視圖層的實現(xiàn) 方式,而控制層和模型層無需做任何改變。由于已經(jīng)將數(shù)據(jù)和業(yè)務(wù)
15、規(guī)則從表示 層分開,所以可以最大化的重用代碼了。模型也有狀態(tài)管理和數(shù)據(jù)持久性處理 的功能,例如,基于會話的購物車和電子商務(wù)過程也能被flash網(wǎng)站或者無線聯(lián)網(wǎng)的應(yīng)用程序所重用。c)生命周期成木低mvc使開發(fā)和維護用戶接口的技術(shù)含量降低。d)部署快使用mvc模式使開發(fā)吋間得到相當(dāng)大的縮減,它使程序員(java開發(fā)人 員)集中精力于業(yè)務(wù)邏輯,界面程序員(html和jsp開發(fā)人員)集中精力于 表現(xiàn)形式上。e)可維護性高分離視圖層和業(yè)務(wù)邏輯層也使得web應(yīng)用更易于維護和修改。2.2 軟件運行環(huán)境2.2.1 開發(fā)平臺系統(tǒng)使用b/s架構(gòu),采用java語言進行開發(fā),并使用口前流行的ssh框 架在eclips
16、e3.4進行開發(fā)j2ee項目,開發(fā)環(huán)境配置清單見表2-1開發(fā)環(huán)境軟件 配置一覽表。表21開發(fā)環(huán)境軟件配置一覽表序號軟件名稱軟件版本備注1eclipsev3.4java程序開發(fā)工具2.sun jdkvi.6編譯和執(zhí)行java程序3.apache-tomcatv7.0提供j2ee項目基礎(chǔ)運行環(huán)境4.photoshopcs3版本制作網(wǎng)站效果圖5.powerdesignerv12.5數(shù)據(jù)庫設(shè)計工具6.ie8.0版本網(wǎng)頁瀏覽器7.db2v9.7數(shù)據(jù)庫軟件8.ffmpegvi.0視頻轉(zhuǎn)碼程序9.mplayervi.0視頻轉(zhuǎn)碼程序2.2.2 系統(tǒng)運行環(huán)境1)軟件運行環(huán)境表22軟件運行環(huán)境序號軟件接口需求名稱
17、/標(biāo)識具體要求優(yōu)先級備注1db2版本v9.7高數(shù)據(jù)庫服務(wù)器2.紅旗linuxasian linux3.0 sp2高操作系統(tǒng),用 于數(shù)據(jù)庫服務(wù) 器和應(yīng)用服務(wù) 器3.apache tomcat server版本6.0高j2ee應(yīng)用服務(wù)器2)碩件支撐環(huán)境表1硬件支撐環(huán)境序號硬件名稱具體要求優(yōu)先級備注1web應(yīng)用服務(wù)器cpu: 2*intel xeon processor 7330 (2.40ghz/6mb l2 quad core); 內(nèi)存:8gb ;網(wǎng)卡:2* giga ethernet; 便盤:3*300g scsi, 15000 轉(zhuǎn)高提供面向 http、訪問請求 /應(yīng)答的負載均 衡服務(wù)2流媒體
18、服務(wù)器群cpu: 2*intel xeon processor 7330 (2.40ghz/6mb l2 quad core); 內(nèi)存:8gb ;網(wǎng)卡:2* giga ethernet; 硬盤:3*3oog scsi, 15000 轉(zhuǎn)高捉供門戶運行的 硬件支撐環(huán)境。3數(shù)據(jù)庫服務(wù)器cpu: 2*intel xeon processor 7330 (2.40ghz/6mb l2 quad core); 內(nèi)存:24gb ;網(wǎng)卡:2* giga ethernet; 硬盤:3*3oog scsi, 15000 轉(zhuǎn)高提供全域數(shù)據(jù)庫 等運行的硬件支 撐環(huán)境。4存儲系統(tǒng)采用高端光纖磁盤陣列作為在線高提供數(shù)據(jù)存
19、儲、序號硬件名稱具體要求優(yōu)先級備注存儲設(shè)備,利用分區(qū)技術(shù)和虛擬化 技術(shù)實現(xiàn)存儲資源的整合和共享, 并實現(xiàn)更高的資源利用率,并簡化 系統(tǒng)管理,降低維護成木;光通道,300t,加連接計算機的 hba 卡。歸檔、備份的硬 件支撐環(huán)境。2.3架構(gòu)設(shè)計根據(jù)光影視頻系統(tǒng)的特點,基丁流媒體的光影視頻系統(tǒng)的總體架構(gòu)如下圖 所示。web服務(wù)器圖2-1系統(tǒng)架構(gòu)圖從整體結(jié)構(gòu)上看,整個硬件環(huán)境分為兩部分:一個是直接接入internet人 web服務(wù)器;另一個是由數(shù)據(jù)庫服務(wù)器、流媒體服務(wù)器和網(wǎng)絡(luò)存儲并通過千 兆交換成的局域網(wǎng);兩個網(wǎng)絡(luò)通過碩件防火墻連接。web服務(wù)器配置兩個ip:公網(wǎng)ip和私網(wǎng)ip,面向所有用戶提供服務(wù)
20、,web 服務(wù)器使用木身的存儲系統(tǒng)。數(shù)據(jù)庫服務(wù)器為本系統(tǒng)提供數(shù)據(jù)支撐,服務(wù)器上只配置私網(wǎng)ip,外部只能 通過web服務(wù)器訪問到數(shù)據(jù)庫服務(wù)器。數(shù)據(jù)庫服務(wù)器使用網(wǎng)絡(luò)存儲保存數(shù)據(jù), 并采用備份機制定吋保存數(shù)據(jù)。備份機制內(nèi)容包括全備份和增量備份:數(shù)據(jù)庫 每周做全備份,周一到周六做増量備份。流媒體服務(wù)器負責(zé)提供視頻流服務(wù),服務(wù)器上只配置私網(wǎng)ip,外部只能通 過web服務(wù)器訪問到數(shù)據(jù)庫服務(wù)器。通過網(wǎng)絡(luò)存儲的掛載功能,把存儲中的 某些目錄掛載到流媒體服務(wù)器上,訪問這些目錄時就如同訪問本地磁盤一樣。 用戶上傳的視頻文件存儲在網(wǎng)絡(luò)存儲中,流媒體服務(wù)器以數(shù)據(jù)流的方式向訪問 用戶提供視頻數(shù)據(jù)。網(wǎng)絡(luò)存儲為本系統(tǒng)提供數(shù)
21、據(jù)存儲服務(wù),數(shù)據(jù)庫服務(wù)器和流媒體服務(wù)器使用 存儲,web服務(wù)器使用自己的存儲。2.4 功能組成根據(jù)用戶的業(yè)務(wù)需求,光影視頻系統(tǒng)曲前臺顯示和系統(tǒng)后臺兩部分組成, 共包含15個功能,如下圖所示:視頻播放系統(tǒng)前臺展不視頻分類視頻上傳視頻播放用戶注冊視頻搜索視頻管理視頻審核用戶管幾權(quán)限管理后臺管理2-2光影視頻系統(tǒng)功能組成圖如上圖所示,系統(tǒng)分為兩部分:前臺展示和后臺管理。前臺是開放給瀏覽 用戶使用的功能,包括視頻分類、視頻播放、視頻上傳、用戶注冊、視頻搜索、 評論和評分等功能。系統(tǒng)后臺是系統(tǒng)用戶和系統(tǒng)管理員使用的功能,包括視頻 分類管理、視頻上傳、視頻管理、用戶管理、權(quán)限管理和系統(tǒng)口志等模塊。2.4.
22、1 前臺展示光影視頻系統(tǒng)前臺展示功能包括視頻分類展示、視頻播放、視頻上傳、視 頻搜索和用戶注冊五大功能,功能詳細說明如下:1)視頻分類展示系統(tǒng)首頁的內(nèi)容按視頻分類分區(qū)域顯示,每介區(qū)域顯示最新上傳的視頻, 視頻顯示的內(nèi)容包括:視頻圖片、視頻標(biāo)題、視頻時長和視頻播放次數(shù)信息。 通過視頻分類名稱的鏈接,進入到視頻分類顯示頁面,分頁顯示此分類下的所 冇視頻信息。視頻的分類信息由視頻分類管理模塊進行維護。2)視頻播放視頻播放采用流媒體技術(shù)播放選擇的視頻,web應(yīng)用服務(wù)器和流媒體服 務(wù)器分開,前端web服務(wù)器每次接收到視頻播放請求時,系統(tǒng)自動連接流媒 體服務(wù)器并傳遞請求播放視頻的參數(shù),接收到流媒體服務(wù)器傳
23、回的視頻流通過 flash插件進行視頻播放。每次播放視頻時,系統(tǒng)保留視頻播放記錄并增加點 播次數(shù)。點播次數(shù)計算方式為:同一 session三分鐘訪問同一視頻只記錄一次。3)視頻上傳注冊用戶通過視頻上傳頁面可以上傳不同類型的視頻文件,支持以下兒種 格式的視頻文件:avi、rmvb> rm、flv> wmv> 3gp、 asx、asf 和 mov。用 戶上傳并保存視頻信息后,系統(tǒng)后臺自動調(diào)用視頻轉(zhuǎn)碼程序,把視頻文件轉(zhuǎn)換 成flv格式,再通過red5流媒體技術(shù)對外提供視頻流數(shù)據(jù)支撐。本系統(tǒng)采用 兩種視頻傳碼程序,針對不同的視頻格式文件采用不同的轉(zhuǎn)碼程序,ffmpeg 程序可以快速地
24、把avi> wmv> 3gp> asx、asf和mov轉(zhuǎn)換成flv格式,但 是對于rmvbx rm兩種格式的視頻不能很好的轉(zhuǎn)碼支持,需要先使用mplayer 程序把這兩種格式的視頻轉(zhuǎn)換成avi格式,再通過ffmpeg程序傳換成flv格式。 mplayer轉(zhuǎn)碼程序效率比ffmpeg低很多,前者需要占用更多的資源和時間。視頻轉(zhuǎn)碼成功后自動刪除上傳的源文件和轉(zhuǎn)碼過程中產(chǎn)生的臨吋文件。4)用戶注冊瀏覽用戶可以通過首頁的用戶注冊功能進行用戶注冊操作,輸入用戶名 后,系統(tǒng)自動進行數(shù)據(jù)檢測,保證用戶輸入的用戶名唯一。5)視頻搜索本系統(tǒng)提供兩種視頻搜索功能:簡單搜索和高級搜索。簡單搜索功能的
25、搜索條件包括視頻標(biāo)題和視頻分類。用戶輸入完查詢條件 后,系統(tǒng)根據(jù)查詢關(guān)鍵字過濾信息信息,只返回與查詢條件相關(guān)的視頻信息。高級搜索功能的搜索條件包括:視頻標(biāo)題、視頻分類、視頻關(guān)鍵字和視頻 描述。輸入的條件越多,數(shù)據(jù)的命中率就越高,但查詢時間也會相應(yīng)增加。2.4.2 后臺管理光影視頻系統(tǒng)后臺管理功能主耍用于維護和管理本系統(tǒng)的數(shù)據(jù),數(shù)據(jù)內(nèi)容 包括:視頻信息、用戶信息、權(quán)限信息、系統(tǒng)日志信息等等,具體功能分為: 視頻分類管理、視頻管理、視頻審核、視頻上傳、用戶管理、權(quán)限管理和系統(tǒng) 日志七大功能,功能詳細說明如下:1)視頻分類管理視頻分類提供了對視頻進行歸類的操作,方便用戶瀏覽和播放感興趣的視 頻。視頻
26、分類管理功能包含增、刪、改、查操作。系統(tǒng)管理員可以對視頻分類 信息進行維護,可以快速的增加、修改或刪除分類,操作后的數(shù)據(jù)會在前臺展 示的視頻分類展示功能屮體現(xiàn)。每次需要調(diào)用視頻分類信息時,通過此功能維 護即可而不需要修改程序。2)視頻上傳前臺的視頻上傳功能是提供給注冊用戶使用的,系統(tǒng)管理員無法使用前臺 的視頻上傳功能,此處的視頻上傳功能注冊用戶和系統(tǒng)管理員都可以使用,后 臺程序執(zhí)行的操作同前臺展示的視頻上傳功能一致,此處不再冗述,詳細說明 見3)視頻上傳。3)視頻管理視頻管理功能可以對本系統(tǒng)的所有視頻進行修改和刪除的操作,并提供視 頻檢索功能,搜索條件包括:視頻標(biāo)題、關(guān)鍵字、視頻分類、上傳用戶
27、和上傳 吋間。視頻管理頁面默認分頁顯示所有視頻。管理員可以通過此功能修改任意 一個視頻信息,也可以直接刪除。4)視頻審核視頻網(wǎng)站最終面臨的最犬問題是視頻版木的問題(目前人多數(shù)網(wǎng)站,如土 豆、優(yōu)酷、56等等視頻網(wǎng)站都在規(guī)避這個問題,而又不能徹底解決),所以本 系統(tǒng)增加視頻審核的功能,當(dāng)冇視頻發(fā)行商投訴或者視頻內(nèi)容不符合廣電總局 的耍求時,可以通過此功能把視頻的狀態(tài)置為審核未通過的狀態(tài),那么在前臺 頁面中此視頻就不會再顯示了,但是視頻上傳用戶可以在后臺的視頻管理頁面 中看到此視頻記錄,但是不能播放。直到上傳用戶重新上傳視頻并通過審核后 方能在前臺顯示和播放。5)用戶管理用戶管理有兩種功能,一種功能
28、是系統(tǒng)管理員使用,另一種功能是注冊用 戶使用。系統(tǒng)管理員可以管理和維護所有注冊用戶信息,而注冊用戶只能看到 自己注冊的用戶信息。系統(tǒng)管理員通過此功能審核注冊用戶的信息,如果存在惡意注冊的情況, 可以直接刪除注冊信息。6)權(quán)限管理權(quán)限管理是本系統(tǒng)的權(quán)限控制中心,通過引用角色的概念,實現(xiàn)對不同用 戶的權(quán)限控制。系統(tǒng)把功能模塊的訪問權(quán)限與角色綁定起來,即角色可以訪問 哪些功能模塊,再把用戶與角色進行綁定,即一些用戶屬于同一類角色,當(dāng)用 戶登錄本系統(tǒng)后,后臺程序根據(jù)用戶的信息查詢此用戶屬于哪個角色,再通過 角色查詢此角色擁有哪些功能模塊的訪問權(quán)限,從而實現(xiàn)了權(quán)限控制。7)系統(tǒng)日志系統(tǒng)f1志是本系統(tǒng)一個
29、重要的組成部分,記錄了本系統(tǒng)的操作情況,比如 哪個用戶什么時間在什么地方登錄了木系統(tǒng),上傳、修改或刪除了哪些視頻。 口志數(shù)據(jù)只支持查詢操作,不提供修改和刪除操作。2.5 系統(tǒng)角色根據(jù)用戶的具體業(yè)務(wù)需求和系統(tǒng)功能分析出,光影視頻系統(tǒng)需要包含三種角色:1)系統(tǒng)管理員:具有光影視頻系統(tǒng)最高管理權(quán)限的用戶;2)系統(tǒng)用戶:具有光影視頻系統(tǒng)相關(guān)功能操作權(quán)限的用戶;3)瀏覽用戶:只有播放視頻權(quán)限的用戶;各角色擁有的權(quán)限見下圖所示:圖23系統(tǒng)管理員用例圖視頻播放系統(tǒng)用戶圖24系統(tǒng)用戶用例圖圖25瀏覽用戶用例圖2.6 安全設(shè)計在進行系統(tǒng)設(shè)計時,需要有足夠的安全措施,避免敏感信息受到破壞。不但要 對信息訪問與使用
30、進行嚴(yán)格的權(quán)限管理,而且在技術(shù)與產(chǎn)品上,優(yōu)先考慮擁有國產(chǎn) 自主版權(quán)的可靠產(chǎn)品,確保整個系統(tǒng)的安全可靠。具體安全性設(shè)計:1)權(quán)限控制:未授權(quán)人員無法登陸系統(tǒng)或進行相應(yīng)操作;2)強大的口志功能:記錄用戶的各種重要操作和系統(tǒng)的異常信息;2.7 數(shù)據(jù)庫設(shè)計2.7.1 數(shù)據(jù)庫設(shè)計概念模型根據(jù)光影視頻系統(tǒng)的業(yè)務(wù)需求,分析出實體對象的er模型,如下圖所示,共分為6個實體對象:視頻、視頻分類、d操作用八m用戶、角色、模塊和h志。操作時間操作內(nèi)容口心1操作用八pi圖26光影視頻系統(tǒng)e-r圖2.7.2 數(shù)據(jù)庫物理設(shè)計1)數(shù)據(jù)庫物理模式表名視頻表表的標(biāo)識t spb用途保存視頻信息索引主鍵索引序 號屬性名稱字段名稱數(shù)
31、據(jù)類型說明主 鍵外鍵1idii)integer主鍵idyn2視頻標(biāo)題spbtvarchar(256)視頻標(biāo)題nn3視頻文件 名spwjmvarchar(256)視頻文件的文件 名nn4視頻狀態(tài)spztsmallint1:審核通過0:審核未通過nn視頻id視頻標(biāo)題 視頻文件名 視頻狀態(tài) 視頻時長 播放次數(shù)上傳時司 視頻截圖 關(guān)鍵字視頻描述 上傳用戶 視頻分類 星級 發(fā)行導(dǎo)演主演對白ivtegervarchar(256)varchar(256) smallintvarchar(32) intrger timestampvarchar(64)varchar(256)varchar(3000)inte
32、gerintegerintegervarchar(8)varchar(32)varchar(128)integer<nk><fk>用戶referenccf reterence 4名 時 戶碼箱建 d一用密郵創(chuàng)integer<pk>varchar(32)varchar(32)varchaiu128)timestamp模塊idinteger<pk>模塊名稱varchar (32)上級模塊id integer圖12)數(shù)據(jù)元素集合視頻分類<pk>1d 分類名稱 上級分類id 節(jié)點標(biāo)志位 分類描述 排序integervarchar(32) in
33、teger smallintvarchar (1024) integer用戶角色表id integer <pk>用戶id integer <fkl>角色id integer <fk2>v reference 3日志表integer<pk>作用戶id integer 乍用戶ip varchar(32) 乍時間 timestamp 作內(nèi)容 varchar (2000)角色表f_reffcrence_5 壟integer <pk>、角色名稱varq1ar(32)創(chuàng)建時間timestampe reference 2權(quán)限to integer &
34、lt;pk> 模塊 11) integer <fk2> 角色id integer <fkl>報表應(yīng)用數(shù)據(jù)庫物理模式圖表1視頻表5視頻時長spscvarchar(32)視頻文件播放時長nn6播放次數(shù)bfcsinteger視頻被播放的次 數(shù)ny7上傳時間scsjtimestamp視頻上傳時間nn8視頻截圖spjtvarchar(64)視頻文件的截圖nn9關(guān)鍵字gjzvarchar(256)視頻關(guān)鍵字,多個 用,分隔nn10視頻描述spmsvarchar(3000)視頻描述ny11上傳用八scyhinteger上傳用八ny12視頻分類spflinteger視頻所屬分類n
35、y13星級xjinteger星級nn14發(fā)行fxvarchar(8)發(fā)行nn15導(dǎo)演dyvarchar(32)導(dǎo)演nn16匸演zyvarchar(128)nn17對白dbinteger對iinn表2視頻分類表表名視頻分類表表的標(biāo)識t spflb用途保存視頻分類信息索引主鍵索引序 號屬性名稱字段名稱數(shù)據(jù)類型說明主 鍵外 鍵1id1dinteger主鍵idyn2視頻分類名稱flmcvarchar(32)視頻分類名稱nn3上級分類idsjflidinteger上級視頻分類idny4節(jié)點標(biāo)志 位jdbzbyte是否是葉子節(jié)點nn5分類描述flmsvarchar(1024)視頻分類的描述 信息nn6排序
36、pxintegernn表3用戶表表名用戶表表的標(biāo)識t yhb用途保存光影視頻系統(tǒng)用戶信息索引主鍵索引序 號屬性名稱字段名稱數(shù)據(jù)類型說明主 鍵外 鍵1ididinteger主鍵idyn2川戶名yhmvarchar(32)登錄川戶名nn3密碼mmvarchar(32)密碼nn4電子郵箱dzyxvarchar(256)電子郵箱nn5創(chuàng)建時間cjsjtimestamp用戶注冊時間nn表4角色表表名角色表表的標(biāo)識t jsb用途保存光影視頻系統(tǒng)角色信息索引主鍵索引序 號屬性名稱字段名稱數(shù)據(jù)類型說明主鍵外 鍵1ididinteger主鍵idyn2角色名稱jsmcvarchar(32)角色幺稱nn3創(chuàng)建時間c
37、jsjtimestamp角色注冊時間nn表5用戶如色表表名用戶角色表表的標(biāo)識t yhjsb用途保存用戶角色映射信息索引主鍵索引序 號屬性名稱字段名稱數(shù)據(jù)類型說明主鍵外鍵1idtdinteger主鍵idyn2角色idjsidinteger角色表主鍵idny3用戶1dcjsjinteger用戶表主鍵idny農(nóng)6模塊表表名模塊表表的標(biāo)識t mkb用途保存功能模塊信息實現(xiàn)角色授權(quán)索引主鍵索引序 號屬性名稱字段名稱數(shù)據(jù)類型說明主鍵外 鍵1ididinteger主鍵idyn2模塊名稱mkmcvarchar(32)模塊名稱nn3上級模塊idsjmk1dinteger上級模塊idny表7權(quán)限表表名用戶角色表表
38、的標(biāo)識t.qxb用途保存用戶角色映射信息索引主鍵索引序 號屬性名稱字段名稱數(shù)據(jù)類型說明主鍵外 鍵1ididinteger主鍵idyn2角色idjsidinteger角色表主鍵idny3用戶idcjsjinteger用戶表主鍵idny表8 fi志表表名fi志表表的標(biāo)識t rzb用途保存光影視頻系統(tǒng)操作記錄索引主鍵索引序 號屬性名稱字段名稱數(shù)據(jù)類型說明主鍵外鍵1id1dinteger主鍵idyn2操作用戶idczyhidinteger用戶表主鍵idny3操作用戶ipczyhipvarchar(32)客戶端ipnn4操作吋間czsjtimestamp操作吋間nn5操作內(nèi)容cznrvarchar(20
39、00)操作內(nèi)容nn3編碼與實現(xiàn)3.1 創(chuàng)建項目打開eclipse后,單擊filenew-dynamic web project,在工程名稱中輸 a video,然后點擊完成,工程創(chuàng)建成功。ide工具自動創(chuàng)建src和webcontent 目錄,src目錄下用于存放java代碼,webcontent下存放web項目的配置文 件和網(wǎng)頁相關(guān)文件。3.2 前臺展示3.2.1 視頻分類展示系統(tǒng)首頁的內(nèi)容按視頻分類分區(qū)域顯示,每介區(qū)域顯示最新上傳的視頻, 視頻顯示的內(nèi)容包括:視頻圖片、視頻標(biāo)題、視頻時長和視頻播放次數(shù)信息。 通過視頻分類名稱的鏈接,進入到視頻分類顯示頁而,分頁顯示此分類下的所 有視頻信息。光
40、影視頻系統(tǒng)視頻分類內(nèi)容顯示如下圖所示:光影視頻百頁電聯(lián)電視劇曲用勺泛葉音樂飆科技'轡 褂豕-«wft龍神耒7妊曲qq越與m2o應(yīng)侵與尅03:東京潭移湮贋與艸5s湮侵與紺16大就當(dāng)as»tt2金懐與迸佈6拇行滯:7 ffisiesiftj皈li避行劊宗心四大名摘今日更張:(0眈彫越*: (10j大我當(dāng)初親詣將愛侑邊行到凰謹(jǐn)虔與1ha4四大名為圖3j光影視頻系統(tǒng)首頁系統(tǒng)首頁默認包含7個大類:電影、電視劇、綜藝、動漫、音樂、體育和 科技,每個大分類下可以繼續(xù)創(chuàng)建子類。視頻分類信息在系統(tǒng)后臺中動態(tài)管理, 詳細內(nèi)容見“視頻分類管理”章節(jié)。視頻分類展示功能的吋序圖如下圖所示:圖
41、32視頻分類顯示時序圖3.2.2 視頻播放視頻播放頁而通過連接流媒體服務(wù)器,以數(shù)據(jù)流方式把視頻信息通過 flowplayer播放器播放視頻,因為視頻播放器是使用flash制作的,所以要求客 戶端必須安裝flashlo以上的插件。視頻播放時序圖如下圖所示:圖33視頻播放流程時序圖瀏覽用戶通過視頻列表頁而上的url鏈接(包含視頻id參數(shù)),向系統(tǒng)后 發(fā)送服務(wù)請求,videoaction類接收而臺用戶視頻播放請求并解析出視頻id參 數(shù),從service層和dao層獲取視頻信息,杳詢完成后轉(zhuǎn)向視頻播放頁面。視頻播放頁而打開后,h動向服務(wù)流媒體服務(wù)器發(fā)送請求,獲取視頻流數(shù) 據(jù),并通過flowplayer
42、播放器呈現(xiàn)給用戶。flowplayer播放器口帶視頻播放頁 面顯示效果如卜圖所示:回百頁登錄i :主的正在醬敢:謨度與敘電觀劇號綜藝體肓音樂資訊科技i hwt視頻播放頁面獲取視頻流的代碼如下:vh3xs:property value="name" /></h3><!視頻名稱-><!播放窗口流媒體播放><a style="display:block;width:640px;height:480px" id=hplayer"></a><script>var player
43、= flowplayerc'player", "$ctx /flowplayer/flowplayer-3.2.7.swf",/播放器路徑clip: provider: 'rtmp1, 以流媒體方式獲取視頻live: false,autobuffering: true, 是否自動緩沖視頻,默認trueautoplay: false,url:'$destfile'視頻文件名,plugins: rtmp: url: '$ctx /flowplayer/flowplayer.rtmp3.2.3.swf;netconnectionl
44、lrl: '<%=commonutils.getproperty("playurl")%>'/從pki置文件中獲取流媒體服務(wù)器連接地址);</script>3.2.3 用戶注冊用戶注冊功能是用戶上傳視頻的前置條件,瀏覽用戶必須通過本系統(tǒng)的用 戶注冊功能注冊成為本系統(tǒng)的系統(tǒng)用戶后,才能上傳視頻。瀏覽用戶請求注冊后,轉(zhuǎn)向用戶注冊頁而,輸入用戶信息后捉交,系統(tǒng)進 行用戶名唯一性檢測,如果用戶名唯一,則進入下一步保存用戶信息;否則返 回注冊頁面,提示用戶“用戶名已存在! ”。存儲用戶信息時,把用戶輸入的密碼進行md5加密處理,生成32位的字
45、符串,并把結(jié)果保存到數(shù)據(jù)庫小。當(dāng)用戶進行登錄操作時,同樣把輸入的密碼 進行md5處理,并與數(shù)據(jù)庫屮的字符串進行比對,如果兩個字符串一致,則 說明輸入的密碼正確。用戶注冊和用戶登錄的時序圖如下圖所示:瀏臨用戶user act io n仁請求用戶注冊()2 :返回注冊頁面()3:填寫用戶信息并提交()userserviceuser dao4:用戶名唯一性檢測()7:填寫用戶名和密碼()9 :根據(jù)用戶名和密碼査諂用戶信息()5:保存用戶信息()片 6 :保存數(shù)據(jù)到數(shù)據(jù)庫()|圖34用八注冊和登錄流程3.2.4 視頻上傳視頻上傳功能是木系統(tǒng)的核心程序,涉及的功能點包括:大文件上傳、設(shè) 置視頻轉(zhuǎn)碼參數(shù)、
46、調(diào)用視頻轉(zhuǎn)碼程序、調(diào)用視頻截圖程序、調(diào)用獲取時長程序 和文件同步。目前視頻文件普遍較大,所以要解決通過瀏覽器上傳大文件的問題,本系 統(tǒng)支持瀏覽器上傳文件w200m。視頻文件上傳成功后,系統(tǒng)后臺自動開啟個 獨立的線程進行視頻轉(zhuǎn)碼操作,轉(zhuǎn)碼完成后再進行視頻截圖、取視頻吋長和同 步視頻文件操作,視頻上傳的時序圖如下圖所示:添加彭片其它設(shè)盍名稱:分類:電影地區(qū):中國主演:1級: 導(dǎo)演:對白:國語發(fā)行年份:2000視頻:測覽|t冏心 tp a b z u <2 k » s |= :=y a 慕動劇情簡介:圖35視頻上傳頁面視頻上傳時序圖如下圖所示:圖36視頻上傳時序圖videoservi
47、ce是視頻對象的業(yè)務(wù)處理類,關(guān)于視頻對象的業(yè)務(wù)操作都在 此類中完成,videoservice類引用了 converter類,converter類是視頻轉(zhuǎn)碼 類,視頻轉(zhuǎn)碼操作、截圖和獲取視頻時長操作都由此類完成。相關(guān)流程和代碼 如下:開始圖37視頻上傳流程圖視頻上傳vidcoscrvicc類相關(guān)代碼如s:/ *保存上傳的視頻* param entity視頻實體對象* param vediofile 視頻文件* param videofi 1 ename 視頻文件名* throws ioexception* throws parseexception* throws nosuchalgorithm
48、exceptionthrowsthrowssearchlibexceptionurisyntaxexceptionthrowsthrowsinstantiationexceptionillegalaccessexceptionthrowsclassnotfoundexceptionthrowshttpexceptionthrows namingexceptionpublic void save(video entityz file vediofile, string videofilename) throws ioexception, parseexception, nosuchalgorit
49、hmexception, searchlibexception, urisyntaxexcept ion, inst&ntiationexception, illegalaccessexception, classnotfoundexception, httpexcept ion z namingexception /圖片文件上傳路徑string imagepath = pathutigetremifmth+ video.imagepath +constantsseparator;/視頻文件上傳路徑string videopath = pathutils.getrealpath ()
50、+ video.videopath +constantsseparator;/上傳視頻文件if(stringutils.isnotblank(videof ilename) ) /獲収上傳文件的擴展名string post fix = fileutils.get ext ens ion(videofilename);/生成新的視頻文件名string filename = videopath + fileutils.getfilename()+postfix;/生成新的圖片文件名string imagename = fileutils. getfil ename ()+ ,f jpg,f;/目標(biāo)
51、視頻文件file destfile = new file(filename);fileutils copyfue (vediofile, destfile) ;/復(fù)制視頻文件/設(shè)置視頻實例的視頻文件名屬性entity-setvideofile (destfile-getname ();enti ty. set vfi lename (videofilename) ; /保存原視頻文件名entity. setlmagefile ( imagename ) ;/ / 視頻截圖entity . setfzg (constants . flag_converting) ;/默認狀態(tài): 卅核通過/如果上
52、傳的視頻文件是flv格式,則不需要轉(zhuǎn)碼if(st ringut i1s.isnotblank(postfix) &&postfix.tolowercase() .indexof(n f1v n)= 一1) /啟動視頻轉(zhuǎn)碼線程converterrunimp1 converimpl = new converterrunimp1 (); converimpl.setfilename(entity);converimpl.setvideopath(videopath);thread converthread = new thread (converimpl); converthread.start();else /不需要轉(zhuǎn)碼,直接截圖和獲取時長/啟動視頻截圖線程capturerunimp1 capturelmpl = new capturerunlmp(); capturelmpl.setfilename(f ilename);capturelmpl setlmagenamrimagepdth + imagename); thread capturethread = new thread (c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 摻混肥包裝標(biāo)識管理辦法
- 承德摩托車管理辦法規(guī)定
- 普陀區(qū)活動策劃管理辦法
- 村便民服務(wù)大廳管理辦法
- 青島科研用地管理辦法
- 哈爾濱房屋租賃管理辦法
- 企業(yè)商務(wù)紀(jì)念品管理辦法
- 揚州市點火開關(guān)管理辦法
- 公交車營運線路管理辦法
- reits發(fā)行管理辦法
- 結(jié)構(gòu)工程師招聘面試題與參考回答(某世界500強集團)2025年
- 沐足行業(yè)嚴(yán)禁黃賭毒承諾書
- 天然氣的供應(yīng)保障與應(yīng)急響應(yīng)考核試卷
- 分級護理課件教學(xué)課件
- 玻璃幕墻發(fā)展趨勢
- 倉庫溫濕度管理制度
- 甘肅省白銀市2024-2025學(xué)年八年級上學(xué)期期中考試物理試卷(含答案)
- 虹橋商務(wù)區(qū)核心區(qū)一期及南北片區(qū)集中供能專項規(guī)劃
- DB34-T 4800-2024 退化天然林生態(tài)修復(fù)技術(shù)規(guī)程
- 一種紅外線圖像識別的變壓器綜合溫度監(jiān)測裝置
- GB/T 44260-2024虛擬電廠資源配置與評估技術(shù)規(guī)范
評論
0/150
提交評論