2025-06-22 17:24:57 -04:00

31 lines
859 B
Python

from pathlib import Path
def get_presets_dir() -> Path:
Path("./presets").mkdir(exist_ok=True)
return Path("./presets")
def parse_yaml_config(config: dict) -> list:
in_file = config.get("input_file")
out_file = config.get("output_file")
video = config.get("video", {})
audio = config.get("audio", {})
cmd = ["ffmpeg", "-y", "-i", in_file]
if video:
cmd += ["-c:v", video.get("codec", "libx264")]
if "bitrate" in video:
cmd += ["-b:v", video["bitrate"]]
if "preset" in video:
cmd += ["-preset", video["preset"]]
if audio:
cmd += ["-c:a", audio.get("codec", "aac")]
if "bitrate" in audio:
cmd += ["-b:a", audio["bitrate"]]
if "channels" in audio:
cmd += ["-ac", str(audio["channels"])]
cmd += [out_file]
return cmd