Initial commit
This commit is contained in:
commit
10a812024c
|
@ -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)
|
Loading…
Reference in New Issue