57 lines
1.6 KiB
Python
57 lines
1.6 KiB
Python
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_"
|