daren_project/README_VIDEO_UPLOAD.md
2025-04-29 10:22:57 +08:00

105 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 视频上传和定时发布功能使用说明
本文档介绍如何使用系统提供的视频上传和定时发布功能。
## 前提条件
1. 已安装所有依赖包:
```
pip install -r requirements.txt
```
2. 确保Redis服务已启动用于Celery任务队列
```
redis-server
```
3. 启动Celery Worker处理后台任务
```
celery -A role_based_system worker -l info
```
4. 启动Celery Beat处理定时任务
```
celery -A role_based_system beat -l info
```
## 方法一:通过命令行测试
### 准备平台账号
首先确保系统中已存在至少一个平台账号。可以通过admin界面或API创建。
### 上传视频并设置定时发布
使用以下命令上传视频并计划发布:
```bash
python manage.py test_video_upload "D:\pythonproject\role_based\role_based_system\上传视频测试.mp4" 1 --title "测试视频标题" --desc "这是一个测试视频描述" --schedule "2023-08-10 15:30:00"
```
参数说明:
- 第一个参数:视频文件路径
- 第二个参数平台账号ID
- `--title`:视频标题(可选,默认使用文件名)
- `--desc`:视频描述(可选)
- `--schedule`计划发布时间可选格式YYYY-MM-DD HH:MM:SS
### 手动发布视频
如果要立即发布视频,可以使用以下命令:
```bash
python manage.py publish_video 1
```
参数说明:
- 视频ID
## 方法二通过API接口
### 上传视频
使用POST请求上传视频
```
POST /api/operation/videos/upload_video/
```
表单数据:
- `video_file`:视频文件
- `platform_account`平台账号ID
- `title`:视频标题(可选)
- `description`:视频描述(可选)
- `scheduled_time`计划发布时间可选ISO格式
- `tags`:标签(可选)
### 手动发布视频
使用POST请求立即发布视频
```
POST /api/operation/videos/{video_id}/manual_publish/
```
## 如何验证视频是否成功发布
1. 检查视频记录状态:
```
python manage.py shell
>>> from user_management.models import Video
>>> Video.objects.get(id=1).status
'published'
```
2. 查看日志记录:
```
tail -f debug.log
```
3. 通过API查询视频状态
```
GET /api/operation/videos/{video_id}/
```
## 注意事项
1. 视频文件会被保存在媒体目录(默认为 `media/videos/{platform_name}_{account_name}/`
2. 定时发布功能依赖于Celery和Redis确保这些服务正常运行
3. 本系统目前仅模拟视频发布过程实际发布到各平台需要扩展相关API
4. 默认视频状态流转draft草稿-> scheduled已排期-> published已发布或 failed失败