# config.py from cryptography.fernet import Fernet def generate_model_key(): """生成模型加密密钥""" return Fernet.generate_key().decode() # config.py def get_default_config(): return { 'rtmp': { 'url': "rtmp://localhost:1935/live/14", 'max_reconnect_attempts': 20, 'reconnect_delay': 1, 'buffer_size': 1, 'timeout_ms': 5000, 'gpu_decode': True }, 'push': { 'enable_push': True, 'url': 'rtmp://localhost:1935/live/13', 'format': 'flv', 'video_codec': 'libx264', 'pixel_format': 'bgr24', 'preset': 'veryfast', 'framerate': 25, 'gpu_acceleration': False, 'tune': 'zerolatency', 'crf': 28, 'bitrate': '1500k', 'bufsize': '3000k' }, 'models': [ # 只保留多模型配置 # 默认模型配置可以在创建任务时被覆盖 ], 'task': { 'taskname': '', 'taskid': '', 'aiid': '', 'res_api': 'http://123.132.248.154:6033/api/DaHuaAi/AddImg', 'api': 'http://123.132.248.154:6033/' }, 'mqtt': { 'enable': True, 'broker': '175.27.168.120', 'port': 6011, 'topic': 'thing/product/1581F8HGX254V00A0BUY/osd', 'client_id': 'yolo_detection_client', 'username': 'sdhc', 'password': None, 'keepalive': 60 }, 'minio': { "UseSSL": False, "Endpoint": "175.27.168.120:6013", "AccessKey": "minioadmin", "SecretKey": "minioadmin", "BucketName": "test" }, 'resource_limits': { 'max_cpu_percent': 80, 'max_memory_percent': 80, 'max_gpu_memory_percent': 80, 'max_concurrent_tasks': 5, 'min_concurrent_tasks': 1, 'check_interval': 5, 'adjust_threshold': 5 }, 'model_path': 'models', # 添加上传配置 'upload': { 'enabled': True, 'max_file_size': 1024 * 1024 * 1024, # 1GB 'chunk_size': 1024 * 1024 * 5, # 5MB 'allowed_extensions': ['.pt', '.pth', '.onnx', '.engine'], 'uploads_dir': 'uploads', 'temp_dir': 'temp_uploads', 'encrypted_models_dir': 'encrypted_models', 'session_expire_hours': 24 }, }