68 lines
2.2 KiB
Python
68 lines
2.2 KiB
Python
#!/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/<task_id> - 查询异步任务状态")
|
||
print(" GET /api/tasks - 所有任务列表")
|
||
print()
|
||
print(" 文件下载:")
|
||
print(" GET /download/<file_id>/<filename> - 下载处理后的文件")
|
||
print(" GET /frames/<job_id>/<filename> - 下载视频帧/音频文件")
|
||
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() |