Files
video-converter/config.py.example
2025-11-02 21:02:58 +01:00

57 lines
1.6 KiB
Plaintext

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_"