28 lines
686 B
Python
28 lines
686 B
Python
from pydantic_settings import BaseSettings
|
|
from pydantic import ConfigDict
|
|
from typing import Optional
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
"""Application configuration from environment variables"""
|
|
|
|
model_config = ConfigDict(
|
|
env_file=".env",
|
|
env_file_encoding="utf-8",
|
|
case_sensitive=False
|
|
)
|
|
|
|
# FFmpeg and recording settings
|
|
ffmpeg_path: str = "/usr/bin/ffmpeg"
|
|
recording_dir: str = "/recordings"
|
|
|
|
# Deltacast hardware settings
|
|
deltacast_port_count: int = 8
|
|
|
|
# SRT streaming settings
|
|
srt_enabled: bool = True
|
|
srt_latency: int = 5000 # milliseconds
|
|
|
|
# Server settings
|
|
port: int = 8000
|
|
log_level: str = "INFO"
|