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

2.7 KiB
Raw Permalink Blame History

视频上传和定时发布功能使用说明

本文档介绍如何使用系统提供的视频上传和定时发布功能。

前提条件

  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创建。

上传视频并设置定时发布

使用以下命令上传视频并计划发布:

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

手动发布视频

如果要立即发布视频,可以使用以下命令:

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失败