版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
I第1章引言隨著我國社會消費水平的提高,人們越來越重視生活娛樂,因此流媒體視頻點播市場得到了極大的拓展,為流媒體視頻產業的發展創造了許多有利的條件。流媒體的出現之前,如果人們想從網絡看視頻和聽音樂,他們必須下載視頻和音頻文件的計算機存儲才能點擊播放,不僅浪費了下載時間和硬盤空間,而且也不能滿足消費者的便利和確切的需要。流媒體視頻點播的發展克服了許許多多的不足之處。流媒體視頻一般指的是視頻文件的傳輸以及各種各樣壓縮技術,將影像信息放置在系統的后臺服務器上進行處理以及壓縮等等,以此使用戶可以在線上觀看,從而再也不用等待整個壓縮文件下載到個人計算機上。目前,隨著多媒體及網絡領域的相應國際標準與協議的制定,極大地促進和推動了流媒體技術的應用與發展。國際標準化組織(ISO)和國際電工委員會(IEC)下的運動圖像專家組MPEG制定的MPEG-1、MPEG-2、MPEG-4和MPEG-7等標準已經廣泛應用在廣播、電纜網絡、有線電視網(CATV)以及衛星直播等領域了;而國際電信聯盟(ITU-T)下的視頻編碼專家組VCEG制定的H.26x系列標準則在視頻點播(VOD)、數字電視、實時視頻監控、視頻會議和多媒體服務(MS)等領域應用廣泛,如H.261、H.263、H.264等。移動互聯網以“無處不在的網絡,無所不能的業務”為發展方向,隨時隨地地通過便攜式移動終端設備訪問互聯網的各種應用,已經極大改變了人們的生活方式。隨著寬帶無線接入技術及移動終端技術的快速發展,移動用戶數量迅猛增長。近幾年,通過移動互聯網接入網絡的用戶數已經遠超通過桌面互聯網訪問網絡的用戶數,如Facebook的月活躍8.45億用戶中有4.25億來自移動端,占50%;Twitter用戶中移動用戶比例為55%;早在2011年12月為止,中國網民突破5億,移動互聯網用戶達3.5億,約占總網民的70%。移動流媒體是傳統流媒體向移動互聯網的延伸,通過向連接上移動網絡(如蜂窩移動網絡、無線寬帶通信網絡等)的移動終端設備提供流式多媒體服務,結合移動終端的便利性,使用戶能夠隨時隨地地享受“實時觀看”的新型通信服務。并且移動流媒體類型眾多,除了典型的移動流媒體點播服務、在線教育及遠程監控,還包括移動流媒體消息、流媒體郵件、移動流媒體游戲、移動流媒體電話/會議、移動流媒體購物等新型的移動流媒體應用。目前,移動流媒體業務已經在很多國家和地區推出,并在某些國家和地區(日本、韓國)得到了良好的發展。3G技術的普及和4G技術的興起開創了無線通信與Internet、流媒體融合的新時代,移動流媒體業務也將迎來下一個增長點。最新的移動互聯網分析預測報告,到2016年,移動流媒體流量的年復合增長率將達到90%,移動流媒體將占據整個移動互聯網中超過70%的流量。由此可見,移動流媒體業務的發展必將對人們的生產生活帶來深遠影響。第2章可行性分析2.1技術可行性分析技術上的可行性的分析主要指的是用技術的眼光分析目前的技術水平和能力是否可以順利完成所分配的開發工作任務,以及硬件的配置和軟件的配置、各類技術人員的數量、水平等能否充分的滿足開發任務工作的的需求。我所要開發的流媒體視頻點播系統主要是處理視頻流數據,以當下的計算機硬件以及軟件和個人能力,可以滿足系統的開發與運行。本流媒體視頻網站前端采用Vue.js框架以及Element-UI的GUI組件庫、后端采用Golang作為開發語言,以及開源項目Httprouter作為后端HTTP路由、后臺數據庫采用Mysql、在前端使用Axios向后端服務器發起API請求,并通過JSON格式返回數據。2.2經濟可行性分析經濟的可行性分析旨在,例如開發本流媒體視頻點播網站所投入的資金和開發完成后,本流媒體視頻點播網站系統投入使用后所帶來的經濟收益進行對比和分析,確認所開發的系統是否會給企業帶來一定的經濟收益。隨著生活水平的提高,人們越來越注重娛樂生活的質量,對于娛樂的需求日益增大,與之對應,流媒體的發展也越顯重要。流媒體視頻點播網站是一個可以直接產生經濟效益的投資,不僅可以通過訂閱的模式為視頻的創作者帶來創收,廣告收費模式也推動了其他產業的發展。2.3操作可行性分析本流媒體視頻點播網站采用B/S架構實現,只需要通過瀏覽器就能訪問本系統。用戶面向全年齡段人群,因此操作十分簡便,只需要使用瀏覽器即可。界面采用Element-UI組件庫,設計簡約、友好,用戶可以在短時間掌握該流媒體視頻點播網站的使用方法。第3章需求分析3.1功能性需求分析本人模擬真實用戶的相關業務流程設計該系統的全部功能和特性,完成流媒體視頻點播網站的操作和使用使用權限:游客需求內容:賬號注冊賬號登錄;視頻封面列表展示;視頻搜索;視頻點播;瀏覽評論;使用權限:已登錄用戶需求內容:賬號登錄;賬號注銷;切換賬號;視頻封面列表展示;視頻搜索;視頻點播;評論瀏覽、評論發表;視頻上傳、刪除;視頻播放量統計;視頻評論數統計;3.2非功能性需求分析3.2.1性能的需求分析(1)響應的時間:通常可以容忍相應的時間大概在0.1秒之內。(2)數據的準確性:有關視頻的數據信息要求準確。3.2.2運行需求分析(1)硬件接口:本流媒體視頻點播網站不需要某種特定的硬件或者硬件的接口進行支持。(2)軟件接口:運行于LinuxOS7.0及更高版本。3.2.3其他需求分析(1)系統的并發性:本流媒體視頻點播網站對于用戶的并發性具有較高的需求。(2)系統圖容錯性:本流媒體視頻點播網站對于用戶的輸錯會有相關的信息提示,使得本系統具有一定程度的容錯。第4章概要設計4.1系統模塊總體設計在系統需求以及功能分析的基礎之上,將本網站劃分成5個主要的功能模塊。4.1.1視頻點播模塊該功能可由游客和已登錄用戶來操作。該功能實現點擊播放網站已上傳的視頻。4.1.2視頻管理模塊視頻上傳:該功能只允許已登錄用戶來進行操作,用戶可以上傳自己所創作的視頻,并且填寫有關視頻的基本信息和視頻封面。視頻刪除:該功能只允許已登錄用戶來進行操作,用戶可以刪除自己所上傳的視頻。視頻播放量統計:該功能只允許已登錄用戶來進行操作,用戶可以查看自己已上傳視頻的播放量。視頻評論數統計:該功能只允許已登錄用戶來進行操作,用戶可以查看自己已上傳視頻的評論數4.1.3用戶評論模塊提供各用戶可以在對應視頻下方發表自己的評論及見解,為用戶與用戶間提供交流的渠道。4.1.4用戶管理用戶注冊:該功能提供游客申請注冊成為本網站會員,獲取其他權限。用戶登錄:該功能提供給擁有本網站賬號的用戶登錄本系統。賬戶注銷:該功能提供給已登錄用戶退出登錄本網站。4.1.5流控模塊該功能為防止用戶或黑客惡意訪問系統從而占用占用帶寬和系統內存,提供流量控制。4.2數據庫設計數據庫的設計指的是軟件開發種的非常重要的組成部分,數據的設計是否合理、是否優秀關系到整個系統的運行效率以及后期的可維護性與可操作性。常用的數據庫有MySQL、MicrosoftSQLServer、NoSQL、MongoDB、Redis等。為了支持較大的數據量和保障安全性以及開發的便利性,本系統采用的是MySQL數據庫系統,本系統的數據庫名是video_server,總共包含了6張數據表。本網站系統數據庫主要包含以下6張數據結構表:users(用戶的基本信息表)該表用于記錄用戶的基本信息。本表的主要字段如表4.1所示。表4.1用戶基本信息表FieldTypeNullKeyDefaultExtraAliasidintNOPRINULLauto_increment唯一識別碼Login_nameVarcharYESUNINULL用戶名pwdtextNONULL密碼用戶基本信息表E-R圖如圖4.1所示。圖4.1用戶基本信息表E-R圖video_info(流媒體視頻信息表)此表用于記錄系統所有流媒體視頻的基本信息。主要字段如表4.2所示。表4.2流媒體視頻信息表FieldTypeNullKeyDefaultExtraidvarcharNOPRINULLauthore_idintYESFOREIGNNULLnametextYESNULLdisplay_ctimetextYESNULLcreate_timedatetimeYESCURRENT_TIMESTAMPDEAFULTtitletextYESNULLvideo_descriptiontextYESNULLimg_namevarcharYESNULL視頻信息表E-R圖如圖4.2所示。圖4.2視頻信息E-R圖session(session信息表)此表用于記錄用戶登錄狀態的session信息。主要字段如表4.3所示。表4.3Sesssion信息表FieldTypeNullKeyDefaultExtrasession_idtinytextNOPRINULLTTLtinytextYESNULLlogin_namevarcharYESNULLsession信息表E-R圖如圖4.3所示。圖4.3Session信息E-R圖comments(評論詳細信息表)此表用于記錄用戶對于流媒體視頻的評論信息。主要字段如表4.4所示。表4.4評論詳細信息表FieldTypeNullKeyDefaultExtraidvarcharNOPRINULLvideo_idvarcharYESNULLauthor_idintYESNULLcontenttextYESNULLtimedatetimeYESCURRENT_TIMESTAMP評論信息表E-R圖如圖4.4所示。圖4.4評論信息E-R圖video_view(視頻播放量統計表)此表用于記錄每個視頻的播放量。主要字段如表4.5所示。表4.5視頻播放量統計表FieldTypeNullKeyDefaultExtraidvarcharNOPRINULLauthor_idintYESNULLvideo_idvarcharNONULLnum_of_visitorsbigintNONULL視頻播放量統計表E-R圖如圖4.5所示。圖4.5視頻播放量統計表第5章設計與實現5.1系統首頁設計本流媒體視頻點播網站的首頁設計樣式,如圖5.1所示。圖5.1網站的首頁5.2系統功能的設計與實現5.2.1用戶管理模塊的設計與實現該模塊主要用來使游客注冊成為網站會員,已有賬號的會員登錄本網站解鎖更多權限。包括用戶注冊、用戶登錄、用戶退出、用戶切換賬號四個部分:用戶注冊,如圖5.2所示:圖5.2用戶登錄/注冊游客進入登錄/注冊頁面(http://localhost:8080/login),通過router.POST("/user/:username",Login)來接收前端Axios發送的POST請求,Login函數來作為控制器處理游客的注冊請求,成功后跳轉回到流媒體視頻網站的首頁(http://localhost:8080)。2.用戶登錄,如圖5.2所示:用戶進入登錄/注冊頁面(http://localhost:8080/login),通過router.POST("/user",CreateUser)來接收前端Axios發送的POST請求,CreateUser函數作為控制器處理用戶的登錄請求,成功后跳轉回首頁(http://localhost:8080)。切換賬號,如圖5.3所示:圖5.3切換賬戶/退出登錄用戶在主頁(http://localhost:8080)點擊頭像選擇【切換賬號】,通過清除sessionStorage的內容來清除用戶登錄的所有信息,以此限制未登錄用戶的進一步操作,做出權限控制,然后通過Vue.js的router-link跳轉至登錄/注冊頁面(http://localhost:8080/login)進行賬號切換。退出賬戶,如圖5.3所示:登錄用戶在主頁登錄用戶在主頁(http://localhost:8080)點擊頭像選擇【退出】,通過清除sessionStorage的內容來清除用戶登錄的所有信息,以此限制未登錄用戶的進一步操作,做出權限控制控制。使用this.$router.go(0)來強制刷新路由,以此來更新頁面顯示。5.2.2流媒體視頻點播模塊的設計與實現該模塊功能是為游客和用戶提供視頻點播功能。包括視頻列表展示、視頻點播兩部分組成。視頻展示列表,如圖5.4所示:圖5.4視頻展示列表游客和登錄用戶在主頁(http://localhost:8080)可以看到所有的視頻展示。前端通過API(http://localhost:8000/allvideos)請求后端服務器之后,以JSON格式得到返回的視頻數據以及視頻的詳細信息。最后在前端渲染處理得到的數據并在頁面展示。視頻點播,如圖5.5所示:圖5.5視頻點播游客和登錄用戶在主頁(http://localhost:8080)點擊其中視頻跳轉至(http://localhost:8080/watch)相關播放頁面,前端通過API(http://localhost:8000)向后端發送請求,獲取流媒體的資源以此來在前端頁面展示。5.2.3視頻管理模塊的設計與實現該模塊為用戶提供了視頻管理的相關功能。包括視頻封面展示、視頻播放量統計、視頻評論數統計、視頻上傳和視頻刪除功能。視頻上傳,如圖5.6、圖5.7所示:圖5.6視頻上傳圖5.7視頻信息填寫已登錄用戶在個人管理頁面(http://localhost:8080/channel)點擊右上角【創建】按鈕,彈出如圖5.6所示對話框。將所需要上傳的視頻拖進對話框中,通過router.POST("/upload/:vid-id",uploadHandler)來接受前端Axios發送的請求,uploadHandler函數作為控制器處理視頻上傳的請求。隨后跳轉至視頻信息填寫對話框,如圖5.7所示,填寫視頻信息點擊上傳封面,通過router.POST("/uploadimg/:img-name",uploadImgHandler)來接受前端Axios發送的請求,uploadImgHandler函數作為控制器處理視頻封面上傳的請求。點擊【確定】按鈕,,通過router.POST("/user/:username/videos",AddNewVideo)來接受前端Axios發送的請求,AddNewVideo作為控制器處理視頻信息添加。視頻播放量統計,如圖5.8所示:圖5.8視頻播放量統計已登錄用戶在視頻管理頁面中(http://localhost:8080/channel)顯示了用戶所上傳的視頻播放量信息。后端通過router.GET("/user/:username/listviews",ListVideoViewNums)接收前端Axios發送的GET請求,ListVideoViewNums函數作為控制器處理獲取視頻播放量,并通過JSON格式返回數據,之后前端渲染將視頻播放量信息與每個視頻匹配展示。每點擊一次視頻,會向后端發送一次API請求(http://localhost:8080/channel),通過router.POST("/videos/:vid-id/views",AddVideoViewNum)接收請求,AddVideoViewNum函數作為控制器增加相應視頻的信息。視頻評論數統計:已登錄用戶在視頻管理頁面中(http://localhost:8080/channel)顯示了用戶所上傳的視頻評論數。后端通過router.GET("/listcommentnums",ShowCommentNums)接收前端Axios發送的GET請求,ShowCommentNums函數作為控制器處理獲取流媒體視頻的評論數,并通過JSON格式返回給前端,前端得到數據后渲染將評論數與每個視頻做匹配后展示。第6章系統測試6.1單元測試軟件的單元測試是旨在對軟件中的最小的可以測試單元進行檢驗。對于單元測試中單元的含義,用稍微通俗的話來描述,是要對真實情況去辨別具體的內容??偟膩碚f,單元就是人為規定的最小的被測功能模塊。單元測試是在軟件開發過程中要進行最低級別的測試活動,軟件的獨立單元是要處于與程序的其他部分互不干涉的情況下所測試的。(1)用戶的注冊測試若用戶沒有本流媒體視頻網站的賬戶,在賬戶輸入框中輸入所要注冊的賬戶明,在密碼輸入框中輸入密碼,點擊【注冊】(2)用戶登錄測試若用戶已擁有本流媒體視頻網站的賬戶,在賬戶輸入框中輸入所要注冊的賬戶明,在密碼輸入框中輸入密碼,點擊【登錄】(3)流媒體列表展示測試用戶或游客在瀏覽器地址欄輸入本流媒體視頻網站地址,跳轉至本網站。本網站將視頻封面、視頻標題、視頻作者等展示出來。(4)流媒體視頻上傳測試用戶登錄成功本流媒體視頻網站后,點擊本流媒體視頻網站右上方進入視頻管理頁面,在視頻管理頁面點擊【創建】按鈕,選擇所要上傳的視頻,點擊【下一步】,填寫所要上傳視頻的基本信息,點擊【上傳封面】按鈕選擇所要上傳視頻的封面,最后點擊【確定】按鈕,完成視頻上傳。(5)用戶發表評論測試用戶成功登錄本流媒體視頻網站后,點擊主頁任意視頻,進入視頻點播頁面,將頁面拖至視頻下方,在評論輸入框輸入評論,點擊【評論】按鈕發表評論。(6)查看用戶評論測試用戶或游客點擊主頁任意視頻,進入視頻點播頁面,將頁面拖至視頻下方,可以查看該視頻下所有用戶對該視頻的評論。6.2集成測試軟件的集成測試是指單元測試的邏輯擴展。它將兩個最簡單的測試單元組合進一個組件中,并測試它們之間的接口。在這個意義上,組件指的是多個單元的集成和聚合。在實際的方案中,許多單元被組合成組件,而這些組件又被聚合成程序中更大的一部分。該方法是對片段的組合進行測試,最后將其擴展為一個流程,并與其他組的模塊一起對模塊進行測試。最后,對構成流程的所有模塊一起進行測試。我將組合所有的功能模塊,再次測試每個模塊的子功能。測試后,我發現每個單元之間沒有沖突或接口問題,并完成了集成測試。6.3系統測試系統測試。這是對本流媒體視頻點播網站系統的測試。因此將硬件、軟件和操作人員三類作為一個個體來檢驗是否不符合系統規范。軟件系統的測試可以發現系統的分析和設計中的各類不正確的地方。比如說安全測試是測試軟件的安全措施是否真的可靠,以及系統是否可以免受非法入侵。另一個例子,壓力測試是測試系統在正常的數據量和過載下能否可以正常的工作,例如多個用戶同時訪問。(1)安全測試當系統管理員或用戶訪問時,系統是加密的,通常無法連接錯誤的密碼來工作。(2)壓力和性能測試通過以相當快的頻率單擊系統的每個功能或記錄大量數據,可以發現系統能夠更好地承受壓力并穩定地工作。6.4驗收測試軟件的驗收和和軟件的檢查測試是軟件部署前的最后的一次測試行為。本軟件產品流媒體視頻點播系統的單元測試、集成測試和系統測試后,軟件產品發布前的測試活動。這是技術測試的最后階段,也稱為交付測試。驗收和檢查測試的目的是確保軟件已經準備好,最終用戶可以使用它來執行軟件的既定功能和任務。(1)測試alpha在系統完成后,我用不同類型的模擬用戶對系統進行了測試,發現了一些非常嚴重的軟件缺陷,并試圖修復系統的缺陷。(2)beta測試通過alpha測試后,我邀請同學們測試beta系統,并提出了一些異常和建議。結論此次畢業設計讓我受益匪淺,一次完整的軟件開發讓我更了解件項目的開發流程以及合理地運用編程技術實現系統的開發,也讓自己了解到自己的許多不足之處。在畢業設計選題前,我有對市場流媒體視頻網站做過一定的調查,隨著經濟發展,人們生活提高,對精神娛樂的需求愈發強烈,因此誕生了騰訊視頻、Bilibili、愛奇藝等流媒體視頻點播網站,其次流媒體視頻對高并發、高性能有迫切的需求,因此在這種情況下,我選擇了Golang作為基石開發流媒體視頻點播網站。此次在設計本流媒體視頻時,后端我選擇了Golang作為編程語言,后端路由選擇了一款優秀的開源項目httprouter,以此作為MVC框架中的Model和Controlle
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 涂層后處理工安全素養模擬考核試卷含答案
- 工藝染織品制作工安全素養競賽考核試卷含答案
- 石油產品精制工崗位技術落地考核試卷含答案
- 鍋爐卷板工沖突管理評優考核試卷含答案
- 護工基礎理論強化考核試卷含答案
- 罐頭封裝工測試驗證測試考核試卷含答案
- 化工企業作業視頻監控系統管理指導書范本
- 美國職業發展規劃指南
- 消防控制中心面積標準
- 2026年衛星物聯網通信檔案館數字化
- 農藥GLP實驗室建設指南
- 枸杞中枸杞多糖含量的測定 高效液相色譜法 征求意見稿
- 料場變更施工方案(3篇)
- 國有企業股份轉讓可行性研究報告
- 魚刺卡喉嚨科普
- 神經重癥患者腦電圖監測解讀
- OEE培訓教學課件
- 零內耗培訓課件
- 廣西醫療機構病歷書寫規范與治理規定(第三版)
- 新版《檢驗檢測機構資質認定評審準則》(2023版)內部審核檢查表示例
- 慢性阻塞性肺疾病護理策略
評論
0/150
提交評論