Nanny7's picture
Initial commit: Audio Video Generator v1.0.0
929f41f
Raw
History Blame Contribute Delete
2.55 kB
"""Configuration constants for Audio Video Generator."""
from typing import Dict, Tuple, List
# Resolution presets
RESOLUTION_MAP: Dict[str, Tuple[int, int]] = {
"landscape": (1280, 720), # YouTube style
"portrait": (720, 1280),
"square": (1080, 1080)
}
# Image file extensions
IMAGE_EXTENSIONS: Tuple[str, ...] = (".png", ".jpg", ".jpeg")
# Audio file extensions
AUDIO_EXTENSIONS: Tuple[str, ...] = (".mp3", ".wav", ".m4a", ".aac", ".flac", ".ogg", ".mp4")
# Animation options
ANIMATION_OPTIONS: List[str] = [
"none",
"zoom_in",
"zoom_out",
"fade_in",
"blink",
"pulse",
"fade_zoom_in"
]
# Animation pool for random selection
ANIMATION_RANDOM_POOL: List[str] = [
"zoom_in",
"zoom_out",
"fade_in",
"blink",
"pulse",
"fade_zoom_in"
]
# Transition options
TRANSITION_OPTIONS: List[str] = [
"none",
"fade",
"crossfade",
"slide_left",
"slide_right",
"dip_to_black",
"flash"
]
# Transition pool for random selection
TRANSITION_RANDOM_POOL: List[str] = [
"fade",
"crossfade",
"slide_left",
"slide_right",
"dip_to_black",
"flash"
]
# Text animation options
TEXT_ANIMATION_OPTIONS: List[str] = [
"zoom_in",
"fade_in",
"pop_in",
"pulse",
"slide_up",
"glow_pop",
"typewriter"
]
# Text pattern options
TEXT_PATTERN_OPTIONS: List[str] = [
"solid",
"boxed",
"highlighted"
]
# Text case options
TEXT_CASE_OPTIONS: List[str] = [
"original",
"upper",
"lower",
"title"
]
# Text alignment options
TEXT_ALIGNMENT_OPTIONS: List[str] = [
"left",
"center",
"right"
]
# Default settings
DEFAULT_OUTPUT_NAME: str = "output.mp4"
DEFAULT_WHISPER_MODEL: str = "base"
MIN_EFFECT_DURATION: float = 2.0
DEFAULT_TEXT_PREVIEW_SIZE: Tuple[int, int] = (720, 405)
DEFAULT_FONT_SIZE: int = 56
# Transition durations (seconds)
TRANSITION_DURATIONS: Dict[str, float] = {
"none": 0.0,
"fade": 0.35,
"crossfade": 0.55,
"slide_left": 0.45,
"slide_right": 0.45,
"dip_to_black": 0.45,
"flash": 0.30
}
# Font path candidates (system-dependent)
FONT_CANDIDATES: Dict[str, List[str]] = {
"DejaVu Sans Bold": [
"/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf"
],
"DejaVu Serif Bold": [
"/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf"
],
"Liberation Sans Bold": [
"/usr/share/fonts/truetype/liberation2/LiberationSans-Bold.ttf",
"/usr/share/fonts/truetype/liberation/LiberationSans-Bold.ttf"
]
}