一个短视频服务端, 原项目shortVideo, 基于Django REST framework 和ffmpeg, 并提供 RESTful API 接口。
- 新增基于WebSocket的即时通讯服务 2019-8-19
- ubuntu 16.04
- python3.6
用户认证使用JWT(json web token)认证方式
- ffmpeg 安装ffmpeg
sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next
sudo apt-get update
sudo apt-get install ffmpeg
- mediainfo 安装mediainfo
sudo add-apt-repository ppa:shiki/mediainfo
sudo apt-get update
sudo apt-get install mediainfo mediainfo-gui
- redis-server 安装redis-server
sudo apt-get install -y python-software-properties
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:chris-lea/redis-server
sudo apt-get update
sudo apt-get install -y redis-server
- 创建python虚拟环境
mkvirtualenv -p /usr/bin/python3 videohub
- 安装Django project 依赖
pip install -r requirements.txt
- 在VideoHub目录下创建
private_config.py
,此文件用于存储云片apikey, 添加YUNPIAN_APIKEY = ''
cd video-hub
vim VideoHub/private_config.py
- 创建数据库
create database videohub charset=utf8;
- 生成数据库
# 1. 创建更改的文件
python manage.py makemigrations
# 2. 将生成的py文件应用到数据库
python manage.py migrate
- 创建管理员
python manage.py createsuperuser
- 收集静态文件
python manage.py collectstatic --noinput
- 运行项目
python manage.py runserver 8000
- 清空数据库 (需要时再执行)
python manage.py flush
# 此命令会询问是 yes 还是 no, 选择 yes 会把数据全部清空掉,只留下空表。
可参照Ubuntu 16.04 上使用Nginx、 Gunicorn、supervisor 部署django项目, 这里面记录我多次实践的过程