Initial commit

This commit is contained in:
Hannes Braun 2022-12-10 14:01:39 +01:00
commit 10a812024c
Signed by: hannesbraun
GPG Key ID: 7B6557E1DFD685BE
1 changed files with 41 additions and 0 deletions

41
main.py Normal file
View File

@ -0,0 +1,41 @@
import argparse
import subprocess
import yaml
# Hannes' AV1 wrapper script
# Version 1.0.0
parser = argparse.ArgumentParser(prog="hav1w")
parser.add_argument("input")
parser.add_argument("output")
parser.add_argument("preset")
parser.add_argument("--crf")
parser.add_argument("--ba")
parser.add_argument("--alayout")
parser.add_argument("--cpu")
parser.add_argument("--mf")
args = parser.parse_args()
with open("av1_presets.yml", "r") as stream:
presets = yaml.safe_load(stream)
preset = presets[args.preset]
if args.crf is not None:
preset["crf"] = args.crf
if args.ba is not None:
preset["ba"] = args.ba
if args.alayout is not None:
preset["alayout"] = args.alayout
if args.cpu is not None:
preset["cpu"] = args.cpu
if args.mf is not None:
preset["mf"] = args.mf
cmd = ["ffmpeg", "-i", args.input, "-c:v", "libaom-av1", "-c:a", "libopus", "-c:s", "copy", "-map", "0",
"-crf", preset["crf"], "-b:v", "0", "-b:a", preset["ba"],
"-af", f"aformat=channel_layouts={preset['alayout']}", "-mapping_family", preset["mf"],
"-cpu-used", preset["cpu"], "-row-mt", "1", "-tiles", "2x2", args.output]
p = subprocess.run(cmd)
exit(p.returncode)