| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import os
- def _get_bool(name: str, default: bool) -> bool:
- value = os.getenv(name)
- if value is None:
- return default
- return value.strip().lower() in {"1", "true", "yes", "on"}
- def _get_int(name: str, default: int) -> int:
- value = os.getenv(name)
- if value is None:
- return default
- try:
- return int(value)
- except ValueError:
- return default
- class Settings:
- CAMERA_CONFIG = {
- "cam01": "rtsp://admin:password@192.168.1.10:554/live/ch0",
- # 可扩展多个摄像头
- }
- OUTPUT_DIR = os.getenv("OUTPUT_DIR", "./records")
- MAX_TASK_SECONDS = _get_int("MAX_TASK_SECONDS", 60 * 10) # 10 分钟超时
- # 日志配置
- LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO")
- # 存储配置
- STORAGE_TYPE = os.getenv("STORAGE_TYPE", "minio").strip().lower()
- # 上传后是否删掉本地视频
- DELETE_LOCAL_AFTER_UPLOAD = _get_bool("DELETE_LOCAL_AFTER_UPLOAD", False)
- # MinIO 配置,默认值对齐你提供的测试代码
- MINIO_ENDPOINT = os.getenv("MINIO_ENDPOINT", "192.168.77.249:9000")
- MINIO_ACCESS_KEY = os.getenv("MINIO_ACCESS_KEY", "pZEwCGnpNN05KPnmC2Yh")
- MINIO_SECRET_KEY = os.getenv("MINIO_SECRET_KEY", "KfJRuWiv9pVxhIMcFqbkv8hZT9SnNTZ6LPx592D4")
- MINIO_SECURE = _get_bool("MINIO_SECURE", False)
- MINIO_BUCKET = os.getenv("MINIO_BUCKET", "grading")
- MINIO_BASE_PREFIX = os.getenv("MINIO_BASE_PREFIX", "monitor_video_data").strip("/\\")
- MINIO_AUTO_CREATE_BUCKET = _get_bool("MINIO_AUTO_CREATE_BUCKET", True)
- # FFmpeg 录像配置
- FFMPEG_PATH = os.getenv("FFMPEG_PATH", "ffmpeg")
- FFMPEG_RTSP_TRANSPORT = os.getenv("FFMPEG_RTSP_TRANSPORT", "tcp")
- FFMPEG_PRESET = os.getenv("FFMPEG_PRESET", "veryfast")
- FFMPEG_LOGLEVEL = os.getenv("FFMPEG_LOGLEVEL", "error")
- settings = Settings()
|