天天看點

山燭視訊技術員交接部落格

這個作業屬于哪個課程 軟體工程2021春軟體工程W班(FZU)
個人學号 221801435 221801424
作業要求 作業連結
作業目标 為山燭視訊平台項目交接鋪路
參考文獻 山燭視訊平台開發部落格

項目文檔連結以及項目倉庫位址

項目倉庫位址

我們使用阿裡巴巴旗下的Teanbition協作軟體開發,其中所有的代碼都上傳至倉庫

文檔連結

需求規格說明書

包括項目背景、使用場景、界面原型、功能驗收标準等内容。

連結:​​https://pan.baidu.com/s/1_hBBA6eg8cQDxdgN9bildg​​

提取碼:jdpd

系統設計說明書

包括體系結構設計、類圖設計、功能子產品設計、互動接口設計等内容。

連結:​​https://pan.baidu.com/s/1t5Ep5PGWxemGOByN9vkg4w​​

提取碼:3cvk

資料庫設計說明書

資料庫表設計,以及一些約定。

連結:​​https://pan.baidu.com/s/1repBPEtgHCA4ScsxFNFJNw​​

提取碼:p3xf

項目可運作連結

目前項目已部署在伺服器上,可通路位址為:山燭視訊平台

若不可通路請咨詢技術員。

功能介紹和使用說明

登入注冊

就是普通的登入和注冊,注意按照提示輸入,滿足限制。

山燭視訊技術員交接部落格
山燭視訊技術員交接部落格

首頁

從首頁可以看到,我們網站的主要功能點有四個:視訊觀看、讨論、捐贈以及個人中心(用于上傳視訊、管理視訊等)。

山燭視訊技術員交接部落格

首頁有使用者推薦子產品:

山燭視訊技術員交接部落格

以及按照不同的視訊類型,推薦的不同的視訊,有不同的排行榜:

山燭視訊技術員交接部落格
山燭視訊技術員交接部落格

可以在最頂部的搜尋框搜尋你想看的内容:

山燭視訊技術員交接部落格

視訊播放

點選一個具體的視訊,即可播放。視訊播放以分P的方式進行,同時下方也可以讓使用者進行評論。(需要登入才能評論)

山燭視訊技術員交接部落格
山燭視訊技術員交接部落格

讨論

在首頁左側邊欄中選擇讨論區,即可進入讨論頁面。

山燭視訊技術員交接部落格

使用者可以浏覽問題,也可以在頁面清單的最底端發表問題。

山燭視訊技術員交接部落格
山燭視訊技術員交接部落格

捐贈

在首頁左側邊欄中選擇捐贈區,即可進入捐贈頁面。

山燭視訊技術員交接部落格

可以參加捐贈活動,也可以通路其他網站的捐贈活動。

山燭視訊技術員交接部落格
山燭視訊技術員交接部落格

個人中心

該區域主要提供視訊管理功能和志願者身份申請功能、隻有稽核通過成為志願者,才能釋出視訊。

山燭視訊技術員交接部落格

待完善的功能

視訊推薦算法部分

排序模型的實作

山燭視訊技術員交接部落格

參照YoutubeNet模型,目前隻完成了召回模型部分(即上圖的candidate generation部分内容),而排序部分尚未完成(即ranking部分),訓練排序部分的模型需要記錄下使用者觀看每個視訊的時間,這裡還需要對後端進行修改。

山燭視訊技術員交接部落格

此外,希望能補充一些使用者真實使用的資料集用于訓練(可以找找公開的,對已有資料集進行修改也是可以的,或者利用爬蟲去爬别的網站的資料)。

常用資料集的下載下傳位址可以參考這篇部落格

冷啟動問題

當使用者的曆史資料不足時,網站無法達到比較好的推薦效果,該問題被稱為推薦系統“冷啟動”問題。在該問題還未解決的情況下,本網站采用随機推薦的方式。

然而可以有更好的解決方法,具體可以參照這篇文章。

後端部分

接口設計問題

對于一些接口設計可以進行适當的簡化,讓不需要擷取的資料不用傳回,減少資料量,加快接口請求和資料渲染的速度。具體看看 ​​接口文檔​​

線程污染

在使用pagehelper時出現了線程污染問題,在測試時候發現問題,還未解決,後續直接是改為了單線程進行,可以進行完善并且解決問題。

前端部分

代碼可複用性差

因為本次項目開發中,每個子產品有不同的人進行代碼編寫,是以每一個子產品可複用的部分并沒有得到複用,在代碼複審中發現了很多問題,有部分沒得到解決,如分頁器沒有分離出來等。

視訊播放器問題

視訊播放器使用的是vue-video-player,該播放器隻支援mp4格式,可以使用較好的播放器如flv去替換他,能夠支援更多格式的視訊。

部署問題

因為資料量較大,在壓力測試的時候就出現了問題,在伺服器上傳較大的視訊時候,就會出現相應的卡頓等,在人數大于5的時候就會讓一核的伺服器出現承受不了的問題。

在部署上我們嘗試了将算法部署在一台伺服器上,後端一台伺服器上,前端一台伺服器上,但是伺服器性能較差,看看如何解決好。

可以開發的新功能

視訊增強

伺服器端視訊增強

在伺服器端運作srcnn或者其他的視訊增強算法,對使用者上傳的視訊進行增強,消除視訊上傳過程中可能出現的失幀現象。

這裡是否增強可以由客戶決定,例如:

山燭視訊技術員交接部落格

在藍色方框處提供一個“視訊品質提升按鈕”,當使用者送出請求之後,再對原視訊進行增強處理,這樣可以降低伺服器運算量。

用戶端視訊增強(工作量和難度較大)

一些偏遠地區網速可能不夠快,進而導緻視訊播放卡頓的情況出現。

解決方法:

利用C#或者java(例如Neuroph架構,這個要去學一下如何使用)編寫srcnn神經網絡和視訊播放器,将視訊播放器和視訊增強子產品內建起來,對視訊進行實時增強,使得使用者能夠以低清的流量看高清的視訊,減少網絡帶寬,提高播放流暢度。

如何适配手機端

在設計前并沒有想到要開發手機端的網頁,是以在開發中并沒有做出對應的适配,可以嘗試如何修改好代碼。

直播流

難度較大,網上資料較少,可以多百度百度。

繼續閱讀