#!/usr/bin/env python3 """ 启动GMapiServer的启动脚本 包含所有功能:FFmpeg处理、Sanjuuni处理、视频帧提取 """ import os import sys import logging from main import app # 配置日志 logging.basicConfig( level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s', handlers=[ logging.StreamHandler(sys.stdout), logging.FileHandler('server.log') ] ) def main(): print("🚀 GMapiServer 启动中...") print("=" * 50) print("📋 可用功能:") print(" • FFmpeg媒体处理 (同步/异步)") print(" • Sanjuuni工具处理 (同步/异步)") print(" • 视频帧提取 (异步,支持B站BV号)") print() print("🔧 配置信息:") print(f" 端口: 5000") print(f" 临时文件目录: temp_files/") print(f" 视频帧目录: frames/") print(f" 清理间隔: 1小时") print() print("🔗 API 端点:") print(" 同步接口:") print(" POST /api/ffmpeg - FFmpeg处理") print(" POST /api/sanjuuni - Sanjuuni处理") print() print(" 异步接口:") print(" POST /api/ffmpeg/async - 异步FFmpeg处理") print(" POST /api/sanjuuni/async - 异步Sanjuuni处理") print(" POST /api/video_frame/async - 异步视频帧提取") print(" GET /api/task/ - 查询异步任务状态") print(" GET /api/tasks - 所有任务列表") print() print(" 文件下载:") print(" GET /download// - 下载处理后的文件") print(" GET /frames// - 下载视频帧/音频文件") print() print(" 其他:") print(" GET /health - 健康检查") print(" GET /api/tasks - 任务列表(调试)") print("=" * 50) print() print("🌐 服务器地址: http://0.0.0.0:5000") print("🔄 自动清理机制已启用 - 临时文件将在2小时后自动删除") print() # 启动Flask应用 from file_cleanup import start_cleanup_thread start_cleanup_thread() app.run(host='0.0.0.0', port=5000, debug=False, threaded=True) if __name__ == '__main__': main()