import os import secrets from pathlib import Path BASE_DIR = Path(__file__).parent.resolve() def env_default(name, default=None): return os.environ.get(name, default) class Config: VERSION = (BASE_DIR / 'VERSION').read_text().strip() SECRET_KEY = env_default('APP_SECRET_KEY', secrets.token_hex(32)) ADMIN_PASSWORD = env_default('ADMIN_PASSWORD') PUBLIC_BASE_URL = env_default('PUBLIC_BASE_URL', 'http://localhost:5000').rstrip('/') INTERNAL_PORT = int(env_default('INTERNAL_PORT', '5000')) DATABASE = Path(env_default('DATABASE', str(BASE_DIR / 'data' / 'app.db'))) UPLOAD_FOLDER = Path(env_default('UPLOAD_FOLDER', str(BASE_DIR / 'uploads'))) OUTPUT_FOLDER = Path(env_default('OUTPUT_FOLDER', str(BASE_DIR / 'outputs'))) MAX_UPLOAD_SIZE = 500 * 1024 * 1024 # 500 MB VIDEO_WIDTH = 1920 VIDEO_HEIGHT = 1080 VIDEO_FPS = 30 VIDEO_BITRATE = '5000k' AUDIO_BITRATE = '192k' VIDEO_CODEC = 'libx264' AUDIO_CODEC = 'aac' OUTPUT_FORMAT = 'mp4' YOUTUBE_PRESET = True # use faststart + yuv420p