import os # Default video and audio settings for DaVinci Resolve compatibility (Free Linux version) # Based on DaVinci Resolve 18 Supported Codec List and web search recommendations. # Target 1080p60 and 1440p60 DEFAULT_VIDEO_CODEC = "dnxhd" # DNxHD profile mapping for different quality levels and resolutions DNXHD_PROFILES = { 'low': { '1080p': "dnxhr_lb", # Low Bandwidth '1440p': "dnxhr_sq", # Standard Quality (for higher res, LB might be too low) }, 'medium': { '1080p': "dnxhr_sq", # Standard Quality '1440p': "dnxhr_hq", # High Quality }, 'high': { '1080p': "dnxhr_hq", # High Quality '1440p': "dnxhr_hqx", # High Quality X }, 'archive': { '1080p': "dnxhr_hqx", # High Quality X '1440p': "dnxhr_444", # 4:4:4 (highest quality) }, } DEFAULT_QUALITY_LEVEL = 'medium' # Used if no quality is specified DEFAULT_VIDEO_PIX_FMT = "yuv422p" # Common for DNxHD/HR DEFAULT_CONTAINER = ".mov" DEFAULT_AUDIO_CODEC = "pcm_s16le" # Linear PCM 16-bit little-endian # FFmpeg global options FFMPEG_GLOBAL_OPTIONS = [ "-hide_banner", "-loglevel", "info", ] # FFprobe global options FFPROBE_GLOBAL_OPTIONS = [ "-v", "error", ] # Path to bundled ffmpeg/ffprobe binaries (to be set by PyInstaller hook or similar) # For development, assume they are in PATH FFMPEG_PATH = os.environ.get("FFMPEG_PATH", "ffmpeg") FFPROBE_PATH = os.environ.get("FFPROBE_PATH", "ffprobe") FFMPEG_LOG_FILE_PATH = "ffmpeg_output.log" # Output file naming conventions OUTPUT_SUFFIX = "_DR_compatible" OUTPUT_PREFIX = "recoded_"