Spaces:
Running
Running
| """ | |
| Configuration settings for the video translator application. | |
| """ | |
| import os | |
| from pathlib import Path | |
| from dotenv import load_dotenv | |
| # Load environment variables from .env file | |
| load_dotenv() | |
| # Base directory | |
| BASE_DIR = Path(__file__).resolve().parent | |
| # API Keys | |
| ASSEMBLYAI_API_KEY = os.getenv("ASSEMBLYAI_API_KEY") | |
| if not ASSEMBLYAI_API_KEY: | |
| raise ValueError("ASSEMBLYAI_API_KEY is not set in environment variables or .env file") | |
| # Output directory | |
| OUTPUT_DIR = Path(os.getenv("OUTPUT_DIR", BASE_DIR / "outputs")) | |
| OUTPUT_DIR.mkdir(exist_ok=True) | |
| # Temp directory for processing | |
| TEMP_DIR = OUTPUT_DIR / "temp" | |
| TEMP_DIR.mkdir(exist_ok=True) | |
| # Debug mode | |
| DEBUG = os.getenv("DEBUG", "False").lower() == "true" | |
| # Supported languages | |
| LANGUAGES = { | |
| "English": "en", | |
| "Spanish": "es", | |
| "French": "fr", | |
| "German": "de", | |
| "Japanese": "ja", | |
| "Hindi": "hi", | |
| "Chinese (Simplified)": "zh-CN", | |
| "Russian": "ru", | |
| "Italian": "it", | |
| "Portuguese": "pt", | |
| "Arabic": "ar", | |
| "Korean": "ko" | |
| } | |
| # TTS voice mapping for different languages | |
| TTS_VOICES = { | |
| "en": "en-US", | |
| "es": "es-ES", | |
| "fr": "fr-FR", | |
| "de": "de-DE", | |
| "ja": "ja-JP", | |
| "hi": "hi-IN", | |
| "zh-CN": "zh-CN", | |
| "ru": "ru-RU", | |
| "it": "it-IT", | |
| "pt": "pt-BR", | |
| "ar": "ar", | |
| "ko": "ko" | |
| } | |
| # FFmpeg configurations | |
| FFMPEG_AUDIO_PARAMS = { | |
| "format": "wav", | |
| "codec": "pcm_s16le", | |
| "sample_rate": 44100, | |
| "channels": 2 | |
| } | |
| # Application settings | |
| MAX_VIDEO_DURATION = 600 # in seconds (10 minutes) | |
| MAX_UPLOAD_SIZE = 500 * 1024 * 1024 # 500 MB | |
| SUBTITLE_FONT_SIZE = 24 | |
| MAX_RETRY_ATTEMPTS = 3 | |