Yolov/config.py

86 lines
2.6 KiB
Python

# 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': '',
'algoInstancesName': '',
'uavType':'',
'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
},
}