山烛视频技术员交接博客

这个作业属于哪个课程 软件工程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神经网络和视频播放器,将视频播放器和视频增强模块集成起来,对视频进行实时增强,使得用户能够以低清的流量看高清的视频,减少网络带宽,提高播放流畅度。

如何适配手机端

在设计前并没有想到要开发手机端的网页,所以在开发中并没有做出对应的适配,可以尝试如何修改好代码。

直播流

难度较大,网上资料较少,可以多百度百度。

posted @ 2021-07-19 23:52  Fino-  阅读(455)  评论(0编辑  收藏  举报