21 lines
1.1 KiB
Python
21 lines
1.1 KiB
Python
"""Global constants and default values."""
|
||
|
||
# Mapping from user‑friendly format names to FFmpeg format identifiers,
|
||
# file extensions, and whether the container is audio‑only.
|
||
FORMAT_INFO = {
|
||
'mp3': {'ffmpeg': 'mp3', 'ext': '.mp3', 'audio_only': True},
|
||
'm4a': {'ffmpeg': 'mp4', 'ext': '.m4a', 'audio_only': True},
|
||
'mp4': {'ffmpeg': 'mp4', 'ext': '.mp4', 'audio_only': False},
|
||
'mkv': {'ffmpeg': 'matroska', 'ext': '.mkv', 'audio_only': False},
|
||
'matroska': {'ffmpeg': 'matroska', 'ext': '.mkv', 'audio_only': False},
|
||
'ogg': {'ffmpeg': 'ogg', 'ext': '.ogg', 'audio_only': True},
|
||
'opus': {'ffmpeg': 'ogg', 'ext': '.opus', 'audio_only': True},
|
||
'flac': {'ffmpeg': 'flac', 'ext': '.flac', 'audio_only': True},
|
||
'wav': {'ffmpeg': 'wav', 'ext': '.wav', 'audio_only': True},
|
||
'aac': {'ffmpeg': 'adts', 'ext': '.aac', 'audio_only': True},
|
||
}
|
||
|
||
# Default characters to replace when --replace-bad-chars is enabled.
|
||
# Includes common punctuation, single quote, and a trailing space.
|
||
DEFAULT_BAD_CHARS = r',!@#№$;:%^&?*(){}[]\/<>+=~`\' '
|