Skip to content

分布式Web短视频应用,具有完善的视频浏览、交互、上传、点赞评论等短视频应用功能,七牛云编程马拉松比赛参赛作品

Notifications You must be signed in to change notification settings

qing-wq/FleetingFlow

Repository files navigation

FleetingFlow

GitHub Last Commit Apache License

—— Web 短视频项目(后端)

队伍:不想起名

前端仓库:https://github.com/LunaSekiii/qiniu-shortvideo

演示Demo:https://github.com/qing-wq/FleetingFlow/blob/master/imgs/FleetingFlowDemo.mp4

备用链接: https://pan.baidu.com/s/1-WBUI5S3ctbFOYWPo2WuVg?pwd=w4h3 提取码: w4h3

项目文档:https://github.com/qing-wq/FleetingFlow/blob/master/doc.pdf

环境要求

环境要求:由于FleetingFlow-backend使用分布式架构、ElasticSearch搜索引擎等,并且部署了基于Transformer的深度学习模型BERT,所以内存空间占用较多。

  • 至少需要41G内存空间
  • 至少需要6.5G磁盘空间

项目架构图

59783EEC088A18CA7530C7AC68426316

页面展示

Qiniu Shortvideo Frontend

Qiniu Shortvideo Frontend (1)

Qiniu Shortvideo Frontend (2)

项目部署

Docker部署

FleetingFlow-backend使用docker封装,项目启动:

# 使用Maven构建jar,并启动容器
bash run.sh

# 接下来导入ElasticSearch数据
bash es_init.sh

源代码部署

使用Maven读取pom文件即可,可分别运行各种微服务。

部署现有 SQL 数据

运行 ./backend/document/data.sql,即可导入现有的数据,能够正常实现视频的播放等功能。

AI应用部署

Docker部署

cd /path/to/FleetingFlow/machine-learning

# 通过 Dockerfile 构建镜像
docker build -t fleetingflow_ml:latest .

# 运行构建好的镜像,会自动使用 Supervisor 运行 3 个 AI 应用(标题分类、)
docker run -p 7670:7670 -p 7671:7671 -p 7672:7672 fleetingflow_ml

源代码部署

首先安装依赖:

pip install pytorch_pretrained_bert jieba gensim gradio
cd ./recommender-system
pip install -r requirements.txt
cd .. 
wget http://s3anmft1h.hn-bkt.clouddn.com/machine-learning/bert.ckpt -O ./title-classification/THUCNews/saved_dict/bert.ckpt
wget http://s3anmft1h.hn-bkt.clouddn.com/machine-learning/pytorch_model.bin -O ./title-classification/bert_pretrain/pytorch_model.bin

之后运行即可:

# 推荐系统
cd ./recommender-system
python rs_main.py
# Tags 推荐
cd tags-recommender
python main.py
# 标题分类
cd ./title-classification
python predict.py

API文档

地址:https://github.com/qing-wq/FleetingFlow/blob/master/api.md

测试

测试帐号:admin

测试密码:123456

About

分布式Web短视频应用,具有完善的视频浏览、交互、上传、点赞评论等短视频应用功能,七牛云编程马拉松比赛参赛作品

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages