🎯 一、项目目标
构建一个功能完备的视频观看网站,用户可以上传、浏览、观看视频,并在观看过程中实时发送/接收弹幕。系统具备良好的性能、可扩展性与用户体验,未来可逐步扩展为多媒体平台。
👤 二、用户角色分析
用户类型 | 权限 |
---|
访客 | 浏览视频、搜索、注册、登录 |
普通用户 | 上传视频、评论、弹幕、收藏、点赞 |
管理员 | 管理视频内容、用户、举报信息、过滤词 |
✅ 三、核心功能需求
📹 1. 视频管理模块
- 视频上传(大文件断点续传、进度条)
- 视频转码(转成 MP4/HLS,兼容播放器)
- 视频封面生成(自动截帧)
- 视频标签/分类
- 视频观看页面
- 视频删除、编辑、权限控制(公开/私有)
🔍 2. 视频浏览与搜索
- 首页推荐(热门/最新)
- 视频分类浏览
- 视频搜索(支持关键词模糊匹配)
- 视频排行榜(按播放量、点赞量)
📺 3. 视频播放系统
- 使用视频播放器(如 Video.js)
- 自动加载清晰度(720p、1080p)
- 支持断点续播
- 播放记录、播放次数统计
💬 4. 弹幕系统(后期重点)
- 发送实时弹幕(WebSocket)
- 弹幕同步显示(与播放时间绑定)
- 弹幕过滤(敏感词、刷屏限制)
- 弹幕管理(管理员删除/封禁)
📁 5. 用户系统
- 注册 / 登录 / 登出(JWT or Session)
- 用户主页(我的视频、我的评论)
- 用户权限校验
- 用户举报功能(视频/弹幕)
❤️ 6. 社交与互动
- 视频点赞 / 收藏 / 评论
- 视频举报(含理由)
- 关注 / 粉丝系统(可选)
🛠 7. 后台管理系统
⚙️ 四、非功能性需求
类型 | 描述 |
---|
性能 | 支持高并发播放(使用 CDN 或边缘缓存) |
安全 | 限流、防盗链、鉴权(JWT),防止恶意上传 |
可扩展性 | 模块解耦,支持水平扩容 |
可用性 | 关键服务冗余(Web服务、数据库、Redis) |
视频存储 | 使用对象存储(如 MinIO、本地NAS、阿里OSS) |
日志监控 | 系统监控 + 异常日志(ELK、Prometheus) |
🧱 五、模块划分建议
模块 | 功能说明 |
---|
用户模块 | 注册、登录、信息管理 |
视频模块 | 上传、转码、播放、管理 |
弹幕模块 | 弹幕实时发送与接收 |
评论模块 | 评论、点赞、举报 |
搜索模块 | 视频搜索与推荐逻辑 |
后台管理模块 | 管理员操作、敏感词管理 |
文件模块 | 视频、封面、字幕存储等 |
推送模块 | WebSocket 实时弹幕推送 |
数据统计模块 | 播放数、互动行为分析 |
🌟 六、可扩展亮点设计
特性 | 说明 |
---|
视频CDN加速 | 使用 OSS + CDN 实现播放加速 |
分布式弹幕 | Kafka + WebSocket 实时弹幕流 |
短视频支持 | 支持竖屏视频、刷视频模式 |
观看历史 | 浏览历史、推荐算法个性化 |
AI 审核 | 使用图像识别/文本识别审核内容(进阶) |